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..405a0989a98685496918bafc568be1ccf7480be9 --- /dev/null +++ b/NGAP_ETSI.code-workspace @@ -0,0 +1,11 @@ +{ + "folders": [ + { + "path": "." + }, + { + "path": "../../../tmp/osmo-ttcn3-hacks" + } + ], + "settings": {} +} \ 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/oer_codec.hh b/ccsrc/Asn1c/oer_codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..24c14d9b7a7f16a2a7650c0b45b1515305714134 --- /dev/null +++ b/ccsrc/Asn1c/oer_codec.hh @@ -0,0 +1,42 @@ +#pragma once + +#include "params.hh" +#include "asn1_recoder.hh" + +class OCTETSTRING; +class CHARSTRING; +class BITSTRING; + +struct asn_TYPE_descriptor_s; + +template class oer_codec : public asn1_recoder +{ +public: + virtual int encode(const TPDU& msg, BITSTRING& bits) = 0; + virtual int decode(const BITSTRING& bits, TPDU& msg) = 0; + +protected: + inline int _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 = oer2xer (td, buf); + if (rc > 0) { + msg.decode(ttcn, buf, TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + rc = buf.get_len(); + } + return rc; + } + inline int _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_WARNING); + msg.encode(ttcn, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); + if (buf.get_len() > 0) { + rc = xer2oer (td, buf); + if (rc > 0) { + p_data = oct2bit(OCTETSTRING(buf.get_len(), buf.get_data())); + } + } + return rc; + } +}; 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..7c5696f53deffc8ddba184df0f3ea8905b4fc06f --- /dev/null +++ b/ccsrc/EncDec/LibNGAP_Encdec.cc @@ -0,0 +1,38 @@ +#include "loggers.hh" +#include "LibNGAP_EncdecDeclarations.hh" +//#include "ngap_codec.hh" + +namespace LibNGAP__EncdecDeclarations { + + /**************************************************** + * @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(">>> fx__enc__ProtocolIE::"); + 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..2681bd184fc716b9788542cc1279249542fddf0c --- /dev/null +++ b/ccsrc/Ports/LibNGAP/NGAPPort.cc @@ -0,0 +1,134 @@ +#include "loggers.hh" + +#include "LibNGAP_Interface.hh" +#include "NGAP_PDU_Descriptions.hh" +//#include "sctp_layer_factory.hh" +//#include "tcp_layer_factory.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()); + } + else if (static_cast(_layer) == nullptr) { + loggers::get_instance().error("NGAPPort::user_map: Invalid stack configuration - NOT TCP: %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); + 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/codec.hh b/ccsrc/Protocols/NGAP/codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..ea1625d1dba24af997635092d46f34899826b459 --- /dev/null +++ b/ccsrc/Protocols/NGAP/codec.hh @@ -0,0 +1,62 @@ +/*! + * \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_its.hh" +#include "t_layer.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 *_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_its* 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 *p_params = NULL) ;//= 0; +}; // End of class codec 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..f7a06e7d567234a96accaed8c6e7453209dcf15e --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_codec.cc @@ -0,0 +1,166 @@ +#include "ngap_codec.hh" +#include "LibNGAP_TypesAndValues.hh" +#include "asn1/asn_application.h" // from asn1c +#include "loggers.hh" +#include "NGAP_PDU_Descriptions.hh" + +template class OPTIONAL; +class TTCN_EncDec; + + +//int ngap_codec::encode(const NGAP__PDU__Descriptions::NGAP__PDU , OCTETSTRING &data) {return 0;} +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>0) { + //loggers::get_instance().log_msg("ngap_codec::encode: ", b); + //loggers::get_instance().log_msg("ngap_codec::encode: ", data); + data = bit2oct(b); + loggers::get_instance().log_msg("ngap_codec::encode: ", data); + }else{ + loggers::get_instance().log(">>> ngap_codec::encode: errcode %d", rc); + + } + return rc; + + + /*TTCN_EncDec::clear_error(); + TTCN_Buffer encoding_buffer; + encode_(ngap, *ngap.get_descriptor(), encoding_buffer); + data = OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()); + return 0;*/ +} + +int ngap_codec::encode_(const Base_Type &type, const TTCN_Typedescriptor_t &field_descriptor, TTCN_Buffer &encoding_buffer) { + loggers::get_instance().log(">>> ngap_codec::encode_: processing %s/%s", type.get_descriptor()->name, field_descriptor.name); + loggers::get_instance().log_msg(">>> ngap_codec::encode_: ", type); + + /*if (dynamic_cast(&type) != NULL) { + const Record_Type &r = (const Record_Type &)type; + // loggers::get_instance().log("btp_codec::encode_: processing Record_Type %s", r.get_descriptor()->name); + for (int i = 0; i < r.get_count(); i++) { + // loggers::get_instance().log("btp_codec::encode_: processing %s/%s/%s - %d (1 ==> use dynamic_cast) - %d", r.fld_name(i), + // r.fld_descr(i)->name, r.get_at(i)->get_descriptor()->name, r.get_at(i)->is_optional(), r.get_at(i)->is_present()); + if (r.get_at(i)->is_present()) { + if (encode_(*r.get_at(i), *r.fld_descr(i), encoding_buffer) == -1) { + // loggers::get_instance().warning("btp_codec::encode_: -1 result code returned"); + return -1; + } + } + } // End of 'for' statement + } else if (std::string(field_descriptor.name).compare("@LibItsBtp_TypesAndValues.BtpPacket.payload") == 0) { + const OPTIONAL &v = dynamic_cast &>(type); + // loggers::get_instance().log("btp_codec::encode_: BtpRawPayload present: %d", v.is_present()); + if (v.is_present()) { + if (encode_(static_cast(*v.get_opt_value()), LibItsBtp__TypesAndValues::BtpRawPayload_descr_, + encoding_buffer) == -1) { + // loggers::get_instance().warning("btp_codec::encode_: -1 result code returned"); + return -1; + } + } + } else { + // loggers::get_instance().log("btp_codec::encode_ (else): processing type %s/%s", type.get_descriptor()->name, field_descriptor.name); + type.encode(field_descriptor, encoding_buffer, TTCN_EncDec::CT_RAW); + } +*/ + loggers::get_instance().log_to_hexa("<<>> 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>0) { + loggers::get_instance().log_msg("ngap_codec::decode: ", ngap); + }else{ + loggers::get_instance().log(">>> ngap_codec::decode: errcode %d", rc); + } + return rc; + + + /* TTCN_EncDec::clear_error(); + TTCN_Buffer decoding_buffer(data); + //_params = params; + + loggers::get_instance().log_to_hexa(">>> ngap_codec::decode: decoding_buffer=", decoding_buffer); + decode_(ngap, *ngap.get_descriptor(), decoding_buffer); + + loggers::get_instance().log_msg("<<< ngap_codec::decode: ", (const Base_Type&)ngap); + + return 0;*/ +} + +int ngap_codec::decode_(Base_Type &type, const TTCN_Typedescriptor_t &field_descriptor, TTCN_Buffer &decoding_buffer) { + loggers::get_instance().log(">>> ngap_codec::decode_: processing %s/%s (%d,%d,%p)", type.get_descriptor()->name, field_descriptor.name, + decoding_buffer.get_len(), decoding_buffer.get_pos(), decoding_buffer.get_read_data()); + + /*if (dynamic_cast(&type) != NULL) { + Record_Type &r = (Record_Type &)type; + // loggers::get_instance().log("btp_codec::decode_: processing Record_Type %s", r.get_descriptor()->name); + for (int i = 0; i < r.get_count(); i++) { + // loggers::get_instance().log("btp_codec::decode_: processing %s/%s/%s", r.fld_name(i), r.fld_descr(i)->name, r.get_at(i)->get_descriptor()->name); + if (decode_(*dynamic_cast(r.get_at(i)), *(r.fld_descr(i)), decoding_buffer) == -1) { + return -1; + } + } // End of 'for' statement + } else { + // loggers::get_instance().log("btp_codec::decode_ (else): processing type %s/%s - optional:%d", type.get_descriptor()->name, field_descriptor.name, + // type.is_optional()); + if (std::string(field_descriptor.name).compare("@LibItsBtp_TypesAndValues.BtpPacket.header") == 0) { + // loggers::get_instance().log("btp_codec::decode_: _type = %d", _type); + LibItsBtp__TypesAndValues::BtpHeader &b = static_cast(type); + if (_type == btp_codec::btpA) { + decode_(b.btpAHeader(), *b.btpAHeader().get_descriptor(), decoding_buffer); + if (_params != NULL) { + (*_params)[params_its::btp_type] = std::string("btpA"); + (*_params)[params_its::btp_destination_port] = std::to_string(static_cast(b.btpAHeader().destinationPort())); + } + } else if (_type == btp_codec::btpB) { + decode_(b.btpBHeader(), *b.btpBHeader().get_descriptor(), decoding_buffer); + if (_params != NULL) { + (*_params)[params_its::btp_type] = std::string("btpB"); + (*_params)[params_its::btp_destination_port] = std::to_string(static_cast(b.btpBHeader().destinationPort())); + (*_params)[params_its::btp_info] = std::to_string(static_cast(b.btpBHeader().destinationPortInfo())); + } + } else { + // loggers::get_instance().error("btp_codec::decode_: Invalid BTP type"); // Cannot be reached + } + // loggers::get_instance().log_msg("btp_codec::decode_: BtpHeader: ", type); + } else if (std::string(field_descriptor.name).compare("@LibItsBtp_TypesAndValues.BtpPacket.payload") == 0) { + if (decoding_buffer.get_len() == decoding_buffer.get_pos()) { // No payload, set it to omit + // loggers::get_instance().log("btp_codec::decode_: Set OPTIONAL to omit"); + dynamic_cast &>(type).set_to_omit(); + } else { + // Decode BtpRawPayload data structure + OCTETSTRING os(decoding_buffer.get_len() - decoding_buffer.get_pos(), decoding_buffer.get_data() + decoding_buffer.get_pos()); + // loggers::get_instance().log_msg("btp_codec::decode_: s=", os); + if (_params != NULL) { + (*_params)[params_its::btp_payload] = std::string(static_cast(oct2str(os))); + } + if (os.lengthof() != 0) { + dynamic_cast &>(type) = OPTIONAL(os); + // loggers::get_instance().log_msg("btp_codec::decode_: Set OPTIONAL to ", type); + } else { + // loggers::get_instance().log("btp_codec::decode_: Set OPTIONAL to omit"); + dynamic_cast &>(type).set_to_omit(); + } + } + } else { + type.decode(field_descriptor, decoding_buffer, TTCN_EncDec::CT_RAW); + } + } +*/ + loggers::get_instance().log_msg("<<< ngap_codec::decode_: ", type); + loggers::get_instance().log_to_hexa("<<< ngap_codec::decode_: decoding_buffer=", decoding_buffer); + + return 0; +} + diff --git a/ccsrc/Protocols/NGAP/ngap_codec.hh b/ccsrc/Protocols/NGAP/ngap_codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..9f3bb16e70060fb140dd26170c77475e78f5201c --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_codec.hh @@ -0,0 +1,45 @@ +#pragma once + +#include "LibNGAP_TypesAndValues.hh" +#include "ngap_pdu_codec.hh" +//#include "codec.hh" +#include "NGAP_PDU_Descriptions.hh" + +class BITSTRING; //! Forward declaration of TITAN class +class OCTETSTRING; //! Forward declaration of TITAN class +//class params_; + +class Base_Type; +class TTCN_Typedescriptor_t; +class TTCN_Buffer; + + +//namespace NGAP__PDU__Descriptions { //! Forward declaration of asn1c NGAP class +// class NGAP__PDU; +//} + +//class ngap_codec : public codec { +class ngap_codec { + ngap_pdu_codec asn_codec; + + int encode_(const Base_Type &type, const TTCN_Typedescriptor_t &field_descriptor, TTCN_Buffer &encoding_buffer); + + int decode_(Base_Type &type, const TTCN_Typedescriptor_t &field_descriptor, TTCN_Buffer &decoding_buffer); + + +public: + //explicit ngap_codec() : codec(), asn_codec(){}; + /*explicit*/ ngap_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 &, params *params = NULL); +}; + +//void NGAP__PDU::encode(const TTCN_Typedescriptor_t& p_td, TTCN_Buffer& p_buf, int p_coding, ...) const +//{ +// va_list pvar; +// va_start(pvar, p_coding); + // switch(p_coding) { +// case TTCN_EncDec::CT_BER: { + diff --git a/ccsrc/Protocols/NGAP/ngap_pdu_codec.cc b/ccsrc/Protocols/NGAP/ngap_pdu_codec.cc new file mode 100644 index 0000000000000000000000000000000000000000..86c1a4f61040e8b4625ed9c6a4578f8eea4c29a7 --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_pdu_codec.cc @@ -0,0 +1,72 @@ +#include "ngap_pdu_codec.hh" +#include "LibNGAP_TypesAndValues.hh" +#include "asn1/asn_application.h" // from asn1c +#include "loggers.hh" +#include "NGAP_PDU_Descriptions.hh" +#include "TTCN3.hh" +#include +extern "C" { +extern asn_TYPE_descriptor_t asn_DEF_NGAP_PDU; +} +/*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 ngap_pdu_codec::encode(const NGAP__PDU__Descriptions::NGAP__PDU &p_ngap, BITSTRING &p_data) { + loggers::get_instance().log("ngap_pdu_codec::encode: "); + /*loggers::get_instance().log_msg("ngap_pdu_codec::encodemsg: ",p_ngap); + TTCN_Buffer buf; + TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::WARNING); + p_ngap.encode(NGAP__PDU__Descriptions::NGAP__PDU_descr_, buf, TTCN_EncDec::CT_BER, BER_ENCODE_DER); + p_data = oct2bit(OCTETSTRING(buf.get_len(), buf.get_data())); + + loggers::get_instance().log_msg("ngap_pdu_codec::encodemsg: ",OCTETSTRING(buf.get_len(), buf.get_data())); + + void * ptr = NULL; + asn_dec_rval_t rc_d; + + rc_d = asn_decode(NULL, ATS_BER, (asn_TYPE_descriptor_s *)&asn_DEF_NGAP_PDU, &ptr, buf.get_data(), buf.get_len()); + if (rc_d.code == RC_OK) { + // rc = rc_e.encoded; + + loggers::get_instance().log("ngap_pdu_codec::ASN1C decoded BER OK: "); + // Encode as PER + asn_enc_rval_t rc_e; + buf.clear(); + rc_e = asn_encode(NULL,ATS_ALIGNED_BASIC_PER, (asn_TYPE_descriptor_s *)&asn_DEF_NGAP_PDU, ptr, asn1c_collect_encoded_data, &buf); + //rc_e = asn_encode(NULL,ATS_UNALIGNED_BASIC_PER, (asn_TYPE_descriptor_s *)&asn_DEF_NGAP_PDU, ptr, asn1c_collect_encoded_data, &buf); + //rc_e = asn_encode(NULL,ATS_ALIGNED_CANONICAL_PER, (asn_TYPE_descriptor_s *)&asn_DEF_NGAP_PDU, ptr, asn1c_collect_encoded_data, &buf); + //rc_e = asn_encode(NULL,ATS_UNALIGNED_CANONICAL_PER, (asn_TYPE_descriptor_s *)&asn_DEF_NGAP_PDU, ptr, asn1c_collect_encoded_data, &buf); + + + if (rc_e.encoded > 0) { + loggers::get_instance().log("ngap_pdu_codec::ASN1C encoded PER OK: "); + loggers::get_instance().log_msg("ngap_pdu_codec::encodemsg PER: ",OCTETSTRING(buf.get_len(), buf.get_data())); + }else{ + + //loggers::get_instance().log("ngap_pdu_codec::ASN1C encoded PER NOK:%d %d",rc_e.encoded,errno); + switch (errno){ + case EINVAL: {loggers::get_instance().log("Incorrect parameters to the function, such as NULLs.");break;} + case ENOENT: {loggers::get_instance().log("Encoding transfer syntax is not defined (for this type)");break;} + case EBADF: {loggers::get_instance().log("The structure has invalid form or content constraint failed.");break;} + case EIO: {loggers::get_instance().log("The (callback) has returned negative value during encoding.");break;} + } + loggers::get_instance().log("ngap_pdu_codec::ASN1C encoded PER NOK:end switch errno %d",errno); + } + + } + if (ptr) { + ASN_STRUCT_FREE(asn_DEF_NGAP_PDU, ptr); + }*/ + + 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); +} diff --git a/ccsrc/Protocols/NGAP/ngap_pdu_codec.hh b/ccsrc/Protocols/NGAP/ngap_pdu_codec.hh new file mode 100644 index 0000000000000000000000000000000000000000..c7d4304298833fcc96e3ba807b4e13554297f544 --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_pdu_codec.hh @@ -0,0 +1,20 @@ +#pragma once + +//#include "codec.hh" +#include "params.hh" +#include "per_codec.hh" +#include "NGAP_PDU_Descriptions.hh" + +class BITSTRING; //! Forward declaration of TITAN class +class OCTETSTRING; //! Forward declaration of TITAN class +struct asn_TYPE_descriptor_s; //! Forward declaration of asn1c 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..23ab60dc2ebe7ee2170f9fdbb6b916634b072812 --- /dev/null +++ b/ccsrc/Protocols/NGAP/ngap_types.hh @@ -0,0 +1,15 @@ +/*! + * \file cam_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..1132ca8b0b7e8b77d2f0adf2a2d47bbaf201cac9 --- /dev/null +++ b/ccsrc/Protocols/NGAP_layer/ngap_layer.cc @@ -0,0 +1,174 @@ +#include "ngap_types.hh" + +#include "NGAP_TestSystem.hh" + +#include "ngap_layer_factory.hh" +//#include "geonetworking_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); +// _params.insert(std::make_pair("its_aid", "36")); // ETSI TS 102 965 V1.2.1 (2015-06) +// _params.insert(std::make_pair("payload_type", "2")); // CA message id - See ETSI TS 102 894 + + // 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 = int2oct(0,1); + //OCTETSTRING data; + // loggers::get_instance().warning("ngap_layer::sendMsg: Try to encode..."); + + //if (_codec){ + 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); + //}else{ +// loggers::get_instance().warning("ngap_layer::sendMsg: codec not set"); + //} + 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, &p_params); + /*if (!p.msgIn().is_bound()) { + // Discard it + return; + } // else, continue + + // Process lower layer data + // recvTime + params::const_iterator it = params.find(params::timestamp); + if (it != params.cend()) { + p.recvTime().set_long_long_val(std::stoll(it->second)); + } else { + p.recvTime().set_to_omit(); + } + // gnNextHeader + it = params.find(params_its::gn_next_header); + if (it != params.cend()) { + p.gnNextHeader() = std::stoi(it->second); + } else { + p.gnNextHeader().set_to_omit(); + } + // gnHeaderType + it = params.find(params_its::gn_header_type); + if (it != params.cend()) { + p.gnHeaderType() = std::stoi(it->second); + } else { + p.gnHeaderType().set_to_omit(); + } + // gnHeaderSubtype + it = params.find(params_its::gn_header_sub_type); + if (it != params.cend()) { + p.gnHeaderSubtype() = std::stoi(it->second); + } else { + p.gnHeaderSubtype().set_to_omit(); + } + // gnLifetime + it = params.find(params_its::gn_lifetime); + if (it != params.cend()) { + p.gnLifetime() = std::stoi(it->second); + } else { + p.gnLifetime().set_to_omit(); + } + // gnTrafficClass + it = params.find(params_its::gn_traffic_class); + if (it != params.cend()) { + p.gnTrafficClass() = std::stoi(it->second); + } else { + p.gnTrafficClass().set_to_omit(); + } + // btpDestinationPort + it = params.find(params_its::btp_destination_port); + if (it != params.cend()) { + p.btpDestinationPort() = std::stoi(it->second); + } else { + p.btpDestinationPort().set_to_omit(); + } + // btpInfo + it = params.find(params_its::btp_info); + if (it != params.cend()) { + p.btpInfo() = std::stoi(it->second); + } else { + p.btpInfo().set_to_omit(); + } + // ssp + it = params.find(params_its::ssp); + if (it != params.cend()) { + loggers::get_instance().log("ngap_layer::receive_data: ssp=%s", it->second.c_str()); + p.ssp() = oct2bit(str2oct(CHARSTRING(it->second.c_str()))); + } else { + p.ssp().set_to_omit(); + } + // its_aid + it = params.find(params_its::its_aid); + if (it != params.cend()) { + p.its__aid() = std::stoi(it->second); + } else { + p.its__aid().set_to_omit(); + } +*/ + // Pass it to the ports if any + to_all_upper_ports(p, p_params); + + loggers::get_instance().log_msg(">>> ngap_layer::receive_data:TO UPPER PORT ", p); +} + +/*int ngap_layer::enable_secured_mode(const std::string &p_certificate_id, const boolean p_enforce_security) { + loggers::get_instance().log(">>> ngap_layer::enable_secured_mode: '%s' - %x", p_certificate_id.c_str(), p_enforce_security); + + geonetworking_layer *p = registration::get_instance().get_item(std::string("GN")); + if (p == NULL) { + return -1; + } + + loggers::get_instance().log("ngap_layer::enable_secured_mode: Got GN layer %p", p); + return p->enable_secured_mode(p_certificate_id, p_enforce_security); +} + +int ngap_layer::disable_secured_mode() { + loggers::get_instance().log(">>> ngap_layer::disable_secured_mode"); + + geonetworking_layer *p = registration::get_instance().get_item(std::string("GN")); + if (p == NULL) { + return -1; + } + + loggers::get_instance().log("ngap_layer::disable_secured_mode: Got GN layer %p", p); + return p->disable_secured_mode(); +}*/ + +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..fbdc65a2de133090169e400c86c480bf5164290b --- /dev/null +++ b/ccsrc/Protocols/NGAP_layer/ngap_layer.hh @@ -0,0 +1,76 @@ +/*! + * \file ngap_layer.hh + * \brief Header file for ITS NGAP protocol layer. + * \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 "ngap_codec.hh" +#include "t_layer.hh" + +namespace LibNGAP__Interface { + class NGAPPort; //! Forward declaration of TITAN class + //class CamReq; //! Forward declaration of TITAN class + //class CamInd; //! 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 _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..f07f49fa8e6f9c0f123576c24c0f827a61c1c9f6 --- /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 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 "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/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/install.sh b/install.sh new file mode 100755 index 0000000000000000000000000000000000000000..0e65e40e01c88cad7c98d403f9986262edc7a545 --- /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 [ ! -f ./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/test_purposes/Ngap_Common.tplan2 b/test_purposes/Ngap_Common.tplan2 new file mode 100644 index 0000000000000000000000000000000000000000..b93c8586df48862c250f5af9cad272f2e3943b51 --- /dev/null +++ b/test_purposes/Ngap_Common.tplan2 @@ -0,0 +1,223 @@ +/* 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 2019-2020 +*/ + + +Package Ngap_Common { + Domain { + pics: + - NONE + - PICS_A3/5_1 + - NOT_PICS_2 + ; + entities: + - UE + - GNB + - AMF + - IUT + ; + events: + - receives + - sends + - forwards + - isRequestedToPlaceACall + // Initial conditions + - isNotRegisteredTo + - hasAchievedFirstRegistration + - isRegisteredTo + - isNotAttachedTo + - isAttachedTo + - isNotConfiguredForTopologyHiding + - isConfiguredForTopologyHiding + - isExistingIn + - establishedSecurityRelation + - registeredIdentityTelURI + - registeredIdentitySipURI + - hasInitiatedDialogWith + - hasInitiatedPS2CSinEarlydialog + - hasInitiatedPS2CSinAlertingState + - hasEstablishedDialog + - hasEstablishedPS2CSDialog + - isConfiguredWithENUMentryForTelURI_E164NumberOf + - hasReceivedInitialRequestForDialog + - hasReceived200OkOnInitialRequestForDialogWith + - hasReceived180OnInitialRequest + - hasReceived200OkCancel + - hasReceivedTerminatedRequest + - registeredPublicIdsWithTelUriAndSipUri + - hasReceivedSubsequentOrTargetRefreshRequestInDialog + - previouslyEstablishedCallWith + - isRequestedToSend + - isRequestedToDeregisterUser + - isBusy + - isNoLongerAvailable + - isTriggeredToDetachUser + - isRequestedToDetachfromNetwork + - hasAchievedFirstREGISTER + - hasResponded486INVITE + - hasAchievedInitialINVITE + - hasAchievedINVITE + - hasAchievedUPDATEuponINVITE + - timerOperatorSpecificTimeout //NOTE: 8 seconds is an appropriate value for the operator policy. + - isAttachingToNetwork + - hasDoneSubscription + - indicate + - isCMIDLE + - isCMCONNECTED + ; + } // 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; + + + Test Configuration CFG_GNB_01 + containing + Tester component AMF of type NgapComponent + SUT component IUT of type NgapComponent + connection between AMF.g and IUT.g; + + Test Configuration CFG_AMF_01 + 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..88919a41f788ab1de9fc1817837aa6a64b79adc3 --- /dev/null +++ b/test_purposes/ngap/TP_AMF_NGAP2.tplan2 @@ -0,0 +1,1826 @@ +/* +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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + 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 contains mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for successfully modified PDU session." + + Reference + "ETSI TS 138 413 [1], Clause 8.2.5.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + 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 contains mandatory IEs and answers with PDU_SESSION_RESOURCE_MODIFY_CONFIRM for not successfully modified PDU session." + + Reference + "ETSI TS 138 413 [1], Clause 8.2.5.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + 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 a INITIAL CONTEXT SETUP REQUEST contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a PDU initial context setup procedure + } + then { + the IUT entity sends a INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI, + 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 + ; + ;, + Allowed_NSSAI, + UE_Security_Capabilities, + Security_Key + ; + to the GNB entity + } + + } + + } // end TP_NGAP_AMF_CMP_01 + + } + + Group "UE Context Release (AMF initiated)" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_08 + + 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO:check Initial conditions + } + + 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 + ; + ; + ; + to the GNB entity + } + } + + + } // end TP_NGAP_AMF_CMP_08 + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_11 + + 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 CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO:check Initial conditions + } + + 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 + ; + ; + ; + to the GNB entity + } + } + + + } // end TP_NGAP_AMF_CMP_11 + + } // End Group "UE Context Release (AMF initiated)" + + Group "UE Context Modification" + { + + 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 MODIFICATION REQUEST contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_02 + + } // End Group UE Context Modification + + Group "Connection Establishment Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_09 + + 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_09 + + } // End Group "Connection Establishment Indication" + + Group "AMF CP Relocation Indication" + { + + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_10 + + Test objective "Verify that the IUT can send a AMF CP Relocation Indication that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.7.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a AMF CP relocation indication procedure + } + then { + the IUT entity sends a AMF_CP_RELOCATION_INDICATION containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID + ; + to the GNB entity + } + + } + + } // End TP TP_NGAP_AMF_CMP_10 + + } // End Group "AMF CP Relocation Indication" + + Group "Retrieve UE information" + { + + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_12 + + 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", + "ETSI TS 138 413 [1], Clauses 8.3.10.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_12 + + } // End Group "Retrieve UE information" + + Group "UE Context Suspend" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_05 + + Test objective "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." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.11.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + UE_Context_Suspend_Request_Transfer + ; + ; + ; + 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_05 + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_06 + + Test objective "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." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.11.3" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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 + ; + ; + ; + 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_06 + + }// end Group UE Context Suspend + + Group "UE Context Resume" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_CMP_07 + + Test objective "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." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.12.3" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_RESPONSE containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + PDU_Session_Resource_Resume_List containing + PDU_Session_Resource_Resume_Item containing + PDU_SessionId indicating value PX_PDU_ID, + UE_Context_Resume_Response_Transfer + ; + ; + ; + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_CMP_07 + + + } // 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 contains mandatory IEs and answers with HANDOVER COMMAND with successfully handover." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.1.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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 contains mandatory IEs and answers with IHANDOVER PREPARATION FAILURE with failed handover." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.1.3" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + UE_Security_Capabilitues + PDU_Session_Setup_Resource_List containing + PDU_Session_Setup_Resource_Item containing + PDU_SessionId, + S_NSSAI, + Handover_Request_Transfer + ; + ;, + Allowed_NSSAI, + Source_to_Target_Transparent_Container, + GUAMI + ; + 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + 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 + 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + 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 + ; + ; + ; + 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 PHANDOVER CANCEL ACKNOWLEDGE to confirm that the ongoing handover was cancelled." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.5.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_05 + + } // 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 UPLINK RAN STATUS TRANSFER message that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.5.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a 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 GNB entity + } + } + + } // End TP_NGAP_AMF_MMP_07 + + } // End Group "Downlink RAN Status Transfer" + + Group "Downlink RAN Status Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_MMP_08 + + Test objective "Verify that the AMF node successfully sends a UPLINK RAN EARLY STATUS TRANSFER message that contains mandatory IEs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.4.7.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a Uplink RAN Early Status Transfer procedure + } + 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 GNB entity + } + } + + } // End TP_NGAP_AMF_MMP_08 + + } // End Group "Downlink RAN Status Transfer" + + } // End Group "8.4 UE Mobility Management 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 an DOWNLINK NAS TRANSPORT message to carry NAS information over the NG interface." + + Reference + "ETSI TS 138 413 [1], Clauses 8.6.2.2 and 9.2.5.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + //TODO: Section 8.6.2.1 describes additional triggers for the DOWNLINK NAS TRANSPORT + + Expected behaviour + ensure that { + when { + the IUT entity sends 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 an 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 an 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 CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Reroute NAS Request procedure" + } + then { + the IUT entity sends an REROUTE_NAS_REQUEST containing + RAN_UE_NGAP_ID, + 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 a 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a 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 + ; + ; + ; + ;, + Default_Paging_DRX + ; + from the GNB entity + } + then { + the IUT entity sends a NG_SETUP_RESPONSE containing + AMF_Name, + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI + ; + ;, + Relative_AMF_Capacity, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, + Slice_Support_List, + Extended_Slice_Support_List + ; + ; + ; + 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 a 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + // AMF cannot accept the setup + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a 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 + ; + ; + ; + ;, + Default_Paging_DRX + ; + from the GNB entity + } + then { + the IUT entity sends a NG_SETUP_FAILURE containing + Cause + ; + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_IMP_02 + + } // End Group "NG Setup" + + Group "RAN Configuration Update" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_03 + + 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" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + // AMF cannot accept the setup + } + + Expected behaviour + ensure that { + when { + the IUT entity receives 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 + ; + ; + ; + ; + ; + from the GNB entity + } + then { + the IUT entity sends a RAN_CONFIGURATION_UPDATE_ACKNOWLEDGE + 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 declines a AMF 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.3.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + // AMF cannot accept the setup + } + + Expected behaviour + ensure that { + when { + the IUT entity receives 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 + ; + ; + ; + ; + ; + 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_04 + + } // End Group "RAN Configuration Update" + + Group "AMF 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 AMF CONFIGURATION UPDATE message with RAN CONFIGURATION UPDATE ACKNOWLEDGE to acknowledge the update." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.2.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a AMF_CONFIGURATION_UPDATE containing + Served_GUAMI_List containing + Served_GUAMI_Item containing + GUAMI + ; + ;, + PLMN_Support_List containing + PLMN_Support_Item containing + PLMN_Identity, + Slice_Support_List + ; + ;, + 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 GNB entity + } + then { + the IUT entity sends a AMF_CONFIGURATION_UPDATE_ACKNOWLEDGE containing + AMF_TNL_Association_Setup_List containing + AMF_TNL_Association_Setup_Item containing + AMF_TNL_Association_Address + ; + ; + ; + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_IMP_05 + + } // End Group "AMF Configuration Update" + + Group "NG Reset" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_06 + + Test objective "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." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.4.2.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a NG_RESET containing + Cause, + CHOICE_Reset_Type containing + NG_interface containing + Reset_All + ; + ; + ; + from the GNB entity + } + then { + the IUT entity sends a NG_RESET_ACKNOWLEDGE + to the GNB entity + } + } + + } // end TP TP_NGAP_AMF_IMP_06 + + } // End Group "NG Reset" + + Group "Error Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_07 + + Test objective "Verify that the AMF can send a ERROR INDICATION to the GNB when a error occurs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.5.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a ERROR INDICATION + } + then { + the IUT entity sends a ERROR_INDICATION + to the GNB entity + } + } + + } // end TP_NGAP_AMF_IMP_07 + } + + Group "AMF Status Indication" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_08 + + Test objective "Verify that the AMF can send a AMF STATUS INDICATION to the GNB when a error occurs." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.6.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a AMF STATUS INDICATION + } + then { + the IUT entity sends a AMF_STATUS_INDICATION containing + Unavailable_GUAMI_List containing + Unavailable_GUAMI_Item containing + GUAMI + ; + ; + ; + to the GNB entity + } + } + + } // end TP_NGAP_AMF_IMP_08 + + } // End Group "AMF Status Indication" + + Group "Overload Start" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_09 + + Test objective "Verify that the AMF can send a OVERLOAD START to the GNB." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.7.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a OVERLOAD START + } + then { + the IUT entity sends a OVERLOAD_START containing + Overload_Start_NSSAI_List containing + Overload_Start_NSSAI_Item containing + Slice_Overload_List + ; + ; + ; + to the GNB entity + } + } + + } // end TP_NGAP_AMF_IMP_09 + } // End Group "Overload Start" + + Group "Overload Stop " + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_AMF_IMP_10 + + Test objective "Verify that the AMF can send a OVERLOAD STOP to the GNB." + + Reference + "ETSI TS 138 413 [1], Clauses 8.7.7.2" + + Config Id CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a OVERLOAD STOP + } + then { + the IUT entity sends a OVERLOAD_STOP + to the GNB entity + } + } + + } // end TP_NGAP_AMF_IMP_10 + } // 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 an 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 CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Downlink RAN Configuration Transfer" + } + then { + the IUT entity sends an NAS_NON_DELIVERY_INDICATION containing + SON_Configuration_Transfer containing + Target_RAN_Node_ID containing + Global_RAN_Node_ID, + Selected_TAI + ;, + Source_RAN_Node_ID containing + Global_RAN_Node_ID, + Selected_TAI + ;, + SON_Information + ; + ; + 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" + { + + } // "8.9 Warning Message Transmission Procedures" + + Group "8.10 NRPPa Transport Procedures" + { + + } // "8.10 NRPPa Transport Procedures" + + Group "8.11 Trace Procedures" + { + + } // "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 CFG_AMF_01 + + PICS Selection PICS_A3/5_1 + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Location Reporting Control procedure" + } + then { + the IUT entity sends an 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" + { + + } // end Group "8.13 UE TNLA Binding Procedures" + + Group "8.14 UE Radio Capability Management Procedures" + { + + } // end Group "8.14 UE Radio Capability Management Procedures" + + Group "8.15 Data Usage Reporting Procedures" + { + + } // end Group "8.15 Data Usage Reporting Procedures" + + Group "8.16 RIM Information Transfer Procedures" + { + + } // 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..848f0b626f9b743917293af8bd5044caee256951 --- /dev/null +++ b/test_purposes/ngap/TP_GNB_NGAP.tplan2 @@ -0,0 +1,1790 @@ +/* +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 contains mandatory IEs and answers with PDU SESSION RESOURCE SETUP RESPONSE for successfully established PDU session." + + Reference + "ETSI TS 138 413 [1], Clause 8.2.1.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_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 contains several PDU Session ID IEs set to the same value." + + Reference + "ETSI TS 138 413 [1], Clause 8.2.1.4" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_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 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 " + + Reference + "ETSI TS 138 413 [1], Clause 8.2.1.4" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_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_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 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. " + + Reference + "ETSI TS 138 413 [1], Clause 8.2.1.4" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_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 contains mandatory IEs and answers with PDU SESSION RESOURCE RELEASE RESPONSE to release PDU session." + + Reference + "ETSI TS 138 413 [1], Clause 8.2.2.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + 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], Clause 8.2.2.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + 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 contains mandatory IEs and answers with PDU SESSION RESOURCE MODIFY RESPONSE for successfully modified PDU session." + + Reference + "ETSI TS 138 413 [1], Clause 8.2.3.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + 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 release." + + Reference + "ETSI TS 138 413 [1], Clauses 8.2.4.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + 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_Released_List containing + PDU_Session_Resource_Released_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + PDU_Session_Resource_Notify_Released_Transfer containing + Cause; + ; + ; + ; + 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" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + 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 + + } // 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 a INITIAL CONTEXT SETUP REQUEST contains 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" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI, + 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 + ; + ;, + Allowed_NSSAI, + UE_Security_Capabilities, + Security_Key + ; + from the AMF entity + } + then { + the IUT entity sends a 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 a INITIAL CONTEXT SETUP REQUEST contains mandatory IEs and answers with INITIAL CONTEXT SETUP RESPONSE with failed PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.1.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO; check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity receives a INITIAL_CONTEXT_SETUP_REQUEST containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + GUAMI, + PDU_Session_Resource_Setup_Request_List containing + PDU_Session_Resource_Setup_Request_Item containing + PDU_SessionId, + S_NSSAI, + PDU_Session_Resource_Setup_Request_Transfer + ; + ;, + Allowed_NSSAI, + UE_Security_Capabilities, + Security_Key + ; + from the AMF entity + } + then { + the IUT entity sends a 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_02 + } // 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_10 + + 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" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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 + PDU_Session_Resource_List containing + PDS_Session_Resource_Item containing + PDU_Session_ID indicating value PX_PDU_ID + ; + ;, + Cause + ; + to the AMF entity + } + + } + + } // End TP TP_NGAP_GNB_CMP_10 + + } // 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_07 + + 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" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO + } + + 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, + PDU_Session_Resource_List containing + PDU_Session_Resource_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Release_Response_Transfer + ; + ; + ; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_CMP_07 + + 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 both the AMF UE NGAP ID IE and the RAN UE NGAP ID IE are not available and answers with UE CONTEXT RELEASE COMPLETE with successfully release UE context." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.3" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO + } + + 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, + PDU_Session_Resource_List containing + PDU_Session_Resource_Item containing + PDU_SessionId indicating value PX_PDU_ID, + PDU_Session_Resource_Release_Response_Transfer + ; + ; + ; + 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_03 + + 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 with failed PDU session." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.3" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO; check initial conditions + } + + 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_03 + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_04 + + 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." + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.4.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_04 + + } // end Group UE Context Modification + + Group "RRC Inactive Transition Report" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_07 + + Test objective "Verify that the IUT can send a RRC INACTIVE TRANSITION REPORT that contains mandatory IEs" + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.5" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate a RRC inactive transition report + } + then { + the IUT entity sends a 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_07 + + } // End Group "RRC Inactive Transition Report" + + Group "RAN CP Relocation Indication" + { + + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_08 + + 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" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + E_ULTRA_CGI, + TAI, + UL_CP_Security_Information + ; + to the AMF entity + } + + } + + } // End TP TP_NGAP_GNB_CMP_08 + + } // End Group "RAN CP Relocation Indication" + + Group "UE Context Suspend" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_05 + + Test objective "Verify that the IUT can send a UE CONTEXT SUSPEND REQUEST contains mandatory IEs" + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.11.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + PDU_Session_Resource_Suspend_List containing + PDU_Session_Resource_Suspend_Item containing + PDU_SessionId indicating value PX_PDU_ID, + UE_Context_Suspend_Request_Transfer + ; + ; + ; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_05 + + + }// end Group UE Context Suspend + + Group "UE Context Resume" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_CMP_06 + + Test objective "Verify that the IUT can send a UE CONTEXT RESUME REQUEST contains mandatory IEs" + + Reference + "ETSI TS 138 413 [1], Clauses 8.3.12.2" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + PDU_Session_Resource_Resume_List containing + PDU_Session_Resource_Suspend_Item containing + PDU_SessionId indicating value PX_PDU_ID, + UE_Context_Resume_Request_Transfer + ; + ; + ; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_CMP_06 + + } // 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.3.11.2 and 9.2.3.1" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_08 + + 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 and 9.2.3.5" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + UE_Security_Capabilities, + Security_Context, + PDU_Session_Resource_Setup_List containing + PDU_Session_Resource_Setup_Item containing + PDU_SessionId indicating value PX_PDU_ID, + S_NSSAI, + Handover_Request_Transfer + ; + ;, + Allowed_NSSAI, + Source_to_Target_Transparent_Container, + GUAMI + ; + 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 + ; + ;, + Target_to_Source_Transparent_Container + ; + to the AMF entity + } + } + + } // end TP TP_NGAP_GNB_MMP_08 + + } // 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 CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_05 + + 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 CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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, + 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_05 + + } // End Group "Path Switch Request" + + Group "Handover Cancellation" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_06 + + 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 CFG_AMF_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_06 + } // End Group "Handover Cancellation" + + Group "Uplink RAN Status Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_02 + + 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 CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of an 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_02 + } + } // End Group "Uplink RAN Status Transfer" + + Group "Handover Success" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_03 + + 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 CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of an UE handover success procedure" + } + then { + the IUT entity sends a HANDOVER_SUCCESS containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID + ; + to the AMF entity + } + } + } // End TP_NGAP_GNB_MMP_03 + + } // End Group "Handover Success" + + Group "Uplink RAN Early Status Transfer" + { + import all from Ngap_Common; + + Test Purpose { + + TP Id TP_NGAP_GNB_MMP_04 + + 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 CFG_GNB_01 + + PICS Selection PICS_A3/5_1 //TODO: Not sure here. PIC means item 5.1 in table A3 but couldn't find either. + + Initial conditions with { + the UE entity isRegisteredTo the AMF // TODO: check initial conditions + } + + 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_04 + + } // End Group "Uplink RAN Early 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_GNB_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 CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + // TODO: initial condition? + Initial conditions with { + the UE entity isRegisteredTo the AMF + } + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Page procedure" + } + then { + the IUT entity sends an INITIAL_UE_MESSAGE containing + UE_Paging_Identity containing + 5G_S_TMSI containing + 5G_S_TMSI + ; + ; + ; + to the AMF entity + } + } + + } // end TP_NGAP_GNB_PAG_01 + } // end "Paging" + + } // end "8.5 Paging 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" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + Initial conditions with { + the UE entity isCMIDLE in the GNB entity + } + + /* TODO: + * + * Maybe improve trigger (see sequence diagram 4.24.1-1 in ts_123501): + * If the UE is in CM-IDLE, the UE first establishes an RRC connection + * OR + * sends the RRCEarlyDataRequest message and sends a NAS message as part of this + * + */ + 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" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + Initial conditions with { + the UE entity isCMCONNECTED in the GNB entity + } + + //TODO: More information about RRC UL message + 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 CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + 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 an 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" + { + + } // End Group "NG Setup" + } + + 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 CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + Expected behaviour + ensure that { + when { + the IUT entity indicate the initiation "of a Uplink RAN Configuration Transfer" + } + then { + the IUT entity sends an NAS_NON_DELIVERY_INDICATION containing + SON_Configuration_Transfer containing + Target_RAN_Node_ID containing + Global_RAN_Node_ID, + Selected_TAI + ;, + Source_RAN_Node_ID containing + Global_RAN_Node_ID, + Selected_TAI + ;, + SON_Information + ; + ; + 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" + { + + } // end "8.9 Warning Message Transmission Procedures" + + Group "8.10 NRPPa Transport Procedures" + { + + } // end "8.10 NRPPa Transport Procedures" + + Group "8.11 Trace Procedures" + { + + } // 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 CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + Expected behaviour + ensure that { + when { + the IUT entity sends an LOCATION_REPORTING_CONTROL containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Location_Reporting_Request_Type containing + Event_Type, + Report_Area, + 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 an LOCATION_REPORTING_CONTROL 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.2 and 9.2.11.3" + + Config Id CFG_GNB_01 + + PICS Selection PICS_A3/5_1 + + Expected behaviour + ensure that { + when { + the IUT entity sends an LOCATION_REPORTING_CONTROL containing + AMF_UE_NGAP_ID, + RAN_UE_NGAP_ID, + Location_Reporting_Request_Type + ; + from the AMF entity + } + then { + the IUT entity sends an 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" + { + + } // end Group "8.14 UE Radio Capability Management Procedures" + + Group "8.15 Data Usage Reporting Procedures" + { + + } // end Group "8.15 Data Usage Reporting Procedures" + + Group "8.16 RIM Information Transfer Procedures" + { + + } // 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..e27aaa847f49a1e459f427abc3620ef7a40223ca --- /dev/null +++ b/titan-test-system-framework @@ -0,0 +1 @@ +Subproject commit e27aaa847f49a1e459f427abc3620ef7a40223ca diff --git a/ttcn/AtsNGAP/NGAP_Pics.ttcn b/ttcn/AtsNGAP/NGAP_Pics.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..46fa084b217820e686abf1b6bce35a8dd4b469f8 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_Pics.ttcn @@ -0,0 +1,35 @@ +/** +* @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 { + } // End of group PICS_A3 + + group PICS_A4 { + } // 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..819b6ca3831d056aaea4b360eaa3dc1b9bb4ead8 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_Pixits.ttcn @@ -0,0 +1,81 @@ +/** +* @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 { + + // LibNGAP + import from NGAP_CommonDataTypes language "ASN.1:1997" 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 TS1RELOCOverall, + * @see ETSI TS 136 413, chapter 9.5 + */ + modulepar float PX_TS1RELOCOverall := 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..2725a5b6e29710b61a570cb12593f0af5b262202 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_Steps.ttcn @@ -0,0 +1,160 @@ +/** +* @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 + +} // 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..07c57c1d5669ec3b637537d81eee568bc29e1810 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_TCFunctions.ttcn @@ -0,0 +1,589 @@ +/** + * @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 {function f_sleepIgnoreDef;} + + // 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_or_aMF_functionName_01 + */ + function f_TC_NGAP_GNB_PDU_01() runs on aMFNGAPComponent { + // Local variables + + // Preamble + f_NGAP_amf_init(); + f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict()); + log("*** " & __SCOPE__ & ": INFO: Preamble done. ***"); + + // Body + f_send_NGAP_PDU( + m_ngap_initMsg( + m_n2_PDUSessionResourceSetupRequest( + m_ie_aMFUeNgapId(-), + m_ie_aMFUeNgapId(-), + m_ie_pDUSessionResourceSetupListSUReq( + { + m_ie_pDUSessionResourceSetupItemSUReq( + m_ie_pDUSessId(-), + -, + m_ie_sNSSAI(m_ie_sST(-),m_ie_sD(-)), + '00'O //TODO replace with template + /*bit2oct(encvalue(m_ie_pDUSessResSetReqTrIEs( + m_ie_uPTLInf(m_ie_gTPTunnel( + m_ie_tla(-), + m_ie_gtpTeId(-))), + m_ie_PDUSessionType(-), + m_ie_qosFlowSetReqList({}) + )))*/ + ) + } + ) + + + ) + ) + ); + + + f_recv_NGAP_PDU( + mw_ngap_succMsg( + mw_n2_PDUSessionResourceSetupResponse( + mw_ie_aMFUeNgapId(-), + mw_ie_aMFUeNgapId(-), + ? //TODO replace with template + ) + ) + ); + + 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 PDU_Session_Resource_Setup + //8.2.2 + group PDU_Session_Resource_Release{ + }//end of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + }//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{ + }//end of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + }//end of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + }//end of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + }//end of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//end of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + }//end of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + }//end of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + }//end of group NG_Reset + //8.7.5 + group Error_Indication{ + }//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{ + }//end of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + }//end of group Downlink_RAN_Configuration_Transfer + //8.9 + group Warning_Message_Transmission_Procedures{ + }//end of group Warning_Message_Transmission_Procedures + //8.9.1 + group Write_Replace_Warning{ + }//end of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + }//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 Configuration_Transfer_Procedures + //8.10 + group NRPPa_Transport_Procedures{ + }//end of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + }//end of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + }//end of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + }//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{ + }//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{ + }//end of group PDU_Session_Resource_Setup + //8.2.2 + group PDU_Session_Resource_Release{ + }//end of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + }//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{ + }//end of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + }//end of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + }//end of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + }//end of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//end of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + }//end of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + }//end of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + }//end of group NG_Reset + //8.7.5 + group Error_Indication{ + }//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{ + }//end of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + }//end of group Downlink_RAN_Configuration_Transfer + //8.9 + group Warning_Message_Transmission_Procedures{ + }//end of group Warning_Message_Transmission_Procedures + //8.9.1 + group Write_Replace_Warning{ + }//end of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + }//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 Configuration_Transfer_Procedures + //8.10 + group NRPPa_Transport_Procedures{ + }//end of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + }//end of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + }//end of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + }//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{ + }//end of group Downlink_RIM_Information_Transfer + }//end of group RIM_Information_Transfer_Procedures + }//end of group aMF_Role + +} // End of module NGAP_TCFunctions + diff --git a/ttcn/AtsNGAP/NGAP_TestCases.ttcn b/ttcn/AtsNGAP/NGAP_TestCases.ttcn new file mode 100644 index 0000000000000000000000000000000000000000..0515da011a4b3da87a749b6d3a07ae2e82e521e3 --- /dev/null +++ b/ttcn/AtsNGAP/NGAP_TestCases.ttcn @@ -0,0 +1,563 @@ +/** + * @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 ; + + // 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 TC_testcase_template{ + + /** + * @desc Verify ... + *
+         * Pics Selection: 
+         * Configuration: 
+         *     
+         * 
+ * + * @see ETSI TS + * @reference ETSI TS + */ + testcase TC_NGAP_gNB_or_aMF_testcaseName_01() runs on /*aMFNGAPComponent*/gNBNGAPComponent system TestAdapter { + + // Local variables + var gNBNGAPComponent v_ngap_gnb_or_amf; //or v_ngap_amf + + // Test control + if (not PICS_NGAP_AMF_IUT) { + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT' shall be set to true for executing the TC. ***"); + stop; + } + + // Test component configuration + f_cf_NGAP_gNB_Up/*aMF_Up*/(v_ngap_gnb_or_amf); + + // Start + v_ngap_gnb_or_amf.start(f_TC_NGAP_gNB_or_aMF_functionName_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_or_aMF_testcaseName_01 + + }//end of group TC_testcase_template + + group gNB_Role{ + //8.2 + group PDU_Session_Management_Procedures{ + //8.2.1 + group PDU_Session_Resource_Setup{ + + /** + * @desc Verify ... + *
+                 * Pics Selection: 
+                 * Configuration: 
+                 *     
+                 * 
+ * + * @see ETSI TS + * @reference ETSI TS + */ + testcase TP_NGAP_GNB_PDU_01() runs on aMFNGAPComponent system TestAdapter { + + // Local variables + var aMFNGAPComponent v_ngap_amf; + + // Test control + if (not PICS_NGAP_GNB_IUT) { + log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT' 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 TP_NGAP_GNB_PDU_01 + + }//end of group PDU_Session_Resource_Setup + + //8.2.2 + group PDU_Session_Resource_Release{ + }//end of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + }//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{ + }//end of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + }//end of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + }//end of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + }//end of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//end of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + }//end of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + }//end of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + }//end of group NG_Reset + //8.7.5 + group Error_Indication{ + }//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{ + }//end of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + }//end of group Downlink_RAN_Configuration_Transfer + //8.9 + group Warning_Message_Transmission_Procedures{ + }//end of group Warning_Message_Transmission_Procedures + //8.9.1 + group Write_Replace_Warning{ + }//end of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + }//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 Configuration_Transfer_Procedures + //8.10 + group NRPPa_Transport_Procedures{ + }//end of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + }//end of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + }//end of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + }//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{ + }//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{ + }//end of group PDU_Session_Resource_Setup + //8.2.2 + group PDU_Session_Resource_Release{ + }//end of group PDU_Session_Resource_Release + //8.2.3 + group PDU_Session_Resource_Modify{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Release_AMF_initiated + //8.3.4 + group UE_Context_Modification{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Context_Suspend + //8.3.12 + group UE_Context_Resume{ + }//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{ + }//end of group Handover_Preparation + //8.4.2 + group Handover_Resource_Allocation{ + }//end of group Handover_Resource_Allocation + //8.4.3 + group Handover_Notification{ + }//end of group Handover_Notification + //8.4.4 + group Path_Switch_Request{ + }//end of group Path_Switch_Request + //8.4.5 + group Handover_Cancellation{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//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{ + }//end of group NG_Setup + //8.7.2 + group RAN_Configuration_Update{ + }//end of group RAN_Configuration_Update + //8.7.3 + group AMF_Configuration_Update{ + }//end of group AMF_Configuration_Update + //8.7.4 + group NG_Reset{ + }//end of group NG_Reset + //8.7.5 + group Error_Indication{ + }//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{ + }//end of group Uplink_RAN_Configuration_Transfer + //8.8.2 + group Downlink_RAN_Configuration_Transfer{ + }//end of group Downlink_RAN_Configuration_Transfer + //8.9 + group Warning_Message_Transmission_Procedures{ + }//end of group Warning_Message_Transmission_Procedures + //8.9.1 + group Write_Replace_Warning{ + }//end of group Write_Replace_Warning + //8.9.2 + group PWS_Cancel{ + }//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 Configuration_Transfer_Procedures + //8.10 + group NRPPa_Transport_Procedures{ + }//end of group NRPPa_Transport_Procedures + //8.11 + group Trace_Procedures{ + //8.11.1 + group Trace_Start{ + }//end of group Trace_Start + //8.11.2 + group Trace_Failure_Indication{ + }//end of group Trace_Failure_Indication + //8.11.3 + group Deactivate_Trace{ + }//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{ + }//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{ + }//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{ + }//end of group UE_Radio_Capability_Check + //8.14.3 + group UE_Radio_Capability_ID_Mapping{ + }//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{ + }//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..637ba7b960313fff15fb10226cbfcaf8445fc33a --- /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..ad98684ae016740d5a2f27004008084a5516cd09 --- /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..634cc2a1309f27419c513e8af59b3382c5be1751 --- /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..3c5897670c49d531236949bdb1b8db64185d6187 --- /dev/null +++ b/ttcn/AtsNGAP/module.mk @@ -0,0 +1,28 @@ +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 \ + ../../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 \ + ../modules/titan.TestPorts.Common_Components.Abstract_Socket + + + #//../../ccsrc/Protocols/sctp \ + #//../../titan-test-system-framework/ccsrc/Protocols/Tcp \ 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..17cc3eb6f36d39d35034a105b5cecf1955eb38bf --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_EncdecDeclarations.ttcn @@ -0,0 +1,23 @@ +/** +* @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; + +//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)"} + + +} // 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..3e7ef8404a99b14641c13cac09dc8d8713a170b2 --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_Pixits.ttcn @@ -0,0 +1,273 @@ + /** +* @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 The PLMNidentity indicates the PLMN Identity (Public land mobile network). + * @see ETSI TS 136 413 Clause 9.2.3.8 PLMN Identity + */ + //modulepar PLMNidentity PX_PLMN_IDENTITY := '000000'O; + + /** + * @desc An unknown PLMNidentity indicates the PLMN Identity (Public land mobile network). + * @see ETSI TS 136 413 Clause 9.2.3.8 PLMN Identity + */ + //modulepar PLMNidentity PX_PLMN_IDENTITY_UNKNOWN := 'f00000'O; + + /** + * @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 + */ + //modulepar TAC PX_TACode := '0000'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..273ce5dd4cf4c5d313f34a1fadebf8f262c38f85 --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_Templates.ttcn @@ -0,0 +1,4039 @@ +/** + * @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 { + +// /** +// * @desc Send template for NGAP PDU with InitiatingMessage payload +// * @param p_procedureCode Procedure code +// * @param p_value Message value according to the Procedure code +// * @see ETSI TS +// */ +// template (value) NGAP_PDU m_initiatingMessage( +// in ProcedureCode p_procedureCode, +// in NGAP_CommonDataTypes.Criticality p_criticality:=reject +// //in anytype p_value +// ) := { +// initiatingMessage := { +// procedureCode := p_procedureCode, +// criticality := p_criticality, +// value_ := omit//p_value +// } +// } // End of template m_initiatingMessage +// +// +//TODO: check value_ not allowed anytype +// /** +// * @desc Send template for NGAP PDU with SuccessfulOutcome payload +// * @param p_procedureCode Procedure code +// * @param p_value Message value according to the Procedure code +// * @see ETSI TS +// */ +// template (value) NGAP_PDU m_successfulOutcome( +// in ProcedureCode p_procedureCode, +// in NGAP_CommonDataTypes.Criticality p_criticality:=reject +// //in anytype p_value +// ) := { +// successfulOutcome := { +// procedureCode := p_procedureCode, +// criticality := p_criticality, +// value_ := ?//omit//p_value +// } +// } // End of template m_successfulOutcome +// +// /** +// * @desc Send template for NGAP PDU with unsuccessfulOutcome payload +// * @param p_procedureCode Procedure code +// * @param p_value Message value according to the Procedure code +// * @see ETSI TS +// */ +// template (value) NGAP_PDU m_unsuccessfulOutcome( +// in ProcedureCode p_procedureCode, +// in NGAP_CommonDataTypes.Criticality p_criticality:=reject +// //in anytype p_value +// ) := { +// unsuccessfulOutcome := { +// procedureCode := p_procedureCode, +// criticality := p_criticality, +// value_ := ?//omit//p_value +// } +// } // End of template m_unsuccessfulOutcome + + group Send{ + template /*(value)*/ NGAP_PDU m_ngap_initMsg( + in template InitiatingMessage p_msg + ) := { + initiatingMessage := p_msg + } // End of template m_ngap_initMsg + + template /*(value)*/ NGAP_PDU m_ngap_succMsg( + in template SuccessfulOutcome p_msg + ) := { + successfulOutcome := p_msg + } // End of template m_ngap_succMsg + + template /*(value)*/ NGAP_PDU m_ngap_unsuccMsg( + in template UnsuccessfulOutcome p_msg + ) := { + unsuccessfulOutcome := p_msg + } // End of template m_ngap_unsuccMsg + } + + group Receive{ + template /*(present)*/ NGAP_PDU mw_ngap_initMsg( + in template InitiatingMessage p_msg + ) := { + initiatingMessage := p_msg + } // End of template m_ngap_initMsg + + template /*(present)*/ NGAP_PDU mw_ngap_succMsg( + in template SuccessfulOutcome p_msg + ) := { + successfulOutcome := p_msg + } // End of template m_ngap_succMsg + + template /*(present)*/ NGAP_PDU mw_ngap_unsuccMsg( + in template UnsuccessfulOutcome p_msg + ) := { + unsuccessfulOutcome := p_msg + } // End of template m_ngap_unsuccMsg + } + }//end of group g_NGAP_PDU + + //9.2 + group Message_Functional_Definition_and_Content{ + //9.2.1 + group PDU_Session_Management_Messages{ + //9.2.1.1 + group PDU_SESSION_RESOURCE_SETUP_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + + template (value) InitiatingMessage m_n2_PDUSessionResourceSetupRequest( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID, + in template (value) PDUSessionResourceSetupListSUReq p_pduSessResSetL + ) := { + 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_pduSessResSetL} + } + + } + } + } + }//end of template mw_n2_PDUSessionResourceSetupRequest + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + + template (present) InitiatingMessage mw_n2_PDUSessionResourceSetupRequest( + in template (present) AMF_UE_NGAP_ID p_amfUeNgapID, + in template (present) RAN_UE_NGAP_ID p_ranUeNgapID, + in template (present) PDUSessionResourceSetupListSUReq p_pduSessResSetL + ) := { + 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_pduSessResSetL} + } + + } + } + } + }//end of template mw_n2_PDUSessionResourceSetupRequest + } + } + //9.2.1.2 + group PDU_SESSION_RESOURCE_SETUP_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + + template (value) SuccessfulOutcome m_n2_PDUSessionResourceSetupResponse( + in template (value) AMF_UE_NGAP_ID p_amfUeNgapID, + in template (value) RAN_UE_NGAP_ID p_ranUeNgapID, + in template (value) PDUSessionResourceSetupListSURes p_pduSessResSetL + ) := { + 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_pduSessResSetL} + } + + } + } + } + }//end of template mw_n2_PDUSessionResourceSetupResponse + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + + template (present) SuccessfulOutcome mw_n2_PDUSessionResourceSetupResponse( + in template (present) AMF_UE_NGAP_ID p_amfUeNgapID, + in template (present) RAN_UE_NGAP_ID p_ranUeNgapID, + in template (present) PDUSessionResourceSetupListSURes p_pduSessResSetL + ) := { + 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_pduSessResSetL} + } + + } + } + } + }//end of template mw_n2_PDUSessionResourceSetupResponse + } + } + //9.2.1.3 + group PDU_SESSION_RESOURCE_RELEASE_COMMAND{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.1.4 + group PDU_SESSION_RESOURCE_RELEASE_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.1.5 + group PDU_SESSION_RESOURCE_MODIFY_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.1.6 + group PDU_SESSION_RESOURCE_MODIFY_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.1.7 + group PDU_SESSION_RESOURCE_NOTIFY{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.1.8 + group PDU_SESSION_RESOURCE_MODIFY_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.1.9 + group PDU_SESSION_RESOURCE_MODIFY_CONFIRM{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end_of_group_PDU_Session_Management_Messages + + //9.2.2 + group UE_Context_Management_Messages{ + //9.2.2.1 + group INITIAL_CONTEXT_SETUP_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.2 + group INITIAL_CONTEXT_SETUP_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.3 + group INITIAL_CONTEXT_SETUP_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.4 + group UE_CONTEXT_RELEASE_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.5 + group UE_CONTEXT_RELEASE_COMMAND{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.6 + group UE_CONTEXT_RELEASE_COMPLETE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.7 + group UE_CONTEXT_MODIFICATION_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.8 + group UE_CONTEXT_MODIFICATION_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.9 + group UE_CONTEXT_MODIFICATION_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.10 + group RRC_INACTIVE_TRANSITION_REPORT{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.11 + group CONNECTION_ESTABLISHMENT_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.12 + group AMF_CP_RELOCATION_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.13 + group RAN_CP_RELOCATION_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.14 + group RETRIEVE_UE_INFORMATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.15 + group UE_INFORMATION_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.16 + group UE_CONTEXT_SUSPEND_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.17 + group UE_CONTEXT_SUSPEND_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.18 + group UE_CONTEXT_SUSPEND_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.19 + group UE_CONTEXT_RESUME_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.20 + group UE_CONTEXT_RESUME_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.2.21 + group UE_CONTEXT_RESUME_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end_of_group_UE_Context_Management_Messages_ + + //9.2.3 + group UE_Mobility_Management_Messages{ + //9.2.3.1 + group HANDOVER_REQUIRED{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.2 + group HANDOVER_COMMAND{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.3 + group HANDOVER_PREPARATION_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.4 + group HANDOVER_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.5 + group HANDOVER_REQUEST_ACKNOWLEDGE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.6 + group HANDOVER_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.7 + group HANDOVER_NOTIFY{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.8 + group PATH_SWITCH_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.9 + group PATH_SWITCH_REQUEST_ACKNOWLEDGE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.10 + group PATH_SWITCH_REQUEST_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.11 + group HANDOVER_CANCEL{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.12 + group HANDOVER_CANCEL_ACKNOWLEDGE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.13 + group UPLINK_RAN_STATUS_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.14 + group DOWNLINK_RAN_STATUS_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.15 + group HANDOVER_SUCCESS{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.16 + group UPLINK_RAN_EARLY_STATUS_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.3.17 + group DOWNLINK_RAN_EARLY_STATUS_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group UE_Mobility_Management_Messages + + //9.2.4 + group Paging_Messages{ + //9.2.4.1 + group PAGING{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group Paging_Messages + + //9.2.5 + group NAS_Transport_Messages{ + //9.2.5.1 + group INITIAL_UE_MESSAGE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.5.2 + group DOWNLINK_NAS_TRANSPORT{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.5.3 + group UPLINK_NAS_TRANSPORT{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.5.4 + group NAS_NON_DELIVERY_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.5.5 + group REROUTE_NAS_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group NAS_Transport_Messages + + //9.2.6 + group Interface_Management_Messages{ + //9.2.6.1 + group NG_SETUP_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + + template (value) InitiatingMessage m_n2_NGSetupRequest( + in template (value) GlobalRANNodeID p_globalRANNodeID, + in template (value) SupportedTAList p_supportedTAs, + in template (value) 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 m_n2_NGSetupRequest + + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.2 + group NG_SETUP_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.3 + group NG_SETUP_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.4 + group RAN_CONFIGURATION_UPDATE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.5 + group RAN_CONFIGURATION_UPDATE_ACKNOWLEDGE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.6 + group RAN_CONFIGURATION_UPDATE_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.7 + group AMF_CONFIGURATION_UPDATE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.8 + group AMF_CONFIGURATION_UPDATE_ACKNOWLEDGE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.9 + group AMF_CONFIGURATION_UPDATE_FAILURE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.10 + group AMF_STATUS_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.11 + group NG_RESET{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.12 + group NG_RESET_ACKNOWLEDGE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.13 + group ERROR_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.14 + group OVERLOAD_START{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.6.15 + group OVERLOAD_STOP{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group Interface_Management_Messages + + //9.2.7 + group Configuration_Transfer_Messages{ + //9.2.7.1 + group UPLINK_RAN_CONFIGURATION_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.7.2 + group DOWNLINK_RAN_CONFIGURATION_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group Configuration_Transfer_Messages + + //9.2.8 + group Warning_Message_Transmission_Messages{ + //9.2.8.1 + group WRITE_REPLACE_WARNING_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.8.2 + group WRITE_REPLACE_WARNING_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.8.3 + group PWS_CANCEL_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.8.4 + group PWS_CANCEL_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.8.5 + group PWS_RESTART_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.8.6 + group PWS_FAILURE_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//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{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.9.2 + group UPLINK_UE_ASSOCIATED_NRPPA_TRANSPORT{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.9.3 + group DOWNLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.9.4 + group UPLINK_NON_UE_ASSOCIATED_NRPPA_TRANSPORT{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group NRPPa_Transport_Messages + + //9.2.10 + group Trace_Messages{ + //9.2.10.1 + group TRACE_START{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.10.2 + group TRACE_FAILURE_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.10.3 + group DEACTIVATE_TRACE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.10.4 + group CELL_TRAFFIC_TRACE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group Trace_Messages + + //9.2.11 + group Location_Reporting_Messages{ + //9.2.11.1 + group LOCATION_REPORTING_CONTROL{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.11.2 + group LOCATION_REPORTING_FAILURE_INDICATION{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.11.3 + group LOCATION_REPORT{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//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{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//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{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.13.2 + group UE_RADIO_CAPABILITY_CHECK_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.13.3 + group UE_RADIO_CAPABILITY_CHECK_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.13.4 + group UE_RADIO_CAPABILITY_ID_MAPPING_REQUEST{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.13.5 + group UE_RADIO_CAPABILITY_ID_MAPPING_RESPONSE{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//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{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//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{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + //9.2.15.2 + group DOWNLINK_RIM_INFORMATION_TRANSFER{ + group Send{/* template (value) TYPE m_INTFERFACE_TEMPLATENAME*/ + } + group Receive{/* template (present) TYPE mw_INTFERFACE_TEMPLATENAME*/ + } + } + }//end of group RIM_Information_Transfer_Messages + + }//end of group Message_Functional_Definition_and_Content + + group Information_elements{ + group Send{/*m_ie_*/ + + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of AdditionalDLUPTNLInformationForHOItem AdditionalDLUPTNLInformationForHOList; + // type record AdditionalDLUPTNLInformationForHOItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AdditionalDLUPTNLInformationForHOItem_ExtIEs ( + // type enumerated AdditionalQosFlowInformation { + // type record AllocationAndRetentionPriority { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AllocationAndRetentionPriority_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAllowedCAGsperPLMN) of CAG_ID Allowed_CAG_List_per_PLMN; + // type record length (1 .. NGAP_Constants.maxnoofAllowedS_NSSAIs) of AllowedNSSAI_Item AllowedNSSAI; + // type record AllowedNSSAI_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AllowedNSSAI_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of Allowed_PNI_NPN_Item Allowed_PNI_NPN_List; + // type record Allowed_PNI_NPN_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Allowed_PNI_NPN_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAllowedAreas) of TAC AllowedTACs; + // type integer AlternativeQoSParaSetIndex ( + // type integer AlternativeQoSParaSetNotifyIndex ( + // type record length (1 .. NGAP_Constants.maxnoofQosParaSets) of AlternativeQoSParaSetItem AlternativeQoSParaSetList; + // type record AlternativeQoSParaSetItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AlternativeQoSParaSetItem_ExtIEs (?); + // type ASNAUX.PrintableString AMFName length ( + // type ASNAUX.VisibleString AMFNameVisibleString length ( + // type ASNAUX.UTF8String AMFNameUTF8String length ( + // type union AMFPagingTarget { + // type NGAP_Containers.NGAP_PROTOCOL_IES AMFPagingTarget_ExtIEs (?); + // type bitstring AMFPointer length (6); + // type bitstring AMFRegionID length (8); + // type bitstring AMFSetID length (10); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationSetupItem AMF_TNLAssociationSetupList; + // type record AMF_TNLAssociationSetupItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationSetupItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationToAddItem AMF_TNLAssociationToAddList; + // type record AMF_TNLAssociationToAddItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationToAddItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationToRemoveItem AMF_TNLAssociationToRemoveList; + // type record AMF_TNLAssociationToRemoveItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationToRemoveItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationToUpdateItem AMF_TNLAssociationToUpdateList; + // type record AMF_TNLAssociationToUpdateItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationToUpdateItem_ExtIEs (?); + + // type integer AMF_UE_NGAP_ID (0 .. 1099511627775); + template AMF_UE_NGAP_ID m_ie_aMFUeNgapId(integer p_val:=1) := p_val; + + // type record AreaOfInterest { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterest_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinAoI) of AreaOfInterestCellItem AreaOfInterestCellList; + // type record AreaOfInterestCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestCellItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAoI) of AreaOfInterestItem AreaOfInterestList; + // type record AreaOfInterestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofRANNodeinAoI) of AreaOfInterestRANNodeItem AreaOfInterestRANNodeList; + // type record AreaOfInterestRANNodeItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestRANNodeItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIinAoI) of AreaOfInterestTAIItem AreaOfInterestTAIList; + // type record AreaOfInterestTAIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestTAIItem_ExtIEs (?); + // type record AssistanceDataForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssistanceDataForPaging_ExtIEs ( + // type record AssistanceDataForRecommendedCells { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssistanceDataForRecommendedCells_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of AssociatedMBSQosFlowSetupRequestItem AssociatedMBSQosFlowSetupRequestList; + // type record AssociatedMBSQosFlowSetupRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssociatedMBSQosFlowSetupRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of AssociatedMBSQosFlowSetuporModifyRequestItem AssociatedMBSQosFlowSetuporModifyRequestList; + // type record AssociatedMBSQosFlowSetuporModifyRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssociatedMBSQosFlowSetuporModifyRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of AssociatedQosFlowItem AssociatedQosFlowList; + // type record AssociatedQosFlowItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssociatedQosFlowItem_ExtIEs ( + // type enumerated AuthenticatedIndication { + // type integer AveragingWindow ( + // type union AreaScopeOfMDT_NR { + // type NGAP_Containers.NGAP_PROTOCOL_IES AreaScopeOfMDT_NR_ExtIEs (?); + // type union AreaScopeOfMDT_EUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_IES AreaScopeOfMDT_EUTRA_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofFreqforMDT) of AreaScopeOfNeighCellsItem AreaScopeOfNeighCellsList; + // type record AreaScopeOfNeighCellsItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaScopeOfNeighCellsItem_ExtIEs (?); + // type union AreaScopeOfQMC { + // type NGAP_Containers.NGAP_PROTOCOL_IES AreaScopeOfQMC_ExtIEs (?); + // type record AvailableRANVisibleQoEMetrics { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AvailableRANVisibleQoEMetrics_ExtIEs (?); + // type record BeamMeasurementsReportConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BeamMeasurementsReportConfiguration_ExtIEs (?); + // type record BeamMeasurementsReportQuantity { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BeamMeasurementsReportQuantity_ExtIEs (?); + // type integer BitRate ( + // type union BroadcastCancelledAreaList { + // type NGAP_Containers.NGAP_PROTOCOL_IES BroadcastCancelledAreaList_ExtIEs (?); + // type union BroadcastCompletedAreaList { + // type NGAP_Containers.NGAP_PROTOCOL_IES BroadcastCompletedAreaList_ExtIEs (?); + + // type record length (1 .. NGAP_Constants.maxnoofBPLMNs) of BroadcastPLMNItem BroadcastPLMNList; + template BroadcastPLMNList m_ie_broadcastPLMNList(in template BroadcastPLMNList p_list):=p_list; + + // type record BroadcastPLMNItem { + template BroadcastPLMNItem m_ie_broadcastPLMNItem( + in template PLMNIdentity p_plmnId, + in template SliceSupportList p_ssl + ):={ + pLMNIdentity := p_plmnId, + tAISliceSupportList := p_ssl, + iE_Extensions :=omit + }//end of template m_ie_broadcastPLMNItem + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BroadcastPLMNItem_ExtIEs ( + // type record BluetoothMeasurementConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BluetoothMeasurementConfiguration_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofBluetoothName) of BluetoothMeasConfigNameItem BluetoothMeasConfigNameList; + // type record BluetoothMeasConfigNameItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BluetoothMeasConfigNameItem_ExtIEs (?); + // type enumerated BluetoothMeasConfig { + // type octetstring BluetoothName length (1 .. 248); + // type octetstring BurstArrivalTime; + // type bitstring CAG_ID length (32); + // type enumerated CancelAllWarningMessages { + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CancelledCellsInEAI_EUTRA_Item CancelledCellsInEAI_EUTRA; + // type record CancelledCellsInEAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInEAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CancelledCellsInEAI_NR_Item CancelledCellsInEAI_NR; + // type record CancelledCellsInEAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInEAI_NR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CancelledCellsInTAI_EUTRA_Item CancelledCellsInTAI_EUTRA; + // type record CancelledCellsInTAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInTAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CancelledCellsInTAI_NR_Item CancelledCellsInTAI_NR; + // type record CancelledCellsInTAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInTAI_NR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCandidateCells) of CandidateCellItem CandidateCellList; + // type record CandidateCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CandidateCellItem_ExtIEs (?); + // type union CandidateCell { + // type NGAP_Containers.NGAP_PROTOCOL_IES CandidateCell_ExtIEs (?); + // type record CandidateCellID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CandidateCellID_ExtIEs (?); + // type record CandidatePCI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CandidatePCI_ExtIEs (?); + // type union Cause { + // type NGAP_Containers.NGAP_PROTOCOL_IES Cause_ExtIEs (?); + // type enumerated CauseMisc { + // type enumerated CauseNas { + // type enumerated CauseProtocol { + // type enumerated CauseRadioNetwork { + // type enumerated CauseTransport { + // type record Cell_CAGInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Cell_CAGInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCAGSperCell) of CAG_ID CellCAGList; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDBroadcastEUTRA_Item CellIDBroadcastEUTRA; + // type record CellIDBroadcastEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDBroadcastEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDBroadcastNR_Item CellIDBroadcastNR; + // type record CellIDBroadcastNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDBroadcastNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDCancelledEUTRA_Item CellIDCancelledEUTRA; + // type record CellIDCancelledEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDCancelledEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDCancelledNR_Item CellIDCancelledNR; + // type record CellIDCancelledNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDCancelledNR_Item_ExtIEs (?); + // type union CellIDListForRestart { + // type NGAP_Containers.NGAP_PROTOCOL_IES CellIDListForRestart_ExtIEs (?); + // type enumerated CellSize { + // type record CellType { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellType_ExtIEs (?); + // type enumerated CEmodeBSupport_Indicator { + // type enumerated CEmodeBrestricted { + // type record CNAssistedRANTuning { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CNAssistedRANTuning_ExtIEs (?); + // type integer CNsubgroupID ( + // type record length (1 .. NGAP_Constants.maxnoofEPLMNs) of CNTypeRestrictionsForEquivalentItem CNTypeRestrictionsForEquivalent; + // type record CNTypeRestrictionsForEquivalentItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CNTypeRestrictionsForEquivalentItem_ExtIEs (?); + // type enumerated CNTypeRestrictionsForServing { + // type octetstring CommonNetworkInstance; + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CompletedCellsInEAI_EUTRA_Item CompletedCellsInEAI_EUTRA; + // type record CompletedCellsInEAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInEAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CompletedCellsInEAI_NR_Item CompletedCellsInEAI_NR; + // type record CompletedCellsInEAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInEAI_NR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CompletedCellsInTAI_EUTRA_Item CompletedCellsInTAI_EUTRA; + // type record CompletedCellsInTAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInTAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CompletedCellsInTAI_NR_Item CompletedCellsInTAI_NR; + // type record CompletedCellsInTAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInTAI_NR_Item_ExtIEs (?); + // type enumerated ConcurrentWarningMessageInd { + // type enumerated ConfidentialityProtectionIndication { + // type enumerated ConfidentialityProtectionResult { + // type enumerated ConfiguredTACIndication { + // type record CoreNetworkAssistanceInformationForInactive { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CoreNetworkAssistanceInformationForInactive_ExtIEs ( + // type record COUNTValueForPDCP_SN12 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION COUNTValueForPDCP_SN12_ExtIEs (?); + // type record COUNTValueForPDCP_SN18 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION COUNTValueForPDCP_SN18_ExtIEs (?); + // type octetstring CoverageEnhancementLevel; + // type union CPTransportLayerInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES CPTransportLayerInformation_ExtIEs ( + // type record CriticalityDiagnostics { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CriticalityDiagnostics_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofErrors) of CriticalityDiagnostics_IE_Item CriticalityDiagnostics_IE_List; + // type record CriticalityDiagnostics_IE_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CriticalityDiagnostics_IE_Item_ExtIEs (?); + // type record CellBasedMDT_NR { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellBasedMDT_NR_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforMDT) of NR_CGI CellIdListforMDT_NR; + // type record CellBasedMDT_EUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellBasedMDT_EUTRA_ExtIEs (?); + // type record CellBasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellBasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforQMC) of NGRAN_CGI CellIdListforQMC; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforMDT) of EUTRA_CGI CellIdListforMDT_EUTRA; + // type bitstring DataCodingScheme length (8); + // type enumerated DataForwardingAccepted { + // type enumerated DataForwardingNotPossible { + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DataForwardingResponseDRBItem DataForwardingResponseDRBList; + // type record DataForwardingResponseDRBItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DataForwardingResponseDRBItem_ExtIEs (?); + // type record DAPSRequestInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DAPSRequestInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DAPSResponseInfoItem DAPSResponseInfoList; + // type record DAPSResponseInfoItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DAPSResponseInfoItem_ExtIEs (?); + // type record DAPSResponseInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DAPSResponseInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofE_RABs) of DataForwardingResponseERABListItem DataForwardingResponseERABList; + // type record DataForwardingResponseERABListItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DataForwardingResponseERABListItem_ExtIEs (?); + // type enumerated DelayCritical { + // type record DL_CP_SecurityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DL_CP_SecurityInformation_ExtIEs (?); + // type bitstring DL_NAS_MAC length (16); + // type enumerated DLForwarding { + // type enumerated DL_NGU_TNLInformationReused { + // type enumerated DirectForwardingPathAvailability { + // type integer DRB_ID ( + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DRBsSubjectToStatusTransferItem DRBsSubjectToStatusTransferList; + // type record DRBsSubjectToStatusTransferItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBsSubjectToStatusTransferItem_ExtIEs ( + // type union DRBStatusDL { + // type NGAP_Containers.NGAP_PROTOCOL_IES DRBStatusDL_ExtIEs (?); + // type record DRBStatusDL12 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusDL12_ExtIEs (?); + // type record DRBStatusDL18 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusDL18_ExtIEs (?); + // type union DRBStatusUL { + // type NGAP_Containers.NGAP_PROTOCOL_IES DRBStatusUL_ExtIEs (?); + // type record DRBStatusUL12 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusUL12_ExtIEs (?); + // type record DRBStatusUL18 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusUL18_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DRBsToQosFlowsMappingItem DRBsToQosFlowsMappingList; + // type record DRBsToQosFlowsMappingItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBsToQosFlowsMappingItem_ExtIEs ( + // type record Dynamic5QIDescriptor { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Dynamic5QIDescriptor_ExtIEs ( + // type enumerated EarlyMeasurement { + // type record EarlyStatusTransfer_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EarlyStatusTransfer_TransparentContainer_ExtIEs (?); + // type union ProcedureStageChoice { + // type NGAP_Containers.NGAP_PROTOCOL_IES ProcedureStageChoice_ExtIEs (?); + // type record FirstDLCount { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FirstDLCount_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DRBsSubjectToEarlyStatusTransfer_Item DRBsSubjectToEarlyStatusTransfer_List; + // type record DRBsSubjectToEarlyStatusTransfer_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBsSubjectToEarlyStatusTransfer_Item_ExtIEs (?); + // type enumerated EDT_Session { + // type octetstring EmergencyAreaID length (3); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDBroadcastEUTRA_Item EmergencyAreaIDBroadcastEUTRA; + // type record EmergencyAreaIDBroadcastEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDBroadcastEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDBroadcastNR_Item EmergencyAreaIDBroadcastNR; + // type record EmergencyAreaIDBroadcastNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDBroadcastNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDCancelledEUTRA_Item EmergencyAreaIDCancelledEUTRA; + // type record EmergencyAreaIDCancelledEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDCancelledEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDCancelledNR_Item EmergencyAreaIDCancelledNR; + // type record EmergencyAreaIDCancelledNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDCancelledNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaID EmergencyAreaIDList; + // type record length (1 .. NGAP_Constants.maxnoofEAIforRestart) of EmergencyAreaID EmergencyAreaIDListForRestart; + // type record EmergencyFallbackIndicator { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyFallbackIndicator_ExtIEs (?); + // type enumerated EmergencyFallbackRequestIndicator { + // type enumerated EmergencyServiceTargetCN { + // type union ENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES ENB_ID_ExtIEs (?); + // type enumerated Enhanced_CoverageRestriction { + // type integer Extended_ConnectedTime (0 .. 255); + // type octetstring EN_DCSONConfigurationTransfer; + // type record EndpointIPAddressAndPort { + // type enumerated EndIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EndpointIPAddressAndPort_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEPLMNs) of PLMNIdentity EquivalentPLMNs; + // type octetstring EPS_TAC length (2); + // type record EPS_TAI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EPS_TAI_ExtIEs (?); + // type integer E_RAB_ID ( + // type record length (1 .. NGAP_Constants.maxnoofE_RABs) of E_RABInformationItem E_RABInformationList; + // type record E_RABInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION E_RABInformationItem_ExtIEs ( + // type bitstring EUTRACellIdentity length (28); + // type record EUTRA_CGI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRA_CGI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinngeNB) of EUTRA_CGI EUTRA_CGIList; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of EUTRA_CGI EUTRA_CGIListForWarning; + // type record EUTRA_PagingeDRXInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRA_PagingeDRXInformation_ExtIEs (?); + // type enumerated EUTRA_Paging_eDRX_Cycle { + // type enumerated EUTRA_Paging_Time_Window { + // type bitstring EUTRAencryptionAlgorithms length ( + // type bitstring EUTRAintegrityProtectionAlgorithms length ( + // type enumerated EventType { + // type record length (1 .. NGAP_Constants.maxnoofThresholdsForExcessPacketDelay) of ExcessPacketDelayThresholdItem ExcessPacketDelayThresholdConfiguration; + // type record ExcessPacketDelayThresholdItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExcessPacketDelayThresholdItem_ExtIEs (?); + // type enumerated ExcessPacketDelayThresholdValue { + // type integer ExpectedActivityPeriod ( + // type enumerated ExpectedHOInterval { + // type integer ExpectedIdlePeriod ( + // type record ExpectedUEActivityBehaviour { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExpectedUEActivityBehaviour_ExtIEs (?); + // type record ExpectedUEBehaviour { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExpectedUEBehaviour_ExtIEs (?); + // type enumerated ExpectedUEMobility { + // type record length (1 .. NGAP_Constants.maxnoofCellsUEMovingTrajectory) of ExpectedUEMovingTrajectoryItem ExpectedUEMovingTrajectory; + // type record ExpectedUEMovingTrajectoryItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExpectedUEMovingTrajectoryItem_ExtIEs (?); + // type record Extended_AMFName { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Extended_AMFName_ExtIEs (?); + // type integer ExtendedPacketDelayBudget ( + // type record Extended_RANNodeName { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Extended_RANNodeName_ExtIEs (?); + // type record ExtendedRATRestrictionInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExtendedRATRestrictionInformation_ExtIEs (?); + // type integer ExtendedRNC_ID (4096 .. 65535); + // type record length (1 .. NGAP_Constants.maxnoofExtSliceItems) of SliceSupportItem ExtendedSliceSupportList; + // type bitstring ExtendedUEIdentityIndexValue length (16); + // type union EventTrigger { + // type NGAP_Containers.NGAP_PROTOCOL_IES EventTrigger_ExtIEs (?); + // type record EventL1LoggedMDTConfig { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EventL1LoggedMDTConfig_ExtIEs (?); + // type union MeasurementThresholdL1LoggedMDT { + // type NGAP_Containers.NGAP_PROTOCOL_IES MeasurementThresholdL1LoggedMDT_ExtIEs (?); + // type record FailureIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FailureIndication_ExtIEs (?); + // type record FiveG_ProSeAuthorized { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveG_ProSeAuthorized_ExtIEs (?); + // type enumerated FiveGProSeDirectDiscovery { + // type enumerated FiveGProSeDirectCommunication { + // type enumerated FiveGProSeLayer2UEtoNetworkRelay { + // type enumerated FiveGProSeLayer3UEtoNetworkRelay { + // type enumerated FiveGProSeLayer2RemoteUE { + // type record FiveG_ProSePC5QoSParameters { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveG_ProSePC5QoSParameters_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPC5QoSFlows) of FiveGProSePC5QoSFlowItem FiveGProSePC5QoSFlowList; + // type record FiveGProSePC5QoSFlowItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveGProSePC5QoSFlowItem_ExtIEs (?); + // type record FiveGProSePC5FlowBitRates { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveGProSePC5FlowBitRates_ExtIEs (?); + // type record FiveG_S_TMSI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveG_S_TMSI_ExtIEs (?); + // type octetstring FiveG_TMSI length (4); + // type integer FiveQI ( + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of ForbiddenAreaInformation_Item ForbiddenAreaInformation; + // type record ForbiddenAreaInformation_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ForbiddenAreaInformation_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofForbTACs) of TAC ForbiddenTACs; + // type record FromEUTRANtoNGRAN { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FromEUTRANtoNGRAN_ExtIEs (?); + // type record FromNGRANtoEUTRAN { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FromNGRANtoEUTRAN_ExtIEs (?); + // type record GBR_QosInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GBR_QosInformation_ExtIEs ( + // type octetstring GlobalCable_ID; + // type record GlobalCable_ID_new { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalCable_ID_new_ExtIEs (?); + // type record GlobalENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalENB_ID_ExtIEs (?); + + // type record GlobalGNB_ID { + template GlobalGNB_ID m_ie_globalGnbId( + in template PLMNIdentity p_plmnId, + in template bitstring p_gnbId + ):={ + pLMNIdentity := p_plmnId,//'010001'O, + gNB_ID := {gNB_ID:=p_gnbId/*'0000000000000000000000'B*/}, + iE_Extensions:= omit + }//end of template m_ie_globalGnbId + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalGNB_ID_ExtIEs (?); + // type record GlobalN3IWF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalN3IWF_ID_ExtIEs (?); + // type record GlobalLine_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalLine_ID_ExtIEs ( + // type octetstring GlobalLineIdentity; + // type record GlobalNgENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalNgENB_ID_ExtIEs (?); + + // type union GlobalRANNodeID { + template GlobalRANNodeID m_ie_gRanNodeID ( + in template GlobalGNB_ID p_gGnbId + ):={ + globalGNB_ID := p_gGnbId +// { +// pLMNIdentity := p_plmnId,//'010001'O, +// gNB_ID := {gNB_ID:=p_gnbId/*'0000000000000000000000'B*/}, +// iE_Extensions := omit +// } + }//end of template m_ie_gRanNodeID + + // type NGAP_Containers.NGAP_PROTOCOL_IES GlobalRANNodeID_ExtIEs ( + // type record GlobalTNGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalTNGF_ID_ExtIEs (?); + // type record GlobalTWIF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalTWIF_ID_ExtIEs (?); + // type record GlobalW_AGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalW_AGF_ID_ExtIEs (?); + // type union GNB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES GNB_ID_ExtIEs (?); + // type octetstring GTP_TEID length (4); + template GTP_TEID m_ie_gtpTeId(GTP_TEID p_val:='00000000'O):=p_val; + + // type record GTPTunnel { + template GTPTunnel m_ie_gTPTunnel( + in template TransportLayerAddress p_tla, + in template GTP_TEID p_gtp_teid + ):= { + transportLayerAddress := p_tla, + gTP_TEID := p_gtp_teid, + iE_Extensions:=omit + } + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GTPTunnel_ExtIEs (?); + // type record GUAMI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GUAMI_ExtIEs (?); + // type enumerated GUAMIType { + // type record HandoverCommandTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverCommandTransfer_ExtIEs ( + // type enumerated HandoverFlag { + // type record HandoverPreparationUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverPreparationUnsuccessfulTransfer_ExtIEs (?); + // type record HandoverRequestAcknowledgeTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverRequestAcknowledgeTransfer_ExtIEs ( + // type record HandoverRequiredTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverRequiredTransfer_ExtIEs (?); + // type record HandoverResourceAllocationUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverResourceAllocationUnsuccessfulTransfer_ExtIEs (?); + // type enumerated HandoverType { + // type bitstring HashedUEIdentityIndexValue length ( + // type octetstring HFCNode_ID; + // type record HFCNode_ID_new { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HFCNode_ID_new_ExtIEs (?); + // type record HOReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HOReport_ExtIEs (?); + // type integer Hysteresis (0 .. 30); + // type enumerated IAB_Authorized { + // type enumerated IAB_Supported { + // type enumerated IABNodeIndication { + // type enumerated IMSVoiceSupportIndicator { + // type integer IndexToRFSP ( + // type record InfoOnRecommendedCellsAndRANNodesForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION InfoOnRecommendedCellsAndRANNodesForPaging_ExtIEs (?); + // type enumerated IntegrityProtectionIndication { + // type enumerated IntegrityProtectionResult { + // type integer IntendedNumberOfPagingAttempts ( + // type bitstring InterfacesToTrace length (8); + // type record ImmediateMDTNr { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ImmediateMDTNr_ExtIEs (?); + // type record InterSystemFailureIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION InterSystemFailureIndication_ExtIEs (?); + // type record IntersystemSONConfigurationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemSONConfigurationTransfer_ExtIEs (?); + // type union IntersystemSONTransferType { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONTransferType_ExtIEs (?); + // type record IntersystemSONeNBID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemSONeNBID_ExtIEs (?); + // type record IntersystemSONNGRANnodeID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemSONNGRANnodeID_ExtIEs (?); + // type union IntersystemSONInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformation_ExtIEs ( + // type union IntersystemSONInformationRequest { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformationRequest_ExtIEs (?); + // type record IntersystemCellActivationRequest { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemCellActivationRequest_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinNGRANNode) of NGRAN_CGI CellsToActivateList; + // type record IntersystemResourceStatusRequest { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemResourceStatusRequest_ExtIEs (?); + // type union ReportingSystem { + // type NGAP_Containers.NGAP_PROTOCOL_IES ReportingSystem_ExtIEs (?); + // type record EUTRAN_ReportingSystemIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_ReportingSystemIEs_ExtIEs (?); + // type record NGRAN_ReportingSystemIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_ReportingSystemIEs_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of EUTRAN_CellToReportItem EUTRAN_CellToReportList; + // type record EUTRAN_CellToReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_CellToReportItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of NGRAN_CellToReportItem NGRAN_CellToReportList; + // type record NGRAN_CellToReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_CellToReportItem_ExtIEs (?); + // type bitstring ReportCharacteristics length (32); + // type union ReportType { + // type NGAP_Containers.NGAP_PROTOCOL_IES ReportType_ExtIEs (?); + // type record EventBasedReportingIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EventBasedReportingIEs_ExtIEs (?); + // type integer IntersystemResourceThreshold (0 .. 100); + // type enumerated NumberOfMeasurementReportingLevels { + // type record PeriodicReportingIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PeriodicReportingIEs_ExtIEs (?); + // type enumerated ReportingPeriodicity { + // type union IntersystemSONInformationReply { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformationReply_ExtIEs (?); + // type record IntersystemCellActivationReply { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemCellActivationReply_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinNGRANNode) of NGRAN_CGI ActivatedCellList; + // type record IntersystemResourceStatusReply { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemResourceStatusReply_ExtIEs (?); + // type union IntersystemSONInformationReport { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformationReport_ExtIEs ( + // type record IntersystemCellStateIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemCellStateIndication_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinNGRANNode) of NotificationCell_Item NotificationCellList; + // type record NotificationCell_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NotificationCell_Item_ExtIEs (?); + // type record IntersystemResourceStatusReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemResourceStatusReport_ExtIEs (?); + // type union ResourceStatusReportingSystem { + // type NGAP_Containers.NGAP_PROTOCOL_IES ResourceStatusReportingSystem_ExtIEs (?); + // type record EUTRAN_ReportingStatusIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_ReportingStatusIEs_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of EUTRAN_CellReportItem EUTRAN_CellReportList; + // type record EUTRAN_CellReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_CellReportItem_ExtIEs (?); + // type record EUTRAN_CompositeAvailableCapacityGroup { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_CompositeAvailableCapacityGroup_ExtIEs (?); + // type record CompositeAvailableCapacity { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompositeAvailableCapacity_ExtIEs (?); + // type integer EUTRAN_NumberOfActiveUEs ( + // type record EUTRAN_RadioResourceStatus { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_RadioResourceStatus_ExtIEs (?); + // type record NGRAN_ReportingStatusIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_ReportingStatusIEs_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of NGRAN_CellReportItem NGRAN_CellReportList; + // type record NGRAN_CellReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_CellReportItem_ExtIEs (?); + // type integer NGRAN_NumberOfActiveUEs ( + // type integer NGRAN_NoofRRCConnections ( + // type record NGRAN_RadioResourceStatus { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_RadioResourceStatus_ExtIEs (?); + // type record InterSystemHOReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION InterSystemHOReport_ExtIEs (?); + // type union InterSystemHandoverReportType { + // type NGAP_Containers.NGAP_PROTOCOL_IES InterSystemHandoverReportType_ExtIEs (?); + // type record IntersystemUnnecessaryHO { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemUnnecessaryHO_ExtIEs (?); + // type octetstring LAC length (2); + // type record LAI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LAI_ExtIEs (?); + // type union LastVisitedCellInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES LastVisitedCellInformation_ExtIEs (?); + // type record LastVisitedCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LastVisitedCellItem_ExtIEs (?); + // type octetstring LastVisitedEUTRANCellInformation; + // type octetstring LastVisitedGERANCellInformation; + // type record LastVisitedNGRANCellInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LastVisitedNGRANCellInformation_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPSCellsPerPrimaryCellinUEHistoryInfo) of LastVisitedPSCellInformation LastVisitedPSCellList; + // type record LastVisitedPSCellInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LastVisitedPSCellInformation_ExtIEs (?); + // type octetstring LastVisitedUTRANCellInformation; + // type enumerated LineType { + // type enumerated LocationReportingAdditionalInfo { + // type integer LocationReportingReferenceID ( + // type record LocationReportingRequestType { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LocationReportingRequestType_ExtIEs ( + // type record LoggedMDTNr { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LoggedMDTNr_ExtIEs ( + // type enumerated LoggingInterval { + // type enumerated LoggingDuration { + // type enumerated Links_to_log { + // type union LoggedMDTTrigger { + // type NGAP_Containers.NGAP_PROTOCOL_IES LoggedMDTTrigger_ExtIEs (?); + // type enumerated LTEM_Indication { + // type octetstring LTEUERLFReportContainer; + // type record LTEV2XServicesAuthorized { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LTEV2XServicesAuthorized_ExtIEs (?); + // type record LTEUESidelinkAggregateMaximumBitrate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LTEUE_Sidelink_Aggregate_MaximumBitrates_ExtIEs (?); + // type bitstring MaskedIMEISV length (64); + // type integer MaximumDataBurstVolume ( + // type bitstring MessageIdentifier length (16); + // type enumerated MaximumIntegrityProtectedDataRate { + // type integer MBS_AreaSessionID ( + // type record length (1 .. NGAP_Constants.maxnoofMRBs) of MBS_DataForwardingResponseMRBItem MBS_DataForwardingResponseMRBList; + // type record MBS_DataForwardingResponseMRBItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DataForwardingResponseMRBItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMRBs) of MBS_MappingandDataForwardingRequestItem MBS_MappingandDataForwardingRequestList; + // type record MBS_MappingandDataForwardingRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_MappingandDataForwardingRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of QosFlowIdentifier MBS_QoSFlowList; + // type union MRB_ProgressInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES MRB_ProgressInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of MBS_QoSFlowsToBeSetupItem MBS_QoSFlowsToBeSetupList; + // type record MBS_QoSFlowsToBeSetupItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_QoSFlowsToBeSetupItem_ExtIEs (?); + // type union MBS_ServiceArea { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBS_ServiceArea_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSServiceAreaInformation) of MBS_ServiceAreaInformationItem MBS_ServiceAreaInformationList; + // type record MBS_ServiceAreaInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ServiceAreaInformationItem_ExtIEs (?); + // type record MBS_ServiceAreaInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ServiceAreaInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsforMBS) of NR_CGI MBS_ServiceAreaCellList; + // type record length (1 .. NGAP_Constants.maxnoofTAIforMBS) of TAI MBS_ServiceAreaTAIList; + // type record MBS_SessionID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_SessionID_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionFailedtoSetupItem MBSSessionFailedtoSetupList; + // type record MBSSessionFailedtoSetupItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionFailedtoSetupItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessionsofUE) of MBS_ActiveSessionInformation_SourcetoTargetItem MBS_ActiveSessionInformation_SourcetoTargetList; + // type record MBS_ActiveSessionInformation_SourcetoTargetItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ActiveSessionInformation_SourcetoTargetItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessionsofUE) of MBS_ActiveSessionInformation_TargettoSourceItem MBS_ActiveSessionInformation_TargettoSourceList; + // type record MBS_ActiveSessionInformation_TargettoSourceItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ActiveSessionInformation_TargettoSourceItem_ExtIEs (?); + // type record MBSSessionSetupOrModFailureTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupOrModFailureTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionSetupResponseItem MBSSessionSetupResponseList; + // type record MBSSessionSetupResponseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupResponseItem_ExtIEs (?); + // type record MBSSessionSetupOrModRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBSSessionSetupOrModRequestTransferIEs ( + // type record length (1 .. NGAP_Constants.maxnoofMBSFSAs) of MBS_SessionFSAID MBS_SessionFSAIDList; + // type octetstring MBS_SessionFSAID length (3); + // type record MBSSessionReleaseResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionReleaseResponseTransfer_ExtIEs (?); + // type record MBSSessionSetupOrModResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupOrModResponseTransfer_ExtIEs (?); + // type enumerated MBS_SupportIndicator { + // type union MBS_SessionTNLInfo5GC { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBS_SessionTNLInfo5GC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSServiceAreaInformation) of MBS_SessionTNLInfo5GCItem MBS_SessionTNLInfo5GCList; + // type record MBS_SessionTNLInfo5GCItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_SessionTNLInfo5GCItem_ExtIEs (?); + // type union MBS_SessionTNLInfoNGRAN { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBS_SessionTNLInfoNGRAN_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSServiceAreaInformation) of MBS_SessionTNLInfoNGRANItem MBS_SessionTNLInfoNGRANList; + // type record MBS_SessionTNLInfoNGRANItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_SessionTNLInfoNGRANItem_ExtIEs (?); + // type record MBS_DistributionReleaseRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionReleaseRequesTransfer_ExtIEs (?); + // type record MBS_DistributionSetupRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionSetupRequestTransfer_ExtIEs (?); + // type record MBS_DistributionSetupResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionSetupResponseTransfer_ExtIEs (?); + // type record MBS_DistributionSetupUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionSetupUnsuccessfulTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionSetupRequestItem MBSSessionSetupRequestList; + // type record MBSSessionSetupRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionSetuporModifyRequestItem MBSSessionSetuporModifyRequestList; + // type record MBSSessionSetuporModifyRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetuporModifyRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionToReleaseItem MBSSessionToReleaseList; + // type record MBSSessionToReleaseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionToReleaseItem_ExtIEs (?); + // type enumerated MBSSessionStatus { + // type enumerated MicoAllPLMN { + // type enumerated MICOModeIndication { + // type bitstring MobilityInformation length (16); + // type record MobilityRestrictionList { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MobilityRestrictionList_ExtIEs ( + // type union MDT_AlignmentInfo { + // type NGAP_Containers.NGAP_PROTOCOL_IES MDT_AlignmentInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMDTPLMNs) of PLMNIdentity MDTPLMNList; + // type record length (0 .. NGAP_Constants.maxnoofMDTPLMNs) of PLMNIdentity MDTPLMNModificationList; + // type record MDT_Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Configuration_ExtIEs (?); + // type record MDT_Configuration_NR { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Configuration_NR_ExtIEs (?); + // type record MDT_Configuration_EUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Configuration_EUTRA_ExtIEs (?); + // type enumerated MDT_Activation { + // type union MDTModeNr { + // type NGAP_Containers.NGAP_PROTOCOL_IES MDTModeNr_ExtIEs (?); + // type octetstring MDTModeEutra; + // type bitstring MeasurementsToActivate length (8); + // type integer MRB_ID ( + // type record MulticastSessionActivationRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastSessionActivationRequestTransfer_ExtIEs (?); + // type record MulticastSessionDeactivationRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastSessionDeactivationRequestTransfer_ExtIEs (?); + // type record MulticastSessionUpdateRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_IES MulticastSessionUpdateRequestTransferIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPagingAreas) of MulticastGroupPagingAreaItem MulticastGroupPagingAreaList; + // type record MulticastGroupPagingAreaItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastGroupPagingAreaItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforPaging) of TAI MBS_AreaTAIList; + // type record MulticastGroupPagingArea { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastGroupPagingArea_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofUEsforPaging) of UE_PagingItem UE_PagingList; + // type record UE_PagingItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_PagingItem_ExtIEs (?); + // type record M1Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M1Configuration_ExtIEs ( + // type enumerated IncludeBeamMeasurementsIndication { + // type integer MaxNrofRS_IndexesToReport ( + // type enumerated M1ReportingTrigger { + // type record M1ThresholdEventA2 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M1ThresholdEventA2_ExtIEs (?); + // type union M1ThresholdType { + // type NGAP_Containers.NGAP_PROTOCOL_IES M1ThresholdType_ExtIEs (?); + // type record M1PeriodicReporting { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M1PeriodicReporting_ExtIEs ( + // type record M4Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M4Configuration_ExtIEs ( + // type enumerated M4ReportAmountMDT { + // type enumerated M4period { + // type record M5Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M5Configuration_ExtIEs ( + // type enumerated M5ReportAmountMDT { + // type enumerated M5period { + // type record M6Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M6Configuration_ExtIEs ( + // type enumerated M6ReportAmountMDT { + // type enumerated M6report_Interval { + // type record M7Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M7Configuration_ExtIEs ( + // type enumerated M7ReportAmountMDT { + // type integer M7period ( + // type record MDT_Location_Info { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Location_Info_ExtIEs (?); + // type bitstring MDT_Location_Information length (8); + // type union N3IWF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES N3IWF_ID_ExtIEs (?); + // type octetstring NAS_PDU; + // type octetstring NASSecurityParametersFromNGRAN; + // type enumerated NB_IoT_DefaultPagingDRX { + // type enumerated NB_IoT_PagingDRX { + // type enumerated NB_IoT_Paging_eDRXCycle { + // type enumerated NB_IoT_Paging_TimeWindow { + // type record NB_IoT_Paging_eDRXInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NB_IoT_Paging_eDRXInfo_ExtIEs (?); + // type integer NB_IoT_UEPriority ( + // type integer NetworkInstance ( + // type enumerated NewSecurityContextInd { + // type integer NextHopChainingCount (0 .. 7); + // type enumerated NextPagingAreaScope { + // type record length (1 .. NGAP_Constants.maxnoofNGAPIESupportInfo) of NGAPIESupportInformationRequestItem NGAPIESupportInformationRequestList; + // type record NGAPIESupportInformationRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGAPIESupportInformationRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofNGAPIESupportInfo) of NGAPIESupportInformationResponseItem NGAPIESupportInformationResponseList; + // type record NGAPIESupportInformationResponseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGAPIESupportInformationResponseItem_ExtIEs (?); + // type union NgENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES NgENB_ID_ExtIEs (?); + // type enumerated NotifySourceNGRANNode { + // type union NGRAN_CGI { + // type NGAP_Containers.NGAP_PROTOCOL_IES NGRAN_CGI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of NGRAN_TNLAssociationToRemoveItem NGRAN_TNLAssociationToRemoveList; + // type record NGRAN_TNLAssociationToRemoveItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_TNLAssociationToRemoveItem_ExtIEs (?); + // type octetstring NGRANTraceID length (8); + // type bitstring NID length (44); + // type record NonDynamic5QIDescriptor { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NonDynamic5QIDescriptor_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofAllowedAreas) of TAC NotAllowedTACs; + // type enumerated NotificationCause { + // type enumerated NotificationControl { + // type union NPN_AccessInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_AccessInformation_ExtIEs (?); + // type union NPN_MobilityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_MobilityInformation_ExtIEs (?); + // type union NPN_PagingAssistanceInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_PagingAssistanceInformation_ExtIEs (?); + // type union NPN_Support { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_Support_ExtIEs (?); + // type bitstring NRCellIdentity length (36); + // type record NR_CGI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NR_CGI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsingNB) of NR_CGI NR_CGIList; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of NR_CGI NR_CGIListForWarning; + // type record NR_PagingeDRXInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NR_PagingeDRXInformation_ExtIEs (?); + // type enumerated NR_Paging_eDRX_Cycle { + // type enumerated NR_Paging_Time_Window { + // type bitstring NRencryptionAlgorithms length ( + // type bitstring NRintegrityProtectionAlgorithms length ( + // type octetstring NRMobilityHistoryReport; + // type octetstring NRPPa_PDU; + // type octetstring NRUERLFReportContainer; + // type record NRNTNTAIInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRNTNTAIInformation_ExtIEs (?); + // type integer NumberOfBroadcasts (0 .. 65535); + // type integer NumberOfBroadcastsRequested (0 .. 65535); + // type integer NRARFCN (0 .. NGAP_Constants.maxNRARFCN); + // type integer NRFrequencyBand ( + // type record length (1 .. NGAP_Constants.maxnoofNRCellBands) of NRFrequencyBandItem NRFrequencyBand_List; + // type record NRFrequencyBandItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRFrequencyBandItem_ExtIEs (?); + // type record NRFrequencyInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRFrequencyInfo_ExtIEs (?); + // type integer NR_PCI ( + // type record NRV2XServicesAuthorized { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRV2XServicesAuthorized_ExtIEs (?); + // type enumerated VehicleUE { + // type enumerated PedestrianUE { + // type record NRUESidelinkAggregateMaximumBitrate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRUESidelinkAggregateMaximumBitrate_ExtIEs (?); + // type integer NSAG_ID ( + // type enumerated OnboardingSupport { + // type enumerated OverloadAction { + // type union OverloadResponse { + // type NGAP_Containers.NGAP_PROTOCOL_IES OverloadResponse_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSliceItems) of OverloadStartNSSAIItem OverloadStartNSSAIList; + // type record OverloadStartNSSAIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION OverloadStartNSSAIItem_ExtIEs (?); + // type integer PacketDelayBudget ( + // type record PacketErrorRate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PacketErrorRate_ExtIEs (?); + // type integer PacketLossRate ( + // type record PagingAssisDataforCEcapabUE { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PagingAssisDataforCEcapabUE_ExtIEs (?); + // type record PagingAttemptInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PagingAttemptInformation_ExtIEs (?); + // type integer PagingAttemptCount ( + // type enumerated PagingCause { + // type enumerated PagingCauseIndicationForVoiceService { + + // type enumerated PagingDRX { + template PagingDRX m_ie_defaultPagingDRX (PagingDRX p_drx:=v256):= p_drx; + + // type enumerated PagingOrigin { + // type enumerated PagingPriority { + // type enumerated PagingProbabilityInformation { + // type record PathSwitchRequestAcknowledgeTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestAcknowledgeTransfer_ExtIEs ( + // type record PathSwitchRequestSetupFailedTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestSetupFailedTransfer_ExtIEs (?); + // type record PathSwitchRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestTransfer_ExtIEs ( + // type record PathSwitchRequestUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestUnsuccessfulTransfer_ExtIEs (?); + // type record PC5QoSParameters { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PC5QoSParameters_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPC5QoSFlows) of PC5QoSFlowItem PC5QoSFlowList; + // type record PC5QoSFlowItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PC5QoSFlowItem_ExtIEs (?); + // type record PC5FlowBitRates { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PC5FlowBitRates_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofNeighPCIforMDT) of NR_PCI PCIListForMDT; + // type enumerated PrivacyIndicator { + // type record PDUSessionAggregateMaximumBitRate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionAggregateMaximumBitRate_ExtIEs (?); + + // type integer PDUSessionID (0 .. 255); + template PDUSessionID m_ie_pDUSessId(PDUSessionID p_val:=0):=p_val; + + // type integer PDUSessionPairID ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceAdmittedItem PDUSessionResourceAdmittedList; + // type record PDUSessionResourceAdmittedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceAdmittedItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToModifyItemModCfm PDUSessionResourceFailedToModifyListModCfm; + // type record PDUSessionResourceFailedToModifyItemModCfm { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToModifyItemModCfm_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToModifyItemModRes PDUSessionResourceFailedToModifyListModRes; + // type record PDUSessionResourceFailedToModifyItemModRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToModifyItemModRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToResumeItemRESReq PDUSessionResourceFailedToResumeListRESReq; + // type record PDUSessionResourceFailedToResumeItemRESReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToResumeItemRESReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToResumeItemRESRes PDUSessionResourceFailedToResumeListRESRes; + // type record PDUSessionResourceFailedToResumeItemRESRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToResumeItemRESRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemCxtFail PDUSessionResourceFailedToSetupListCxtFail; + // type record PDUSessionResourceFailedToSetupItemCxtFail { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemCxtFail_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemCxtRes PDUSessionResourceFailedToSetupListCxtRes; + // type record PDUSessionResourceFailedToSetupItemCxtRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemCxtRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemHOAck PDUSessionResourceFailedToSetupListHOAck; + // type record PDUSessionResourceFailedToSetupItemHOAck { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemHOAck_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemPSReq PDUSessionResourceFailedToSetupListPSReq; + // type record PDUSessionResourceFailedToSetupItemPSReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemPSReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemSURes PDUSessionResourceFailedToSetupListSURes; + // type record PDUSessionResourceFailedToSetupItemSURes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemSURes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceHandoverItem PDUSessionResourceHandoverList; + // type record PDUSessionResourceHandoverItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceHandoverItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceInformationItem PDUSessionResourceInformationList; + // type record PDUSessionResourceInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceInformationItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceItemCxtRelCpl PDUSessionResourceListCxtRelCpl; + // type record PDUSessionResourceItemCxtRelCpl { + // type octetstring PDUSessionResourceReleaseResponseTransfer_OCTET_STRING; + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceItemCxtRelCpl_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceItemCxtRelReq PDUSessionResourceListCxtRelReq; + // type record PDUSessionResourceItemCxtRelReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceItemCxtRelReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceItemHORqd PDUSessionResourceListHORqd; + // type record PDUSessionResourceItemHORqd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceItemHORqd_ExtIEs (?); + // type record PDUSessionResourceModifyConfirmTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyConfirmTransfer_ExtIEs ( + // type record PDUSessionResourceModifyIndicationUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyIndicationUnsuccessfulTransfer_ExtIEs (?); + // type record PDUSessionResourceModifyRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_IES PDUSessionResourceModifyRequestTransferIEs ( + // type record PDUSessionResourceModifyResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyResponseTransfer_ExtIEs ( + // type record PDUSessionResourceModifyIndicationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyIndicationTransfer_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModCfm PDUSessionResourceModifyListModCfm; + // type record PDUSessionResourceModifyItemModCfm { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModCfm_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModInd PDUSessionResourceModifyListModInd; + // type record PDUSessionResourceModifyItemModInd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModInd_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModReq PDUSessionResourceModifyListModReq; + // type record PDUSessionResourceModifyItemModReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModReq_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModRes PDUSessionResourceModifyListModRes; + // type record PDUSessionResourceModifyItemModRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModRes_ExtIEs (?); + // type record PDUSessionResourceModifyUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyUnsuccessfulTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceNotifyItem PDUSessionResourceNotifyList; + // type record PDUSessionResourceNotifyItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceNotifyItem_ExtIEs (?); + // type record PDUSessionResourceNotifyReleasedTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceNotifyReleasedTransfer_ExtIEs ( + // type record PDUSessionResourceNotifyTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceNotifyTransfer_ExtIEs ( + // type record PDUSessionResourceReleaseCommandTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleaseCommandTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemNot PDUSessionResourceReleasedListNot; + // type record PDUSessionResourceReleasedItemNot { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemNot_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemPSAck PDUSessionResourceReleasedListPSAck; + // type record PDUSessionResourceReleasedItemPSAck { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemPSAck_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemPSFail PDUSessionResourceReleasedListPSFail; + // type record PDUSessionResourceReleasedItemPSFail { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemPSFail_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemRelRes PDUSessionResourceReleasedListRelRes; + // type record PDUSessionResourceReleasedItemRelRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemRelRes_ExtIEs (?); + // type record PDUSessionResourceReleaseResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleaseResponseTransfer_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceResumeItemRESReq PDUSessionResourceResumeListRESReq; + // type record PDUSessionResourceResumeItemRESReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceResumeItemRESReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceResumeItemRESRes PDUSessionResourceResumeListRESRes; + // type record PDUSessionResourceResumeItemRESRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceResumeItemRESRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSecondaryRATUsageItem PDUSessionResourceSecondaryRATUsageList; + // type record PDUSessionResourceSecondaryRATUsageItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSecondaryRATUsageItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemCxtReq PDUSessionResourceSetupListCxtReq; + // type record PDUSessionResourceSetupItemCxtReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemCxtReq_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemCxtRes PDUSessionResourceSetupListCxtRes; + // type record PDUSessionResourceSetupItemCxtRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemCxtRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemHOReq PDUSessionResourceSetupListHOReq; + // type record PDUSessionResourceSetupItemHOReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemHOReq_ExtIEs ( + + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemSUReq PDUSessionResourceSetupListSUReq; + template PDUSessionResourceSetupListSUReq m_ie_pDUSessionResourceSetupListSUReq(in template PDUSessionResourceSetupListSUReq p_list):= p_list; + + // type record PDUSessionResourceSetupItemSUReq { + template PDUSessionResourceSetupItemSUReq m_ie_pDUSessionResourceSetupItemSUReq( + in template PDUSessionID p_pDUSessId, + in template NAS_PDU p_nASPdu:=omit, + in template S_NSSAI p_sNSSAI, + in template octetstring p_pduSessResSetReqTra + ):= { + pDUSessionID := p_pDUSessId, + pDUSessionNAS_PDU :=p_nASPdu, + s_NSSAI := p_sNSSAI, + pDUSessionResourceSetupRequestTransfer := p_pduSessResSetReqTra, + iE_Extensions:=omit + }//end of template m_ie_pDUSessionResourceSetupItemSUReq + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemSUReq_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemSURes PDUSessionResourceSetupListSURes; + // type record PDUSessionResourceSetupItemSURes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemSURes_ExtIEs (?); + + // type record PDUSessionResourceSetupRequestTransfer { + template PDUSessionResourceSetupRequestTransfer m_ie_pDUSessResSetReqTrEmpty:={protocolIEs:={}}; + // type NGAP_Containers.NGAP_PROTOCOL_IES PDUSessionResourceSetupRequestTransferIEs ( + template PDUSessionResourceSetupRequestTransfer m_ie_pDUSessResSetReqTrIEs( + in template UPTransportLayerInformation p_utli, + in template PDUSessionType p_pst, + in template QosFlowSetupRequestList p_qfsrl + ):={ + protocolIEs:={ +// { +// id := id_PDUSessionAggregateMaximumBitRate, +// criticality := reject, +// value_ := omit //"NGAP_IEs.PDUSessionAggregateMaximumBitRate", +// //presence := optional_ +// }, + { + id := id_UL_NGU_UP_TNLInformation, + criticality := reject, + value_ := { uPTransportLayerInformation := p_utli} + //presence := mandatory + }, +// { +// id := id_AdditionalUL_NGU_UP_TNLInformation, +// criticality := reject, +// value_ := omit //"NGAP_IEs.UPTransportLayerInformationList", +// //presence := optional_ +// }, +// { +// id := id_DataForwardingNotPossible, +// criticality := reject, +// value_ := omit //"NGAP_IEs.DataForwardingNotPossible", +// //presence := optional_ +// }, + { + id := id_PDUSessionType, + criticality := reject, + value_ := { pDUSessionType := p_pst} + //presence := mandatory + }, +// { +// id := id_SecurityIndication, +// criticality := reject, +// value_ := omit //"NGAP_IEs.SecurityIndication", +// //presence := optional_ +// }, +// { +// id := id_NetworkInstance, +// criticality := reject, +// value_ := omit //"NGAP_IEs.NetworkInstance", +// //presence := optional_ +// }, + { + id := id_QosFlowSetupRequestList, + criticality := reject, + value_ := { qosFlowSetupRequestList := p_qfsrl} + //presence := mandatory + }//, +// { +// id := id_CommonNetworkInstance, +// criticality := ignore, +// value_ := omit //"NGAP_IEs.CommonNetworkInstance", +// //presence := optional_ +// }, +// { +// id := id_DirectForwardingPathAvailability, +// criticality := ignore, +// value_ := omit //"NGAP_IEs.DirectForwardingPathAvailability", +// //presence := optional_ +// }, +// { +// id := id_RedundantUL_NGU_UP_TNLInformation, +// criticality := ignore, +// value_ := omit //"NGAP_IEs.UPTransportLayerInformation", +// //presence := optional_ +// }, +// { +// id := id_AdditionalRedundantUL_NGU_UP_TNLInformation, +// criticality := ignore, +// value_ := omit //"NGAP_IEs.UPTransportLayerInformationList", +// //presence := optional_ +// }, +// { +// id := id_RedundantCommonNetworkInstance, +// criticality := ignore, +// value_ := omit //"NGAP_IEs.CommonNetworkInstance", +// //presence := optional_ +// }, +// { +// id := id_RedundantPDUSessionInformation, +// criticality := ignore, +// value_ := omit //"NGAP_IEs.RedundantPDUSessionInformation", +// //presence := optional_ +// }, +// { +// id := id_MBSSessionSetupRequestList, +// criticality := ignore, +// value_ := omit //"NGAP_IEs.MBSSessionSetupRequestList", +// //presence := optional_ +// } + } + }//end of template m_ie_pDUSessResSetReqTrIEs + + // type record PDUSessionResourceSetupResponseTransfer { + template PDUSessionResourceSetupResponseTransfer m_ie_pDUSessResSetRespTr( + in template QosFlowPerTNLInformation p_qosfTnlInf, + in template QosFlowPerTNLInformationList p_qosfList:=omit, + in template SecurityResult p_secRes:=omit, + in template QosFlowListWithCause p_qosfCause:=omit + ):={ + dLQosFlowPerTNLInformation := p_qosfTnlInf, + additionalDLQosFlowPerTNLInformation := p_qosfList, + securityResult := p_secRes, + qosFlowFailedToSetupList := p_qosfCause, + iE_Extensions := omit + }//end of template m_ie_pDUSessResSetRespTr + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupResponseTransfer_ExtIEs ( + // type record PDUSessionResourceSetupUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupUnsuccessfulTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSuspendItemSUSReq PDUSessionResourceSuspendListSUSReq; + // type record PDUSessionResourceSuspendItemSUSReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSuspendItemSUSReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSwitchedItem PDUSessionResourceSwitchedList; + // type record PDUSessionResourceSwitchedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSwitchedItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceToBeSwitchedDLItem PDUSessionResourceToBeSwitchedDLList; + // type record PDUSessionResourceToBeSwitchedDLItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceToBeSwitchedDLItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceToReleaseItemHOCmd PDUSessionResourceToReleaseListHOCmd; + // type record PDUSessionResourceToReleaseItemHOCmd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceToReleaseItemHOCmd_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceToReleaseItemRelCmd PDUSessionResourceToReleaseListRelCmd; + // type record PDUSessionResourceToReleaseItemRelCmd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceToReleaseItemRelCmd_ExtIEs (?); + + // type enumerated PDUSessionType { + template PDUSessionType m_ie_PDUSessionType(PDUSessionType p_val:=unstructured):=p_val; + + // type record PDUSessionUsageReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionUsageReport_ExtIEs (?); + // type record PEIPSassistanceInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PEIPSassistanceInformation_ExtIEs (?); + // type integer Periodicity ( + // type bitstring PeriodicRegistrationUpdateTimer length (8); + + // type octetstring PLMNIdentity length (3); + template PLMNIdentity m_ie_pLMNIdentity(PLMNIdentity p_val):=p_val; + + // type record PLMNAreaBasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PLMNAreaBasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPLMNforQMC) of PLMNIdentity PLMNListforQMC; + // type record length (1 .. NGAP_Constants.maxnoofPLMNs) of PLMNSupportItem PLMNSupportList; + // type record PLMNSupportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PLMNSupportItem_ExtIEs ( + // type record PNI_NPN_MobilityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PNI_NPN_MobilityInformation_ExtIEs (?); + // type octetstring PortNumber length (2); + // type enumerated Pre_emptionCapability { + // type enumerated Pre_emptionVulnerability { + // type integer PriorityLevelARP (1 .. 15); + // type integer PriorityLevelQos ( + // type union PWSFailedCellIDList { + // type NGAP_Containers.NGAP_PROTOCOL_IES PWSFailedCellIDList_ExtIEs (?); + // type record QMCConfigInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QMCConfigInfo_ExtIEs (?); + // type record QMCDeactivation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QMCDeactivation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofUEAppLayerMeas) of QoEReference QoEReferenceList; + // type octetstring QoEReference length (6); + // type union QosCharacteristics { + // type NGAP_Containers.NGAP_PROTOCOL_IES QosCharacteristics_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowAcceptedItem QosFlowAcceptedList; + // type record QosFlowAcceptedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowAcceptedItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowAddOrModifyRequestItem QosFlowAddOrModifyRequestList; + // type record QosFlowAddOrModifyRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowAddOrModifyRequestItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowAddOrModifyResponseItem QosFlowAddOrModifyResponseList; + // type record QosFlowAddOrModifyResponseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowAddOrModifyResponseItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowFeedbackItem QosFlowFeedbackList; + // type record QosFlowFeedbackItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowFeedbackItem_ExtIEs (?); + // type integer QosFlowIdentifier ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowInformationItem QosFlowInformationList; + // type record QosFlowInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowInformationItem_ExtIEs ( + // type record QosFlowLevelQosParameters { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowLevelQosParameters_ExtIEs ( + // type enumerated QosMonitoringRequest { + // type integer QosMonitoringReportingFrequency ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowIdentifier QoSFlowList; + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowWithCauseItem QosFlowListWithCause; + // type record QosFlowWithCauseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowWithCauseItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowModifyConfirmItem QosFlowModifyConfirmList; + // type record QosFlowModifyConfirmItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowModifyConfirmItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowNotifyItem QosFlowNotifyList; + // type record QosFlowNotifyItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowNotifyItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowParametersItem QosFlowParametersList; + // type record QosFlowParametersItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowParametersItem_ExtIEs ( + // type record QosFlowPerTNLInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowPerTNLInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of QosFlowPerTNLInformationItem QosFlowPerTNLInformationList; + // type record QosFlowPerTNLInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowPerTNLInformationItem_ExtIEs (?); + + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowSetupRequestItem QosFlowSetupRequestList; + template QosFlowSetupRequestList m_ie_qosFlowSetReqList(QosFlowSetupRequestList p_list):=p_list; + // type record QosFlowSetupRequestItem { + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowSetupRequestItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowItemWithDataForwarding QosFlowListWithDataForwarding; + // type record QosFlowItemWithDataForwarding { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowItemWithDataForwarding_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowToBeForwardedItem QosFlowToBeForwardedList; + // type record QosFlowToBeForwardedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowToBeForwardedItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QoSFlowsUsageReport_Item QoSFlowsUsageReportList; + // type record QoSFlowsUsageReport_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QoSFlowsUsageReport_Item_ExtIEs (?); + // type enumerated Range { + // type ASNAUX.PrintableString RANNodeName length ( + // type ASNAUX.VisibleString RANNodeNameVisibleString length ( + // type ASNAUX.UTF8String RANNodeNameUTF8String length ( + // type integer RANPagingPriority (1 .. 256); + // type record RANStatusTransfer_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RANStatusTransfer_TransparentContainer_ExtIEs (?); + + // type integer RAN_UE_NGAP_ID (0 .. 4294967295); + template RAN_UE_NGAP_ID m_ie_rANUeNgapId(integer p_val:=1) := p_val; + + // type enumerated RAT_Information { + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of RATRestrictions_Item RATRestrictions; + // type record RATRestrictions_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RATRestrictions_Item_ExtIEs ( + // type bitstring RATRestrictionInformation length ( + // type record RecommendedCellsForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedCellsForPaging_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofRecommendedCells) of RecommendedCellItem RecommendedCellList; + // type record RecommendedCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedCellItem_ExtIEs (?); + // type record RecommendedRANNodesForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedRANNodesForPaging_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofRecommendedRANNodes) of RecommendedRANNodeItem RecommendedRANNodeList; + // type record RecommendedRANNodeItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedRANNodeItem_ExtIEs (?); + // type enumerated RedCapIndication { + // type enumerated RedirectionVoiceFallback { + // type record RedundantPDUSessionInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RedundantPDUSessionInformation_ExtIEs ( + // type enumerated RedundantQosFlowIndicator { + // type enumerated ReflectiveQosAttribute { + // type integer RelativeAMFCapacity (0 .. 255); + // type enumerated ReportArea { + // type integer RepetitionPeriod (0 .. 131071); + // type enumerated ResetAll { + // type enumerated ReportAmountMDT { + // type enumerated ReportIntervalMDT { + // type enumerated ExtendedReportIntervalMDT { + // type union ResetType { + // type NGAP_Containers.NGAP_PROTOCOL_IES ResetType_ExtIEs (?); + // type octetstring RGLevelWirelineAccessCharacteristics; + // type integer RNC_ID (0 .. 4095); + // type octetstring RoutingID; + // type octetstring RRCContainer; + // type enumerated RRCEstablishmentCause { + // type enumerated RRCInactiveTransitionReportRequest { + // type enumerated RRCState { + // type enumerated RSN { + // type record RIMInformationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RIMInformationTransfer_ExtIEs (?); + // type record RIMInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RIMInformation_ExtIEs (?); + // type bitstring GNBSetID length (22); + // type record ScheduledCommunicationTime { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ScheduledCommunicationTime_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofXnTLAs) of TransportLayerAddress SCTP_TLAs; + + // type octetstring SD length (3); + template SD m_ie_sD(SD p_val:='000000'O) := p_val; + + // type record SecondaryRATUsageInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecondaryRATUsageInformation_ExtIEs (?); + // type record SecondaryRATDataUsageReportTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecondaryRATDataUsageReportTransfer_ExtIEs (?); + // type record SecurityContext { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityContext_ExtIEs (?); + // type record SecurityIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityIndication_ExtIEs ( + // type bitstring SecurityKey length (256); + // type record SecurityResult { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityResult_ExtIEs (?); + // type record SensorMeasurementConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SensorMeasurementConfiguration_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSensorName) of SensorMeasConfigNameItem SensorMeasConfigNameList; + // type record SensorMeasConfigNameItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SensorMeasConfigNameItem_ExtIEs (?); + // type enumerated SensorMeasConfig { + // type union SensorNameConfig { + // type NGAP_Containers.NGAP_PROTOCOL_IES SensorNameConfig_ExtIEs (?); + // type bitstring SerialNumber length (16); + // type record length (1 .. NGAP_Constants.maxnoofServedGUAMIs) of ServedGUAMIItem ServedGUAMIList; + // type record ServedGUAMIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ServedGUAMIItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of ServiceAreaInformation_Item ServiceAreaInformation; + // type record ServiceAreaInformation_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ServiceAreaInformation_Item_ExtIEs (?); + // type enumerated ServiceType { + // type integer SgNB_UE_X2AP_ID (0 .. 4294967295); + // type record SharedNGU_MulticastTNLInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SharedNGU_MulticastTNLInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSliceItems) of SliceOverloadItem SliceOverloadList; + // type record SliceOverloadItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceOverloadItem_ExtIEs (?); + + // type record length (1 .. NGAP_Constants.maxnoofSliceItems) of SliceSupportItem SliceSupportList; + template SliceSupportList m_ie_sliceSupportList(in template SliceSupportList p_list):=p_list; + + // type record SliceSupportItem { + template SliceSupportItem m_ie_sliceSupportItem( + in template S_NSSAI p_S_NSSAI + ):={ + s_NSSAI := p_S_NSSAI, + iE_Extensions :=omit + }//end of template m_ie_sliceSupportItem + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceSupportItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSNSSAIforQMC) of SliceSupportQMC_Item SliceSupportListQMC; + // type record SliceSupportQMC_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceSupportQMC_Item_ExtIEs (?); + // type record SNPN_MobilityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SNPN_MobilityInformation_ExtIEs (?); + // type record S_NSSAI { + template S_NSSAI m_ie_sNSSAI( + in template SST p_sST, + in template SD p_sD + ):={ + sST := p_sST,//'00'O, + sD := p_sD,//'000000'O, + iE_Extensions := omit + }//end of template m_ie_sNSSAI + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION S_NSSAI_ExtIEs (?); + // type record SONConfigurationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SONConfigurationTransfer_ExtIEs (?); + // type union SONInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES SONInformation_ExtIEs ( + // type record SONInformationReply { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SONInformationReply_ExtIEs (?); + // type union SONInformationReport { + // type NGAP_Containers.NGAP_PROTOCOL_IES SONInformationReport_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofSuccessfulHOReports) of SuccessfulHandoverReport_Item SuccessfulHandoverReportList; + // type record SuccessfulHandoverReport_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SuccessfulHandoverReport_Item_ExtIEs (?); + // type enumerated SONInformationRequest { + // type record SourceNGRANNode_ToTargetNGRANNode_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_ExtIEs ( + // type union SourceNodeID { + // type NGAP_Containers.NGAP_PROTOCOL_IES SourceNodeID_ExtIEs (?); + // type enumerated SourceOfUEActivityBehaviourInformation { + // type record SourceRANNodeID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceRANNodeID_ExtIEs (?); + // type octetstring SourceToTarget_TransparentContainer; + // type record SourceToTarget_AMFInformationReroute { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceToTarget_AMFInformationReroute_ExtIEs (?); + // type enumerated SRVCCOperationPossible { + // type octetstring ConfiguredNSSAI length (128); + // type octetstring RejectedNSSAIinPLMN length (32); + // type octetstring RejectedNSSAIinTA length (32); + // type octetstring SST length (1); + template SST m_ie_sST(SST p_val:='00'O):=p_val; + + // type record length (1 .. NGAP_Constants.maxnoofTACs) of SupportedTAItem SupportedTAList; + template SupportedTAList m_ie_supportedTAList(in template SupportedTAList p_list):= p_list; + + // type record SupportedTAItem { + template SupportedTAItem m_ie_supportedTAItem( + in template TAC p_tAC, + in template BroadcastPLMNList p_broadcastPLMNList + ):={ + tAC := p_tAC, + broadcastPLMNList := p_broadcastPLMNList, + iE_Extensions :=omit + }//end of template m_ie_supportedTAItem + + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SupportedTAItem_ExtIEs ( + + // type enumerated SuspendIndicator { + // type enumerated Suspend_Request_Indication { + // type enumerated Suspend_Response_Indication { + // type integer SurvivalTime ( + + // type octetstring TAC length (3); + template TAC m_ie_tAC(TAC p_val):=p_val; + + // type record length (1 .. NGAP_Constants.maxnoofTACsinNTN) of TAC TACListInNRNTN; + // type record TAI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAIBroadcastEUTRA_Item TAIBroadcastEUTRA; + // type record TAIBroadcastEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBroadcastEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAIBroadcastNR_Item TAIBroadcastNR; + // type record TAIBroadcastNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBroadcastNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAICancelledEUTRA_Item TAICancelledEUTRA; + // type record TAICancelledEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAICancelledEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAICancelledNR_Item TAICancelledNR; + // type record TAICancelledNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAICancelledNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforInactive) of TAIListForInactiveItem TAIListForInactive; + // type record TAIListForInactiveItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIListForInactiveItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforPaging) of TAIListForPagingItem TAIListForPaging; + // type record TAIListForPagingItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIListForPagingItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforRestart) of TAI TAIListForRestart; + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAI TAIListForWarning; + // type record length (1 .. NGAP_Constants.maxnoofNSAGs) of TAINSAGSupportItem TAINSAGSupportList; + // type record TAINSAGSupportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAINSAGSupportItem_ExtIEs (?); + // type record TargeteNB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargeteNB_ID_ExtIEs (?); + // type record TargetHomeENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetHomeENB_ID_ExtIEs (?); + // type union TargetID { + // type NGAP_Containers.NGAP_PROTOCOL_IES TargetID_ExtIEs ( + // type record TargetNGRANNode_ToSourceNGRANNode_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_ExtIEs ( + // type record TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofTargetS_NSSAIs) of TargetNSSAI_Item TargetNSSAI; + // type record TargetNSSAI_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNSSAI_Item_ExtIEs (?); + // type record TargetNSSAIInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNSSAIInformation_Item_ExtIEs (?); + // type record TargetRANNodeID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_ExtIEs (?); + // type record TargetRANNodeID_RIM { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_RIM_ExtIEs (?); + // type record TargetRANNodeID_SON { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_SON_ExtIEs ( + // type record TargetRNC_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRNC_ID_ExtIEs (?); + // type octetstring TargetToSource_TransparentContainer; + // type octetstring TargettoSource_Failure_TransparentContainer; + // type enumerated TimerApproachForGUAMIRemoval { + // type octetstring TimeStamp length (4); + // type record TimeSyncAssistanceInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TimeSyncAssistanceInfo_ExtIEs (?); + // type enumerated TimeToWait { + // type integer TimeUEStayedInCell (0 .. 4095); + // type integer TimeUEStayedInCellEnhancedGranularity (0 .. 40950); + // type octetstring TMGI length (6); + // type octetstring TNAP_ID; + // type union TNGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES TNGF_ID_ExtIEs (?); + // type integer TNLAddressWeightFactor (0 .. 255); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of TNLAssociationItem TNLAssociationList; + // type record TNLAssociationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TNLAssociationItem_ExtIEs (?); + // type enumerated TNLAssociationUsage { + // type record TooearlyIntersystemHO { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TooearlyIntersystemHO_ExtIEs (?); + // type record TraceActivation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TraceActivation_ExtIEs ( + // type enumerated TraceDepth { + // type integer TrafficLoadReductionIndication (1 .. 99); + + // type bitstring TransportLayerAddress length ( + template TransportLayerAddress m_ie_tla(bitstring p_val:='0'B):=p_val; + + // type enumerated TypeOfError { + // type record TAIBasedMDT { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBasedMDT_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforMDT) of TAI TAIListforMDT; + // type record TAIBasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforQMC) of TAI TAIListforQMC; + // type record TABasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TABasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforQMC) of TAC TAListforQMC; + // type record TABasedMDT { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TABasedMDT_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforMDT) of TAC TAListforMDT; + // type integer Threshold_RSRP (0 .. 127); + // type integer Threshold_RSRQ (0 .. 127); + // type integer Threshold_SINR (0 .. 127); + // type enumerated TimeToTrigger { + // type octetstring TWAP_ID; + // type union TWIF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES TWIF_ID_ExtIEs (?); + // type record TSCAssistanceInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TSCAssistanceInformation_ExtIEs ( + // type record TSCTrafficCharacteristics { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TSCTrafficCharacteristics_ExtIEs (?); + // type record UEAggregateMaximumBitRate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAggregateMaximumBitRate_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofUEAppLayerMeas) of UEAppLayerMeasInfoItem UEAppLayerMeasInfoList; + // type record UEAppLayerMeasInfoItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAppLayerMeasInfoItem_ExtIEs (?); + // type record UEAppLayerMeasConfigInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAppLayerMeasConfigInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofNGConnectionsToReset) of UE_associatedLogicalNG_connectionItem UE_associatedLogicalNG_connectionList; + // type record UE_associatedLogicalNG_connectionItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_associatedLogicalNG_connectionItem_ExtIEs (?); + // type enumerated UECapabilityInfoRequest { + // type enumerated UEContextRequest { + // type record UEContextResumeRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextResumeRequestTransfer_ExtIEs (?); + // type record UEContextResumeResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextResumeResponseTransfer_ExtIEs (?); + // type record UEContextSuspendRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextSuspendRequestTransfer_ExtIEs (?); + // type record UE_DifferentiationInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_DifferentiationInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinUEHistoryInfo) of LastVisitedCellItem UEHistoryInformation; + // type union UEHistoryInformationFromTheUE { + // type NGAP_Containers.NGAP_PROTOCOL_IES UEHistoryInformationFromTheUE_ExtIEs (?); + // type union UEIdentityIndexValue { + // type NGAP_Containers.NGAP_PROTOCOL_IES UEIdentityIndexValue_ExtIEs (?); + // type union UE_NGAP_IDs { + // type NGAP_Containers.NGAP_PROTOCOL_IES UE_NGAP_IDs_ExtIEs (?); + // type record UE_NGAP_ID_pair { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_NGAP_ID_pair_ExtIEs (?); + // type union UEPagingIdentity { + // type NGAP_Containers.NGAP_PROTOCOL_IES UEPagingIdentity_ExtIEs (?); + // type enumerated UEPresence { + // type record length (1 .. NGAP_Constants.maxnoofAoI) of UEPresenceInAreaOfInterestItem UEPresenceInAreaOfInterestList; + // type record UEPresenceInAreaOfInterestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEPresenceInAreaOfInterestItem_ExtIEs (?); + // type octetstring UERadioCapability; + // type record UERadioCapabilityForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UERadioCapabilityForPaging_ExtIEs ( + // type octetstring UERadioCapabilityForPagingOfNB_IoT; + // type octetstring UERadioCapabilityForPagingOfNR; + // type octetstring UERadioCapabilityForPagingOfEUTRA; + // type octetstring UERadioCapabilityID; + // type enumerated UERetentionInformation { + // type union UERLFReportContainer { + // type NGAP_Containers.NGAP_PROTOCOL_IES UERLFReportContainer_ExtIEs (?); + // type record UESecurityCapabilities { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UESecurityCapabilities_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAllowedS_NSSAIs) of UESliceMaximumBitRateItem UESliceMaximumBitRateList; + // type record UESliceMaximumBitRateItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UESliceMaximumBitRateItem_ExtIEs (?); + // type enumerated UE_UP_CIoT_Support { + // type record UL_CP_SecurityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UL_CP_SecurityInformation_ExtIEs (?); + // type bitstring UL_NAS_MAC length (16); + // type bitstring UL_NAS_Count length (5); + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivity) of UL_NGU_UP_TNLModifyItem UL_NGU_UP_TNLModifyList; + // type record UL_NGU_UP_TNLModifyItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UL_NGU_UP_TNLModifyItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofServedGUAMIs) of UnavailableGUAMIItem UnavailableGUAMIList; + // type record UnavailableGUAMIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UnavailableGUAMIItem_ExtIEs (?); + // type enumerated ULForwarding { + // type bitstring UpdateFeedback length ( + + // type union UPTransportLayerInformation { + template UPTransportLayerInformation m_ie_uPTLInf (template GTPTunnel p_gtpt):={ + gTPTunnel:=p_gtpt + } + + // type NGAP_Containers.NGAP_PROTOCOL_IES UPTransportLayerInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of UPTransportLayerInformationItem UPTransportLayerInformationList; + // type record UPTransportLayerInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UPTransportLayerInformationItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of UPTransportLayerInformationPairItem UPTransportLayerInformationPairList; + // type record UPTransportLayerInformationPairItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UPTransportLayerInformationPairItem_ExtIEs (?); + // type ASNAUX.VisibleString URI_address; + // type union UserLocationInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES UserLocationInformation_ExtIEs ( + // type record UserLocationInformationEUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationEUTRA_ExtIEs ( + // type record UserLocationInformationN3IWF { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationN3IWF_ExtIEs ( + // type record UserLocationInformationTNGF { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationTNGF_ExtIEs ( + // type record UserLocationInformationTWIF { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationTWIF_ExtIEs ( + // type union UserLocationInformationW_AGF { + // type NGAP_Containers.NGAP_PROTOCOL_IES UserLocationInformationW_AGF_ExtIEs ( + // type record UserLocationInformationNR { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationNR_ExtIEs ( + // type record UserPlaneSecurityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserPlaneSecurityInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTimePeriods) of VolumeTimedReport_Item VolumeTimedReportList; + // type record VolumeTimedReport_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION VolumeTimedReport_Item_ExtIEs (?); + // type union W_AGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES W_AGF_ID_ExtIEs (?); + // type octetstring WarningAreaCoordinates length (1 .. 1024); + // type union WarningAreaList { + // type NGAP_Containers.NGAP_PROTOCOL_IES WarningAreaList_ExtIEs (?); + // type octetstring WarningMessageContents length (1 .. 9600); + // type octetstring WarningSecurityInfo length (50); + // type octetstring WarningType length (2); + // type record WLANMeasurementConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION WLANMeasurementConfiguration_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofWLANName) of WLANMeasConfigNameItem WLANMeasConfigNameList; + // type record WLANMeasConfigNameItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION WLANMeasConfigNameItem_ExtIEs (?); + // type enumerated WLANMeasConfig { + // type octetstring WLANName length (1 .. 32); + // type record WUS_Assistance_Information { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION WUS_Assistance_Information_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofXnExtTLAs) of XnExtTLA_Item XnExtTLAs; + // type record XnExtTLA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION XnExtTLA_Item_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofXnGTP_TLAs) of TransportLayerAddress XnGTP_TLAs; + // type record length (1 .. NGAP_Constants.maxnoofXnTLAs) of TransportLayerAddress XnTLAs; + // type record XnTNLConfigurationInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION XnTNLConfigurationInfo_ExtIEs (?); + + } + group Receive{/*mw_ie_*/ + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of AdditionalDLUPTNLInformationForHOItem AdditionalDLUPTNLInformationForHOList; + // type record AdditionalDLUPTNLInformationForHOItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AdditionalDLUPTNLInformationForHOItem_ExtIEs ( + // type enumerated AdditionalQosFlowInformation { + // type record AllocationAndRetentionPriority { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AllocationAndRetentionPriority_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAllowedCAGsperPLMN) of CAG_ID Allowed_CAG_List_per_PLMN; + // type record length (1 .. NGAP_Constants.maxnoofAllowedS_NSSAIs) of AllowedNSSAI_Item AllowedNSSAI; + // type record AllowedNSSAI_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AllowedNSSAI_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of Allowed_PNI_NPN_Item Allowed_PNI_NPN_List; + // type record Allowed_PNI_NPN_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Allowed_PNI_NPN_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAllowedAreas) of TAC AllowedTACs; + // type integer AlternativeQoSParaSetIndex ( + // type integer AlternativeQoSParaSetNotifyIndex ( + // type record length (1 .. NGAP_Constants.maxnoofQosParaSets) of AlternativeQoSParaSetItem AlternativeQoSParaSetList; + // type record AlternativeQoSParaSetItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AlternativeQoSParaSetItem_ExtIEs (?); + // type ASNAUX.PrintableString AMFName length ( + // type ASNAUX.VisibleString AMFNameVisibleString length ( + // type ASNAUX.UTF8String AMFNameUTF8String length ( + // type union AMFPagingTarget { + // type NGAP_Containers.NGAP_PROTOCOL_IES AMFPagingTarget_ExtIEs (?); + // type bitstring AMFPointer length (6); + // type bitstring AMFRegionID length (8); + // type bitstring AMFSetID length (10); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationSetupItem AMF_TNLAssociationSetupList; + // type record AMF_TNLAssociationSetupItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationSetupItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationToAddItem AMF_TNLAssociationToAddList; + // type record AMF_TNLAssociationToAddItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationToAddItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationToRemoveItem AMF_TNLAssociationToRemoveList; + // type record AMF_TNLAssociationToRemoveItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationToRemoveItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of AMF_TNLAssociationToUpdateItem AMF_TNLAssociationToUpdateList; + // type record AMF_TNLAssociationToUpdateItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AMF_TNLAssociationToUpdateItem_ExtIEs (?); + + // type integer AMF_UE_NGAP_ID (0 .. 1099511627775); + template AMF_UE_NGAP_ID mw_ie_aMFUeNgapId(integer p_val:=1) := p_val; + + // type record AreaOfInterest { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterest_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinAoI) of AreaOfInterestCellItem AreaOfInterestCellList; + // type record AreaOfInterestCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestCellItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAoI) of AreaOfInterestItem AreaOfInterestList; + // type record AreaOfInterestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofRANNodeinAoI) of AreaOfInterestRANNodeItem AreaOfInterestRANNodeList; + // type record AreaOfInterestRANNodeItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestRANNodeItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIinAoI) of AreaOfInterestTAIItem AreaOfInterestTAIList; + // type record AreaOfInterestTAIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaOfInterestTAIItem_ExtIEs (?); + // type record AssistanceDataForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssistanceDataForPaging_ExtIEs ( + // type record AssistanceDataForRecommendedCells { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssistanceDataForRecommendedCells_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of AssociatedMBSQosFlowSetupRequestItem AssociatedMBSQosFlowSetupRequestList; + // type record AssociatedMBSQosFlowSetupRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssociatedMBSQosFlowSetupRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of AssociatedMBSQosFlowSetuporModifyRequestItem AssociatedMBSQosFlowSetuporModifyRequestList; + // type record AssociatedMBSQosFlowSetuporModifyRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssociatedMBSQosFlowSetuporModifyRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of AssociatedQosFlowItem AssociatedQosFlowList; + // type record AssociatedQosFlowItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AssociatedQosFlowItem_ExtIEs ( + // type enumerated AuthenticatedIndication { + // type integer AveragingWindow ( + // type union AreaScopeOfMDT_NR { + // type NGAP_Containers.NGAP_PROTOCOL_IES AreaScopeOfMDT_NR_ExtIEs (?); + // type union AreaScopeOfMDT_EUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_IES AreaScopeOfMDT_EUTRA_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofFreqforMDT) of AreaScopeOfNeighCellsItem AreaScopeOfNeighCellsList; + // type record AreaScopeOfNeighCellsItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AreaScopeOfNeighCellsItem_ExtIEs (?); + // type union AreaScopeOfQMC { + // type NGAP_Containers.NGAP_PROTOCOL_IES AreaScopeOfQMC_ExtIEs (?); + // type record AvailableRANVisibleQoEMetrics { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION AvailableRANVisibleQoEMetrics_ExtIEs (?); + // type record BeamMeasurementsReportConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BeamMeasurementsReportConfiguration_ExtIEs (?); + // type record BeamMeasurementsReportQuantity { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BeamMeasurementsReportQuantity_ExtIEs (?); + // type integer BitRate ( + // type union BroadcastCancelledAreaList { + // type NGAP_Containers.NGAP_PROTOCOL_IES BroadcastCancelledAreaList_ExtIEs (?); + // type union BroadcastCompletedAreaList { + // type NGAP_Containers.NGAP_PROTOCOL_IES BroadcastCompletedAreaList_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofBPLMNs) of BroadcastPLMNItem BroadcastPLMNList; + // type record BroadcastPLMNItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BroadcastPLMNItem_ExtIEs ( + // type record BluetoothMeasurementConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BluetoothMeasurementConfiguration_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofBluetoothName) of BluetoothMeasConfigNameItem BluetoothMeasConfigNameList; + // type record BluetoothMeasConfigNameItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION BluetoothMeasConfigNameItem_ExtIEs (?); + // type enumerated BluetoothMeasConfig { + // type octetstring BluetoothName length (1 .. 248); + // type octetstring BurstArrivalTime; + // type bitstring CAG_ID length (32); + // type enumerated CancelAllWarningMessages { + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CancelledCellsInEAI_EUTRA_Item CancelledCellsInEAI_EUTRA; + // type record CancelledCellsInEAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInEAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CancelledCellsInEAI_NR_Item CancelledCellsInEAI_NR; + // type record CancelledCellsInEAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInEAI_NR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CancelledCellsInTAI_EUTRA_Item CancelledCellsInTAI_EUTRA; + // type record CancelledCellsInTAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInTAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CancelledCellsInTAI_NR_Item CancelledCellsInTAI_NR; + // type record CancelledCellsInTAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CancelledCellsInTAI_NR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCandidateCells) of CandidateCellItem CandidateCellList; + // type record CandidateCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CandidateCellItem_ExtIEs (?); + // type union CandidateCell { + // type NGAP_Containers.NGAP_PROTOCOL_IES CandidateCell_ExtIEs (?); + // type record CandidateCellID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CandidateCellID_ExtIEs (?); + // type record CandidatePCI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CandidatePCI_ExtIEs (?); + // type union Cause { + // type NGAP_Containers.NGAP_PROTOCOL_IES Cause_ExtIEs (?); + // type enumerated CauseMisc { + // type enumerated CauseNas { + // type enumerated CauseProtocol { + // type enumerated CauseRadioNetwork { + // type enumerated CauseTransport { + // type record Cell_CAGInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Cell_CAGInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCAGSperCell) of CAG_ID CellCAGList; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDBroadcastEUTRA_Item CellIDBroadcastEUTRA; + // type record CellIDBroadcastEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDBroadcastEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDBroadcastNR_Item CellIDBroadcastNR; + // type record CellIDBroadcastNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDBroadcastNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDCancelledEUTRA_Item CellIDCancelledEUTRA; + // type record CellIDCancelledEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDCancelledEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of CellIDCancelledNR_Item CellIDCancelledNR; + // type record CellIDCancelledNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellIDCancelledNR_Item_ExtIEs (?); + // type union CellIDListForRestart { + // type NGAP_Containers.NGAP_PROTOCOL_IES CellIDListForRestart_ExtIEs (?); + // type enumerated CellSize { + // type record CellType { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellType_ExtIEs (?); + // type enumerated CEmodeBSupport_Indicator { + // type enumerated CEmodeBrestricted { + // type record CNAssistedRANTuning { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CNAssistedRANTuning_ExtIEs (?); + // type integer CNsubgroupID ( + // type record length (1 .. NGAP_Constants.maxnoofEPLMNs) of CNTypeRestrictionsForEquivalentItem CNTypeRestrictionsForEquivalent; + // type record CNTypeRestrictionsForEquivalentItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CNTypeRestrictionsForEquivalentItem_ExtIEs (?); + // type enumerated CNTypeRestrictionsForServing { + // type octetstring CommonNetworkInstance; + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CompletedCellsInEAI_EUTRA_Item CompletedCellsInEAI_EUTRA; + // type record CompletedCellsInEAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInEAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinEAI) of CompletedCellsInEAI_NR_Item CompletedCellsInEAI_NR; + // type record CompletedCellsInEAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInEAI_NR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CompletedCellsInTAI_EUTRA_Item CompletedCellsInTAI_EUTRA; + // type record CompletedCellsInTAI_EUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInTAI_EUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellinTAI) of CompletedCellsInTAI_NR_Item CompletedCellsInTAI_NR; + // type record CompletedCellsInTAI_NR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompletedCellsInTAI_NR_Item_ExtIEs (?); + // type enumerated ConcurrentWarningMessageInd { + // type enumerated ConfidentialityProtectionIndication { + // type enumerated ConfidentialityProtectionResult { + // type enumerated ConfiguredTACIndication { + // type record CoreNetworkAssistanceInformationForInactive { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CoreNetworkAssistanceInformationForInactive_ExtIEs ( + // type record COUNTValueForPDCP_SN12 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION COUNTValueForPDCP_SN12_ExtIEs (?); + // type record COUNTValueForPDCP_SN18 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION COUNTValueForPDCP_SN18_ExtIEs (?); + // type octetstring CoverageEnhancementLevel; + // type union CPTransportLayerInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES CPTransportLayerInformation_ExtIEs ( + // type record CriticalityDiagnostics { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CriticalityDiagnostics_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofErrors) of CriticalityDiagnostics_IE_Item CriticalityDiagnostics_IE_List; + // type record CriticalityDiagnostics_IE_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CriticalityDiagnostics_IE_Item_ExtIEs (?); + // type record CellBasedMDT_NR { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellBasedMDT_NR_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforMDT) of NR_CGI CellIdListforMDT_NR; + // type record CellBasedMDT_EUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellBasedMDT_EUTRA_ExtIEs (?); + // type record CellBasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CellBasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellIDforQMC) of NGRAN_CGI CellIdListforQMC; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforMDT) of EUTRA_CGI CellIdListforMDT_EUTRA; + // type bitstring DataCodingScheme length (8); + // type enumerated DataForwardingAccepted { + // type enumerated DataForwardingNotPossible { + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DataForwardingResponseDRBItem DataForwardingResponseDRBList; + // type record DataForwardingResponseDRBItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DataForwardingResponseDRBItem_ExtIEs (?); + // type record DAPSRequestInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DAPSRequestInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DAPSResponseInfoItem DAPSResponseInfoList; + // type record DAPSResponseInfoItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DAPSResponseInfoItem_ExtIEs (?); + // type record DAPSResponseInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DAPSResponseInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofE_RABs) of DataForwardingResponseERABListItem DataForwardingResponseERABList; + // type record DataForwardingResponseERABListItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DataForwardingResponseERABListItem_ExtIEs (?); + // type enumerated DelayCritical { + // type record DL_CP_SecurityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DL_CP_SecurityInformation_ExtIEs (?); + // type bitstring DL_NAS_MAC length (16); + // type enumerated DLForwarding { + // type enumerated DL_NGU_TNLInformationReused { + // type enumerated DirectForwardingPathAvailability { + // type integer DRB_ID ( + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DRBsSubjectToStatusTransferItem DRBsSubjectToStatusTransferList; + // type record DRBsSubjectToStatusTransferItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBsSubjectToStatusTransferItem_ExtIEs ( + // type union DRBStatusDL { + // type NGAP_Containers.NGAP_PROTOCOL_IES DRBStatusDL_ExtIEs (?); + // type record DRBStatusDL12 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusDL12_ExtIEs (?); + // type record DRBStatusDL18 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusDL18_ExtIEs (?); + // type union DRBStatusUL { + // type NGAP_Containers.NGAP_PROTOCOL_IES DRBStatusUL_ExtIEs (?); + // type record DRBStatusUL12 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusUL12_ExtIEs (?); + // type record DRBStatusUL18 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBStatusUL18_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DRBsToQosFlowsMappingItem DRBsToQosFlowsMappingList; + // type record DRBsToQosFlowsMappingItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBsToQosFlowsMappingItem_ExtIEs ( + // type record Dynamic5QIDescriptor { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Dynamic5QIDescriptor_ExtIEs ( + // type enumerated EarlyMeasurement { + // type record EarlyStatusTransfer_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EarlyStatusTransfer_TransparentContainer_ExtIEs (?); + // type union ProcedureStageChoice { + // type NGAP_Containers.NGAP_PROTOCOL_IES ProcedureStageChoice_ExtIEs (?); + // type record FirstDLCount { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FirstDLCount_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofDRBs) of DRBsSubjectToEarlyStatusTransfer_Item DRBsSubjectToEarlyStatusTransfer_List; + // type record DRBsSubjectToEarlyStatusTransfer_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION DRBsSubjectToEarlyStatusTransfer_Item_ExtIEs (?); + // type enumerated EDT_Session { + // type octetstring EmergencyAreaID length (3); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDBroadcastEUTRA_Item EmergencyAreaIDBroadcastEUTRA; + // type record EmergencyAreaIDBroadcastEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDBroadcastEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDBroadcastNR_Item EmergencyAreaIDBroadcastNR; + // type record EmergencyAreaIDBroadcastNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDBroadcastNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDCancelledEUTRA_Item EmergencyAreaIDCancelledEUTRA; + // type record EmergencyAreaIDCancelledEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDCancelledEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaIDCancelledNR_Item EmergencyAreaIDCancelledNR; + // type record EmergencyAreaIDCancelledNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyAreaIDCancelledNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEmergencyAreaID) of EmergencyAreaID EmergencyAreaIDList; + // type record length (1 .. NGAP_Constants.maxnoofEAIforRestart) of EmergencyAreaID EmergencyAreaIDListForRestart; + // type record EmergencyFallbackIndicator { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EmergencyFallbackIndicator_ExtIEs (?); + // type enumerated EmergencyFallbackRequestIndicator { + // type enumerated EmergencyServiceTargetCN { + // type union ENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES ENB_ID_ExtIEs (?); + // type enumerated Enhanced_CoverageRestriction { + // type integer Extended_ConnectedTime (0 .. 255); + // type octetstring EN_DCSONConfigurationTransfer; + // type record EndpointIPAddressAndPort { + // type enumerated EndIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EndpointIPAddressAndPort_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofEPLMNs) of PLMNIdentity EquivalentPLMNs; + // type octetstring EPS_TAC length (2); + // type record EPS_TAI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EPS_TAI_ExtIEs (?); + // type integer E_RAB_ID ( + // type record length (1 .. NGAP_Constants.maxnoofE_RABs) of E_RABInformationItem E_RABInformationList; + // type record E_RABInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION E_RABInformationItem_ExtIEs ( + // type bitstring EUTRACellIdentity length (28); + // type record EUTRA_CGI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRA_CGI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinngeNB) of EUTRA_CGI EUTRA_CGIList; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of EUTRA_CGI EUTRA_CGIListForWarning; + // type record EUTRA_PagingeDRXInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRA_PagingeDRXInformation_ExtIEs (?); + // type enumerated EUTRA_Paging_eDRX_Cycle { + // type enumerated EUTRA_Paging_Time_Window { + // type bitstring EUTRAencryptionAlgorithms length ( + // type bitstring EUTRAintegrityProtectionAlgorithms length ( + // type enumerated EventType { + // type record length (1 .. NGAP_Constants.maxnoofThresholdsForExcessPacketDelay) of ExcessPacketDelayThresholdItem ExcessPacketDelayThresholdConfiguration; + // type record ExcessPacketDelayThresholdItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExcessPacketDelayThresholdItem_ExtIEs (?); + // type enumerated ExcessPacketDelayThresholdValue { + // type integer ExpectedActivityPeriod ( + // type enumerated ExpectedHOInterval { + // type integer ExpectedIdlePeriod ( + // type record ExpectedUEActivityBehaviour { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExpectedUEActivityBehaviour_ExtIEs (?); + // type record ExpectedUEBehaviour { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExpectedUEBehaviour_ExtIEs (?); + // type enumerated ExpectedUEMobility { + // type record length (1 .. NGAP_Constants.maxnoofCellsUEMovingTrajectory) of ExpectedUEMovingTrajectoryItem ExpectedUEMovingTrajectory; + // type record ExpectedUEMovingTrajectoryItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExpectedUEMovingTrajectoryItem_ExtIEs (?); + // type record Extended_AMFName { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Extended_AMFName_ExtIEs (?); + // type integer ExtendedPacketDelayBudget ( + // type record Extended_RANNodeName { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION Extended_RANNodeName_ExtIEs (?); + // type record ExtendedRATRestrictionInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ExtendedRATRestrictionInformation_ExtIEs (?); + // type integer ExtendedRNC_ID (4096 .. 65535); + // type record length (1 .. NGAP_Constants.maxnoofExtSliceItems) of SliceSupportItem ExtendedSliceSupportList; + // type bitstring ExtendedUEIdentityIndexValue length (16); + // type union EventTrigger { + // type NGAP_Containers.NGAP_PROTOCOL_IES EventTrigger_ExtIEs (?); + // type record EventL1LoggedMDTConfig { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EventL1LoggedMDTConfig_ExtIEs (?); + // type union MeasurementThresholdL1LoggedMDT { + // type NGAP_Containers.NGAP_PROTOCOL_IES MeasurementThresholdL1LoggedMDT_ExtIEs (?); + // type record FailureIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FailureIndication_ExtIEs (?); + // type record FiveG_ProSeAuthorized { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveG_ProSeAuthorized_ExtIEs (?); + // type enumerated FiveGProSeDirectDiscovery { + // type enumerated FiveGProSeDirectCommunication { + // type enumerated FiveGProSeLayer2UEtoNetworkRelay { + // type enumerated FiveGProSeLayer3UEtoNetworkRelay { + // type enumerated FiveGProSeLayer2RemoteUE { + // type record FiveG_ProSePC5QoSParameters { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveG_ProSePC5QoSParameters_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPC5QoSFlows) of FiveGProSePC5QoSFlowItem FiveGProSePC5QoSFlowList; + // type record FiveGProSePC5QoSFlowItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveGProSePC5QoSFlowItem_ExtIEs (?); + // type record FiveGProSePC5FlowBitRates { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveGProSePC5FlowBitRates_ExtIEs (?); + // type record FiveG_S_TMSI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FiveG_S_TMSI_ExtIEs (?); + // type octetstring FiveG_TMSI length (4); + // type integer FiveQI ( + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of ForbiddenAreaInformation_Item ForbiddenAreaInformation; + // type record ForbiddenAreaInformation_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ForbiddenAreaInformation_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofForbTACs) of TAC ForbiddenTACs; + // type record FromEUTRANtoNGRAN { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FromEUTRANtoNGRAN_ExtIEs (?); + // type record FromNGRANtoEUTRAN { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION FromNGRANtoEUTRAN_ExtIEs (?); + // type record GBR_QosInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GBR_QosInformation_ExtIEs ( + // type octetstring GlobalCable_ID; + // type record GlobalCable_ID_new { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalCable_ID_new_ExtIEs (?); + // type record GlobalENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalENB_ID_ExtIEs (?); + // type record GlobalGNB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalGNB_ID_ExtIEs (?); + // type record GlobalN3IWF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalN3IWF_ID_ExtIEs (?); + // type record GlobalLine_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalLine_ID_ExtIEs ( + // type octetstring GlobalLineIdentity; + // type record GlobalNgENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalNgENB_ID_ExtIEs (?); + // type union GlobalRANNodeID { + // type NGAP_Containers.NGAP_PROTOCOL_IES GlobalRANNodeID_ExtIEs ( + // type record GlobalTNGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalTNGF_ID_ExtIEs (?); + // type record GlobalTWIF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalTWIF_ID_ExtIEs (?); + // type record GlobalW_AGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GlobalW_AGF_ID_ExtIEs (?); + // type union GNB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES GNB_ID_ExtIEs (?); + + // type octetstring GTP_TEID length (4); + + // type record GTPTunnel { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GTPTunnel_ExtIEs (?); + // type record GUAMI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION GUAMI_ExtIEs (?); + // type enumerated GUAMIType { + // type record HandoverCommandTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverCommandTransfer_ExtIEs ( + // type enumerated HandoverFlag { + // type record HandoverPreparationUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverPreparationUnsuccessfulTransfer_ExtIEs (?); + // type record HandoverRequestAcknowledgeTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverRequestAcknowledgeTransfer_ExtIEs ( + // type record HandoverRequiredTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverRequiredTransfer_ExtIEs (?); + // type record HandoverResourceAllocationUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HandoverResourceAllocationUnsuccessfulTransfer_ExtIEs (?); + // type enumerated HandoverType { + // type bitstring HashedUEIdentityIndexValue length ( + // type octetstring HFCNode_ID; + // type record HFCNode_ID_new { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HFCNode_ID_new_ExtIEs (?); + // type record HOReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION HOReport_ExtIEs (?); + // type integer Hysteresis (0 .. 30); + // type enumerated IAB_Authorized { + // type enumerated IAB_Supported { + // type enumerated IABNodeIndication { + // type enumerated IMSVoiceSupportIndicator { + // type integer IndexToRFSP ( + // type record InfoOnRecommendedCellsAndRANNodesForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION InfoOnRecommendedCellsAndRANNodesForPaging_ExtIEs (?); + // type enumerated IntegrityProtectionIndication { + // type enumerated IntegrityProtectionResult { + // type integer IntendedNumberOfPagingAttempts ( + // type bitstring InterfacesToTrace length (8); + // type record ImmediateMDTNr { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ImmediateMDTNr_ExtIEs (?); + // type record InterSystemFailureIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION InterSystemFailureIndication_ExtIEs (?); + // type record IntersystemSONConfigurationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemSONConfigurationTransfer_ExtIEs (?); + // type union IntersystemSONTransferType { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONTransferType_ExtIEs (?); + // type record IntersystemSONeNBID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemSONeNBID_ExtIEs (?); + // type record IntersystemSONNGRANnodeID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemSONNGRANnodeID_ExtIEs (?); + // type union IntersystemSONInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformation_ExtIEs ( + // type union IntersystemSONInformationRequest { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformationRequest_ExtIEs (?); + // type record IntersystemCellActivationRequest { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemCellActivationRequest_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinNGRANNode) of NGRAN_CGI CellsToActivateList; + // type record IntersystemResourceStatusRequest { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemResourceStatusRequest_ExtIEs (?); + // type union ReportingSystem { + // type NGAP_Containers.NGAP_PROTOCOL_IES ReportingSystem_ExtIEs (?); + // type record EUTRAN_ReportingSystemIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_ReportingSystemIEs_ExtIEs (?); + // type record NGRAN_ReportingSystemIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_ReportingSystemIEs_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of EUTRAN_CellToReportItem EUTRAN_CellToReportList; + // type record EUTRAN_CellToReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_CellToReportItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of NGRAN_CellToReportItem NGRAN_CellToReportList; + // type record NGRAN_CellToReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_CellToReportItem_ExtIEs (?); + // type bitstring ReportCharacteristics length (32); + // type union ReportType { + // type NGAP_Containers.NGAP_PROTOCOL_IES ReportType_ExtIEs (?); + // type record EventBasedReportingIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EventBasedReportingIEs_ExtIEs (?); + // type integer IntersystemResourceThreshold (0 .. 100); + // type enumerated NumberOfMeasurementReportingLevels { + // type record PeriodicReportingIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PeriodicReportingIEs_ExtIEs (?); + // type enumerated ReportingPeriodicity { + // type union IntersystemSONInformationReply { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformationReply_ExtIEs (?); + // type record IntersystemCellActivationReply { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemCellActivationReply_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinNGRANNode) of NGRAN_CGI ActivatedCellList; + // type record IntersystemResourceStatusReply { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemResourceStatusReply_ExtIEs (?); + // type union IntersystemSONInformationReport { + // type NGAP_Containers.NGAP_PROTOCOL_IES IntersystemSONInformationReport_ExtIEs ( + // type record IntersystemCellStateIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemCellStateIndication_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinNGRANNode) of NotificationCell_Item NotificationCellList; + // type record NotificationCell_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NotificationCell_Item_ExtIEs (?); + // type record IntersystemResourceStatusReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemResourceStatusReport_ExtIEs (?); + // type union ResourceStatusReportingSystem { + // type NGAP_Containers.NGAP_PROTOCOL_IES ResourceStatusReportingSystem_ExtIEs (?); + // type record EUTRAN_ReportingStatusIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_ReportingStatusIEs_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of EUTRAN_CellReportItem EUTRAN_CellReportList; + // type record EUTRAN_CellReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_CellReportItem_ExtIEs (?); + // type record EUTRAN_CompositeAvailableCapacityGroup { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_CompositeAvailableCapacityGroup_ExtIEs (?); + // type record CompositeAvailableCapacity { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION CompositeAvailableCapacity_ExtIEs (?); + // type integer EUTRAN_NumberOfActiveUEs ( + // type record EUTRAN_RadioResourceStatus { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION EUTRAN_RadioResourceStatus_ExtIEs (?); + // type record NGRAN_ReportingStatusIEs { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_ReportingStatusIEs_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofReportedCells) of NGRAN_CellReportItem NGRAN_CellReportList; + // type record NGRAN_CellReportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_CellReportItem_ExtIEs (?); + // type integer NGRAN_NumberOfActiveUEs ( + // type integer NGRAN_NoofRRCConnections ( + // type record NGRAN_RadioResourceStatus { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_RadioResourceStatus_ExtIEs (?); + // type record InterSystemHOReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION InterSystemHOReport_ExtIEs (?); + // type union InterSystemHandoverReportType { + // type NGAP_Containers.NGAP_PROTOCOL_IES InterSystemHandoverReportType_ExtIEs (?); + // type record IntersystemUnnecessaryHO { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION IntersystemUnnecessaryHO_ExtIEs (?); + // type octetstring LAC length (2); + // type record LAI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LAI_ExtIEs (?); + // type union LastVisitedCellInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES LastVisitedCellInformation_ExtIEs (?); + // type record LastVisitedCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LastVisitedCellItem_ExtIEs (?); + // type octetstring LastVisitedEUTRANCellInformation; + // type octetstring LastVisitedGERANCellInformation; + // type record LastVisitedNGRANCellInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LastVisitedNGRANCellInformation_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPSCellsPerPrimaryCellinUEHistoryInfo) of LastVisitedPSCellInformation LastVisitedPSCellList; + // type record LastVisitedPSCellInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LastVisitedPSCellInformation_ExtIEs (?); + // type octetstring LastVisitedUTRANCellInformation; + // type enumerated LineType { + // type enumerated LocationReportingAdditionalInfo { + // type integer LocationReportingReferenceID ( + // type record LocationReportingRequestType { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LocationReportingRequestType_ExtIEs ( + // type record LoggedMDTNr { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LoggedMDTNr_ExtIEs ( + // type enumerated LoggingInterval { + // type enumerated LoggingDuration { + // type enumerated Links_to_log { + // type union LoggedMDTTrigger { + // type NGAP_Containers.NGAP_PROTOCOL_IES LoggedMDTTrigger_ExtIEs (?); + // type enumerated LTEM_Indication { + // type octetstring LTEUERLFReportContainer; + // type record LTEV2XServicesAuthorized { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LTEV2XServicesAuthorized_ExtIEs (?); + // type record LTEUESidelinkAggregateMaximumBitrate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION LTEUE_Sidelink_Aggregate_MaximumBitrates_ExtIEs (?); + // type bitstring MaskedIMEISV length (64); + // type integer MaximumDataBurstVolume ( + // type bitstring MessageIdentifier length (16); + // type enumerated MaximumIntegrityProtectedDataRate { + // type integer MBS_AreaSessionID ( + // type record length (1 .. NGAP_Constants.maxnoofMRBs) of MBS_DataForwardingResponseMRBItem MBS_DataForwardingResponseMRBList; + // type record MBS_DataForwardingResponseMRBItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DataForwardingResponseMRBItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMRBs) of MBS_MappingandDataForwardingRequestItem MBS_MappingandDataForwardingRequestList; + // type record MBS_MappingandDataForwardingRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_MappingandDataForwardingRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of QosFlowIdentifier MBS_QoSFlowList; + // type union MRB_ProgressInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES MRB_ProgressInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSQoSFlows) of MBS_QoSFlowsToBeSetupItem MBS_QoSFlowsToBeSetupList; + // type record MBS_QoSFlowsToBeSetupItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_QoSFlowsToBeSetupItem_ExtIEs (?); + // type union MBS_ServiceArea { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBS_ServiceArea_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSServiceAreaInformation) of MBS_ServiceAreaInformationItem MBS_ServiceAreaInformationList; + // type record MBS_ServiceAreaInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ServiceAreaInformationItem_ExtIEs (?); + // type record MBS_ServiceAreaInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ServiceAreaInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsforMBS) of NR_CGI MBS_ServiceAreaCellList; + // type record length (1 .. NGAP_Constants.maxnoofTAIforMBS) of TAI MBS_ServiceAreaTAIList; + // type record MBS_SessionID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_SessionID_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionFailedtoSetupItem MBSSessionFailedtoSetupList; + // type record MBSSessionFailedtoSetupItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionFailedtoSetupItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessionsofUE) of MBS_ActiveSessionInformation_SourcetoTargetItem MBS_ActiveSessionInformation_SourcetoTargetList; + // type record MBS_ActiveSessionInformation_SourcetoTargetItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ActiveSessionInformation_SourcetoTargetItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessionsofUE) of MBS_ActiveSessionInformation_TargettoSourceItem MBS_ActiveSessionInformation_TargettoSourceList; + // type record MBS_ActiveSessionInformation_TargettoSourceItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_ActiveSessionInformation_TargettoSourceItem_ExtIEs (?); + // type record MBSSessionSetupOrModFailureTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupOrModFailureTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionSetupResponseItem MBSSessionSetupResponseList; + // type record MBSSessionSetupResponseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupResponseItem_ExtIEs (?); + // type record MBSSessionSetupOrModRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBSSessionSetupOrModRequestTransferIEs ( + // type record length (1 .. NGAP_Constants.maxnoofMBSFSAs) of MBS_SessionFSAID MBS_SessionFSAIDList; + // type octetstring MBS_SessionFSAID length (3); + // type record MBSSessionReleaseResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionReleaseResponseTransfer_ExtIEs (?); + // type record MBSSessionSetupOrModResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupOrModResponseTransfer_ExtIEs (?); + // type enumerated MBS_SupportIndicator { + // type union MBS_SessionTNLInfo5GC { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBS_SessionTNLInfo5GC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSServiceAreaInformation) of MBS_SessionTNLInfo5GCItem MBS_SessionTNLInfo5GCList; + // type record MBS_SessionTNLInfo5GCItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_SessionTNLInfo5GCItem_ExtIEs (?); + // type union MBS_SessionTNLInfoNGRAN { + // type NGAP_Containers.NGAP_PROTOCOL_IES MBS_SessionTNLInfoNGRAN_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSServiceAreaInformation) of MBS_SessionTNLInfoNGRANItem MBS_SessionTNLInfoNGRANList; + // type record MBS_SessionTNLInfoNGRANItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_SessionTNLInfoNGRANItem_ExtIEs (?); + // type record MBS_DistributionReleaseRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionReleaseRequesTransfer_ExtIEs (?); + // type record MBS_DistributionSetupRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionSetupRequestTransfer_ExtIEs (?); + // type record MBS_DistributionSetupResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionSetupResponseTransfer_ExtIEs (?); + // type record MBS_DistributionSetupUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBS_DistributionSetupUnsuccessfulTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionSetupRequestItem MBSSessionSetupRequestList; + // type record MBSSessionSetupRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetupRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionSetuporModifyRequestItem MBSSessionSetuporModifyRequestList; + // type record MBSSessionSetuporModifyRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionSetuporModifyRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMBSSessions) of MBSSessionToReleaseItem MBSSessionToReleaseList; + // type record MBSSessionToReleaseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MBSSessionToReleaseItem_ExtIEs (?); + // type enumerated MBSSessionStatus { + // type enumerated MicoAllPLMN { + // type enumerated MICOModeIndication { + // type bitstring MobilityInformation length (16); + // type record MobilityRestrictionList { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MobilityRestrictionList_ExtIEs ( + // type union MDT_AlignmentInfo { + // type NGAP_Containers.NGAP_PROTOCOL_IES MDT_AlignmentInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMDTPLMNs) of PLMNIdentity MDTPLMNList; + // type record length (0 .. NGAP_Constants.maxnoofMDTPLMNs) of PLMNIdentity MDTPLMNModificationList; + // type record MDT_Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Configuration_ExtIEs (?); + // type record MDT_Configuration_NR { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Configuration_NR_ExtIEs (?); + // type record MDT_Configuration_EUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Configuration_EUTRA_ExtIEs (?); + // type enumerated MDT_Activation { + // type union MDTModeNr { + // type NGAP_Containers.NGAP_PROTOCOL_IES MDTModeNr_ExtIEs (?); + // type octetstring MDTModeEutra; + // type bitstring MeasurementsToActivate length (8); + // type integer MRB_ID ( + // type record MulticastSessionActivationRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastSessionActivationRequestTransfer_ExtIEs (?); + // type record MulticastSessionDeactivationRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastSessionDeactivationRequestTransfer_ExtIEs (?); + // type record MulticastSessionUpdateRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_IES MulticastSessionUpdateRequestTransferIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPagingAreas) of MulticastGroupPagingAreaItem MulticastGroupPagingAreaList; + // type record MulticastGroupPagingAreaItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastGroupPagingAreaItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforPaging) of TAI MBS_AreaTAIList; + // type record MulticastGroupPagingArea { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MulticastGroupPagingArea_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofUEsforPaging) of UE_PagingItem UE_PagingList; + // type record UE_PagingItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_PagingItem_ExtIEs (?); + // type record M1Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M1Configuration_ExtIEs ( + // type enumerated IncludeBeamMeasurementsIndication { + // type integer MaxNrofRS_IndexesToReport ( + // type enumerated M1ReportingTrigger { + // type record M1ThresholdEventA2 { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M1ThresholdEventA2_ExtIEs (?); + // type union M1ThresholdType { + // type NGAP_Containers.NGAP_PROTOCOL_IES M1ThresholdType_ExtIEs (?); + // type record M1PeriodicReporting { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M1PeriodicReporting_ExtIEs ( + // type record M4Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M4Configuration_ExtIEs ( + // type enumerated M4ReportAmountMDT { + // type enumerated M4period { + // type record M5Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M5Configuration_ExtIEs ( + // type enumerated M5ReportAmountMDT { + // type enumerated M5period { + // type record M6Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M6Configuration_ExtIEs ( + // type enumerated M6ReportAmountMDT { + // type enumerated M6report_Interval { + // type record M7Configuration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION M7Configuration_ExtIEs ( + // type enumerated M7ReportAmountMDT { + // type integer M7period ( + // type record MDT_Location_Info { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION MDT_Location_Info_ExtIEs (?); + // type bitstring MDT_Location_Information length (8); + // type union N3IWF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES N3IWF_ID_ExtIEs (?); + // type octetstring NAS_PDU; + // type octetstring NASSecurityParametersFromNGRAN; + // type enumerated NB_IoT_DefaultPagingDRX { + // type enumerated NB_IoT_PagingDRX { + // type enumerated NB_IoT_Paging_eDRXCycle { + // type enumerated NB_IoT_Paging_TimeWindow { + // type record NB_IoT_Paging_eDRXInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NB_IoT_Paging_eDRXInfo_ExtIEs (?); + // type integer NB_IoT_UEPriority ( + // type integer NetworkInstance ( + // type enumerated NewSecurityContextInd { + // type integer NextHopChainingCount (0 .. 7); + // type enumerated NextPagingAreaScope { + // type record length (1 .. NGAP_Constants.maxnoofNGAPIESupportInfo) of NGAPIESupportInformationRequestItem NGAPIESupportInformationRequestList; + // type record NGAPIESupportInformationRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGAPIESupportInformationRequestItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofNGAPIESupportInfo) of NGAPIESupportInformationResponseItem NGAPIESupportInformationResponseList; + // type record NGAPIESupportInformationResponseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGAPIESupportInformationResponseItem_ExtIEs (?); + // type union NgENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES NgENB_ID_ExtIEs (?); + // type enumerated NotifySourceNGRANNode { + // type union NGRAN_CGI { + // type NGAP_Containers.NGAP_PROTOCOL_IES NGRAN_CGI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of NGRAN_TNLAssociationToRemoveItem NGRAN_TNLAssociationToRemoveList; + // type record NGRAN_TNLAssociationToRemoveItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NGRAN_TNLAssociationToRemoveItem_ExtIEs (?); + // type octetstring NGRANTraceID length (8); + // type bitstring NID length (44); + // type record NonDynamic5QIDescriptor { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NonDynamic5QIDescriptor_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofAllowedAreas) of TAC NotAllowedTACs; + // type enumerated NotificationCause { + // type enumerated NotificationControl { + // type union NPN_AccessInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_AccessInformation_ExtIEs (?); + // type union NPN_MobilityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_MobilityInformation_ExtIEs (?); + // type union NPN_PagingAssistanceInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_PagingAssistanceInformation_ExtIEs (?); + // type union NPN_Support { + // type NGAP_Containers.NGAP_PROTOCOL_IES NPN_Support_ExtIEs (?); + // type bitstring NRCellIdentity length (36); + // type record NR_CGI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NR_CGI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsingNB) of NR_CGI NR_CGIList; + // type record length (1 .. NGAP_Constants.maxnoofCellIDforWarning) of NR_CGI NR_CGIListForWarning; + // type record NR_PagingeDRXInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NR_PagingeDRXInformation_ExtIEs (?); + // type enumerated NR_Paging_eDRX_Cycle { + // type enumerated NR_Paging_Time_Window { + // type bitstring NRencryptionAlgorithms length ( + // type bitstring NRintegrityProtectionAlgorithms length ( + // type octetstring NRMobilityHistoryReport; + // type octetstring NRPPa_PDU; + // type octetstring NRUERLFReportContainer; + // type record NRNTNTAIInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRNTNTAIInformation_ExtIEs (?); + // type integer NumberOfBroadcasts (0 .. 65535); + // type integer NumberOfBroadcastsRequested (0 .. 65535); + // type integer NRARFCN (0 .. NGAP_Constants.maxNRARFCN); + // type integer NRFrequencyBand ( + // type record length (1 .. NGAP_Constants.maxnoofNRCellBands) of NRFrequencyBandItem NRFrequencyBand_List; + // type record NRFrequencyBandItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRFrequencyBandItem_ExtIEs (?); + // type record NRFrequencyInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRFrequencyInfo_ExtIEs (?); + // type integer NR_PCI ( + // type record NRV2XServicesAuthorized { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRV2XServicesAuthorized_ExtIEs (?); + // type enumerated VehicleUE { + // type enumerated PedestrianUE { + // type record NRUESidelinkAggregateMaximumBitrate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION NRUESidelinkAggregateMaximumBitrate_ExtIEs (?); + // type integer NSAG_ID ( + // type enumerated OnboardingSupport { + // type enumerated OverloadAction { + // type union OverloadResponse { + // type NGAP_Containers.NGAP_PROTOCOL_IES OverloadResponse_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSliceItems) of OverloadStartNSSAIItem OverloadStartNSSAIList; + // type record OverloadStartNSSAIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION OverloadStartNSSAIItem_ExtIEs (?); + // type integer PacketDelayBudget ( + // type record PacketErrorRate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PacketErrorRate_ExtIEs (?); + // type integer PacketLossRate ( + // type record PagingAssisDataforCEcapabUE { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PagingAssisDataforCEcapabUE_ExtIEs (?); + // type record PagingAttemptInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PagingAttemptInformation_ExtIEs (?); + // type integer PagingAttemptCount ( + // type enumerated PagingCause { + // type enumerated PagingCauseIndicationForVoiceService { + // type enumerated PagingDRX { + // type enumerated PagingOrigin { + // type enumerated PagingPriority { + // type enumerated PagingProbabilityInformation { + // type record PathSwitchRequestAcknowledgeTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestAcknowledgeTransfer_ExtIEs ( + // type record PathSwitchRequestSetupFailedTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestSetupFailedTransfer_ExtIEs (?); + // type record PathSwitchRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestTransfer_ExtIEs ( + // type record PathSwitchRequestUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PathSwitchRequestUnsuccessfulTransfer_ExtIEs (?); + // type record PC5QoSParameters { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PC5QoSParameters_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPC5QoSFlows) of PC5QoSFlowItem PC5QoSFlowList; + // type record PC5QoSFlowItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PC5QoSFlowItem_ExtIEs (?); + // type record PC5FlowBitRates { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PC5FlowBitRates_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofNeighPCIforMDT) of NR_PCI PCIListForMDT; + // type enumerated PrivacyIndicator { + // type record PDUSessionAggregateMaximumBitRate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionAggregateMaximumBitRate_ExtIEs (?); + // type integer PDUSessionID (0 .. 255); + // type integer PDUSessionPairID ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceAdmittedItem PDUSessionResourceAdmittedList; + // type record PDUSessionResourceAdmittedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceAdmittedItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToModifyItemModCfm PDUSessionResourceFailedToModifyListModCfm; + // type record PDUSessionResourceFailedToModifyItemModCfm { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToModifyItemModCfm_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToModifyItemModRes PDUSessionResourceFailedToModifyListModRes; + // type record PDUSessionResourceFailedToModifyItemModRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToModifyItemModRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToResumeItemRESReq PDUSessionResourceFailedToResumeListRESReq; + // type record PDUSessionResourceFailedToResumeItemRESReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToResumeItemRESReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToResumeItemRESRes PDUSessionResourceFailedToResumeListRESRes; + // type record PDUSessionResourceFailedToResumeItemRESRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToResumeItemRESRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemCxtFail PDUSessionResourceFailedToSetupListCxtFail; + // type record PDUSessionResourceFailedToSetupItemCxtFail { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemCxtFail_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemCxtRes PDUSessionResourceFailedToSetupListCxtRes; + // type record PDUSessionResourceFailedToSetupItemCxtRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemCxtRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemHOAck PDUSessionResourceFailedToSetupListHOAck; + // type record PDUSessionResourceFailedToSetupItemHOAck { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemHOAck_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemPSReq PDUSessionResourceFailedToSetupListPSReq; + // type record PDUSessionResourceFailedToSetupItemPSReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemPSReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceFailedToSetupItemSURes PDUSessionResourceFailedToSetupListSURes; + // type record PDUSessionResourceFailedToSetupItemSURes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceFailedToSetupItemSURes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceHandoverItem PDUSessionResourceHandoverList; + // type record PDUSessionResourceHandoverItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceHandoverItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceInformationItem PDUSessionResourceInformationList; + // type record PDUSessionResourceInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceInformationItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceItemCxtRelCpl PDUSessionResourceListCxtRelCpl; + // type record PDUSessionResourceItemCxtRelCpl { + // type octetstring PDUSessionResourceReleaseResponseTransfer_OCTET_STRING; + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceItemCxtRelCpl_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceItemCxtRelReq PDUSessionResourceListCxtRelReq; + // type record PDUSessionResourceItemCxtRelReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceItemCxtRelReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceItemHORqd PDUSessionResourceListHORqd; + // type record PDUSessionResourceItemHORqd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceItemHORqd_ExtIEs (?); + // type record PDUSessionResourceModifyConfirmTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyConfirmTransfer_ExtIEs ( + // type record PDUSessionResourceModifyIndicationUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyIndicationUnsuccessfulTransfer_ExtIEs (?); + // type record PDUSessionResourceModifyRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_IES PDUSessionResourceModifyRequestTransferIEs ( + // type record PDUSessionResourceModifyResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyResponseTransfer_ExtIEs ( + // type record PDUSessionResourceModifyIndicationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyIndicationTransfer_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModCfm PDUSessionResourceModifyListModCfm; + // type record PDUSessionResourceModifyItemModCfm { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModCfm_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModInd PDUSessionResourceModifyListModInd; + // type record PDUSessionResourceModifyItemModInd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModInd_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModReq PDUSessionResourceModifyListModReq; + // type record PDUSessionResourceModifyItemModReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModReq_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceModifyItemModRes PDUSessionResourceModifyListModRes; + // type record PDUSessionResourceModifyItemModRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyItemModRes_ExtIEs (?); + // type record PDUSessionResourceModifyUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceModifyUnsuccessfulTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceNotifyItem PDUSessionResourceNotifyList; + // type record PDUSessionResourceNotifyItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceNotifyItem_ExtIEs (?); + // type record PDUSessionResourceNotifyReleasedTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceNotifyReleasedTransfer_ExtIEs ( + // type record PDUSessionResourceNotifyTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceNotifyTransfer_ExtIEs ( + // type record PDUSessionResourceReleaseCommandTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleaseCommandTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemNot PDUSessionResourceReleasedListNot; + // type record PDUSessionResourceReleasedItemNot { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemNot_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemPSAck PDUSessionResourceReleasedListPSAck; + // type record PDUSessionResourceReleasedItemPSAck { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemPSAck_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemPSFail PDUSessionResourceReleasedListPSFail; + // type record PDUSessionResourceReleasedItemPSFail { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemPSFail_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceReleasedItemRelRes PDUSessionResourceReleasedListRelRes; + // type record PDUSessionResourceReleasedItemRelRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleasedItemRelRes_ExtIEs (?); + // type record PDUSessionResourceReleaseResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceReleaseResponseTransfer_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceResumeItemRESReq PDUSessionResourceResumeListRESReq; + // type record PDUSessionResourceResumeItemRESReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceResumeItemRESReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceResumeItemRESRes PDUSessionResourceResumeListRESRes; + // type record PDUSessionResourceResumeItemRESRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceResumeItemRESRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSecondaryRATUsageItem PDUSessionResourceSecondaryRATUsageList; + // type record PDUSessionResourceSecondaryRATUsageItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSecondaryRATUsageItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemCxtReq PDUSessionResourceSetupListCxtReq; + // type record PDUSessionResourceSetupItemCxtReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemCxtReq_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemCxtRes PDUSessionResourceSetupListCxtRes; + // type record PDUSessionResourceSetupItemCxtRes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemCxtRes_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemHOReq PDUSessionResourceSetupListHOReq; + // type record PDUSessionResourceSetupItemHOReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemHOReq_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemSUReq PDUSessionResourceSetupListSUReq; + // type record PDUSessionResourceSetupItemSUReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemSUReq_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSetupItemSURes PDUSessionResourceSetupListSURes; + // type record PDUSessionResourceSetupItemSURes { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupItemSURes_ExtIEs (?); + // type record PDUSessionResourceSetupRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_IES PDUSessionResourceSetupRequestTransferIEs ( + // type record PDUSessionResourceSetupResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupResponseTransfer_ExtIEs ( + // type record PDUSessionResourceSetupUnsuccessfulTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSetupUnsuccessfulTransfer_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSuspendItemSUSReq PDUSessionResourceSuspendListSUSReq; + // type record PDUSessionResourceSuspendItemSUSReq { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSuspendItemSUSReq_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceSwitchedItem PDUSessionResourceSwitchedList; + // type record PDUSessionResourceSwitchedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceSwitchedItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceToBeSwitchedDLItem PDUSessionResourceToBeSwitchedDLList; + // type record PDUSessionResourceToBeSwitchedDLItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceToBeSwitchedDLItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceToReleaseItemHOCmd PDUSessionResourceToReleaseListHOCmd; + // type record PDUSessionResourceToReleaseItemHOCmd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceToReleaseItemHOCmd_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPDUSessions) of PDUSessionResourceToReleaseItemRelCmd PDUSessionResourceToReleaseListRelCmd; + // type record PDUSessionResourceToReleaseItemRelCmd { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionResourceToReleaseItemRelCmd_ExtIEs (?); + // type enumerated PDUSessionType { + // type record PDUSessionUsageReport { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PDUSessionUsageReport_ExtIEs (?); + // type record PEIPSassistanceInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PEIPSassistanceInformation_ExtIEs (?); + // type integer Periodicity ( + // type bitstring PeriodicRegistrationUpdateTimer length (8); + // type octetstring PLMNIdentity length (3); + // type record PLMNAreaBasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PLMNAreaBasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofPLMNforQMC) of PLMNIdentity PLMNListforQMC; + // type record length (1 .. NGAP_Constants.maxnoofPLMNs) of PLMNSupportItem PLMNSupportList; + // type record PLMNSupportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PLMNSupportItem_ExtIEs ( + // type record PNI_NPN_MobilityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION PNI_NPN_MobilityInformation_ExtIEs (?); + // type octetstring PortNumber length (2); + // type enumerated Pre_emptionCapability { + // type enumerated Pre_emptionVulnerability { + // type integer PriorityLevelARP (1 .. 15); + // type integer PriorityLevelQos ( + // type union PWSFailedCellIDList { + // type NGAP_Containers.NGAP_PROTOCOL_IES PWSFailedCellIDList_ExtIEs (?); + // type record QMCConfigInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QMCConfigInfo_ExtIEs (?); + // type record QMCDeactivation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QMCDeactivation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofUEAppLayerMeas) of QoEReference QoEReferenceList; + // type octetstring QoEReference length (6); + // type union QosCharacteristics { + // type NGAP_Containers.NGAP_PROTOCOL_IES QosCharacteristics_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowAcceptedItem QosFlowAcceptedList; + // type record QosFlowAcceptedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowAcceptedItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowAddOrModifyRequestItem QosFlowAddOrModifyRequestList; + // type record QosFlowAddOrModifyRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowAddOrModifyRequestItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowAddOrModifyResponseItem QosFlowAddOrModifyResponseList; + // type record QosFlowAddOrModifyResponseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowAddOrModifyResponseItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowFeedbackItem QosFlowFeedbackList; + // type record QosFlowFeedbackItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowFeedbackItem_ExtIEs (?); + // type integer QosFlowIdentifier ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowInformationItem QosFlowInformationList; + // type record QosFlowInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowInformationItem_ExtIEs ( + // type record QosFlowLevelQosParameters { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowLevelQosParameters_ExtIEs ( + // type enumerated QosMonitoringRequest { + // type integer QosMonitoringReportingFrequency ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowIdentifier QoSFlowList; + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowWithCauseItem QosFlowListWithCause; + // type record QosFlowWithCauseItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowWithCauseItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowModifyConfirmItem QosFlowModifyConfirmList; + // type record QosFlowModifyConfirmItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowModifyConfirmItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowNotifyItem QosFlowNotifyList; + // type record QosFlowNotifyItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowNotifyItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowParametersItem QosFlowParametersList; + // type record QosFlowParametersItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowParametersItem_ExtIEs ( + // type record QosFlowPerTNLInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowPerTNLInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of QosFlowPerTNLInformationItem QosFlowPerTNLInformationList; + // type record QosFlowPerTNLInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowPerTNLInformationItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowSetupRequestItem QosFlowSetupRequestList; + // type record QosFlowSetupRequestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowSetupRequestItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowItemWithDataForwarding QosFlowListWithDataForwarding; + // type record QosFlowItemWithDataForwarding { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowItemWithDataForwarding_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QosFlowToBeForwardedItem QosFlowToBeForwardedList; + // type record QosFlowToBeForwardedItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QosFlowToBeForwardedItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofQosFlows) of QoSFlowsUsageReport_Item QoSFlowsUsageReportList; + // type record QoSFlowsUsageReport_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION QoSFlowsUsageReport_Item_ExtIEs (?); + // type enumerated Range { + // type ASNAUX.PrintableString RANNodeName length ( + // type ASNAUX.VisibleString RANNodeNameVisibleString length ( + // type ASNAUX.UTF8String RANNodeNameUTF8String length ( + // type integer RANPagingPriority (1 .. 256); + // type record RANStatusTransfer_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RANStatusTransfer_TransparentContainer_ExtIEs (?); + + // type integer RAN_UE_NGAP_ID (0 .. 4294967295); + template RAN_UE_NGAP_ID mw_ie_rANUeNgapId(integer p_val:=1) := p_val; + + // type enumerated RAT_Information { + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of RATRestrictions_Item RATRestrictions; + // type record RATRestrictions_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RATRestrictions_Item_ExtIEs ( + // type bitstring RATRestrictionInformation length ( + // type record RecommendedCellsForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedCellsForPaging_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofRecommendedCells) of RecommendedCellItem RecommendedCellList; + // type record RecommendedCellItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedCellItem_ExtIEs (?); + // type record RecommendedRANNodesForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedRANNodesForPaging_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofRecommendedRANNodes) of RecommendedRANNodeItem RecommendedRANNodeList; + // type record RecommendedRANNodeItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RecommendedRANNodeItem_ExtIEs (?); + // type enumerated RedCapIndication { + // type enumerated RedirectionVoiceFallback { + // type record RedundantPDUSessionInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RedundantPDUSessionInformation_ExtIEs ( + // type enumerated RedundantQosFlowIndicator { + // type enumerated ReflectiveQosAttribute { + // type integer RelativeAMFCapacity (0 .. 255); + // type enumerated ReportArea { + // type integer RepetitionPeriod (0 .. 131071); + // type enumerated ResetAll { + // type enumerated ReportAmountMDT { + // type enumerated ReportIntervalMDT { + // type enumerated ExtendedReportIntervalMDT { + // type union ResetType { + // type NGAP_Containers.NGAP_PROTOCOL_IES ResetType_ExtIEs (?); + // type octetstring RGLevelWirelineAccessCharacteristics; + // type integer RNC_ID (0 .. 4095); + // type octetstring RoutingID; + // type octetstring RRCContainer; + // type enumerated RRCEstablishmentCause { + // type enumerated RRCInactiveTransitionReportRequest { + // type enumerated RRCState { + // type enumerated RSN { + // type record RIMInformationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RIMInformationTransfer_ExtIEs (?); + // type record RIMInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION RIMInformation_ExtIEs (?); + // type bitstring GNBSetID length (22); + // type record ScheduledCommunicationTime { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ScheduledCommunicationTime_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofXnTLAs) of TransportLayerAddress SCTP_TLAs; + // type octetstring SD length (3); + // type record SecondaryRATUsageInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecondaryRATUsageInformation_ExtIEs (?); + // type record SecondaryRATDataUsageReportTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecondaryRATDataUsageReportTransfer_ExtIEs (?); + // type record SecurityContext { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityContext_ExtIEs (?); + // type record SecurityIndication { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityIndication_ExtIEs ( + // type bitstring SecurityKey length (256); + // type record SecurityResult { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SecurityResult_ExtIEs (?); + // type record SensorMeasurementConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SensorMeasurementConfiguration_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSensorName) of SensorMeasConfigNameItem SensorMeasConfigNameList; + // type record SensorMeasConfigNameItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SensorMeasConfigNameItem_ExtIEs (?); + // type enumerated SensorMeasConfig { + // type union SensorNameConfig { + // type NGAP_Containers.NGAP_PROTOCOL_IES SensorNameConfig_ExtIEs (?); + // type bitstring SerialNumber length (16); + // type record length (1 .. NGAP_Constants.maxnoofServedGUAMIs) of ServedGUAMIItem ServedGUAMIList; + // type record ServedGUAMIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ServedGUAMIItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofEPLMNsPlusOne) of ServiceAreaInformation_Item ServiceAreaInformation; + // type record ServiceAreaInformation_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION ServiceAreaInformation_Item_ExtIEs (?); + // type enumerated ServiceType { + // type integer SgNB_UE_X2AP_ID (0 .. 4294967295); + // type record SharedNGU_MulticastTNLInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SharedNGU_MulticastTNLInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSliceItems) of SliceOverloadItem SliceOverloadList; + // type record SliceOverloadItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceOverloadItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSliceItems) of SliceSupportItem SliceSupportList; + // type record SliceSupportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceSupportItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofSNSSAIforQMC) of SliceSupportQMC_Item SliceSupportListQMC; + // type record SliceSupportQMC_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SliceSupportQMC_Item_ExtIEs (?); + // type record SNPN_MobilityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SNPN_MobilityInformation_ExtIEs (?); + // type record S_NSSAI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION S_NSSAI_ExtIEs (?); + // type record SONConfigurationTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SONConfigurationTransfer_ExtIEs (?); + // type union SONInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES SONInformation_ExtIEs ( + // type record SONInformationReply { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SONInformationReply_ExtIEs (?); + // type union SONInformationReport { + // type NGAP_Containers.NGAP_PROTOCOL_IES SONInformationReport_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofSuccessfulHOReports) of SuccessfulHandoverReport_Item SuccessfulHandoverReportList; + // type record SuccessfulHandoverReport_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SuccessfulHandoverReport_Item_ExtIEs (?); + // type enumerated SONInformationRequest { + // type record SourceNGRANNode_ToTargetNGRANNode_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_ExtIEs ( + // type union SourceNodeID { + // type NGAP_Containers.NGAP_PROTOCOL_IES SourceNodeID_ExtIEs (?); + // type enumerated SourceOfUEActivityBehaviourInformation { + // type record SourceRANNodeID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceRANNodeID_ExtIEs (?); + // type octetstring SourceToTarget_TransparentContainer; + // type record SourceToTarget_AMFInformationReroute { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SourceToTarget_AMFInformationReroute_ExtIEs (?); + // type enumerated SRVCCOperationPossible { + // type octetstring ConfiguredNSSAI length (128); + // type octetstring RejectedNSSAIinPLMN length (32); + // type octetstring RejectedNSSAIinTA length (32); + // type octetstring SST length (1); + // type record length (1 .. NGAP_Constants.maxnoofTACs) of SupportedTAItem SupportedTAList; + // type record SupportedTAItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION SupportedTAItem_ExtIEs ( + // type enumerated SuspendIndicator { + // type enumerated Suspend_Request_Indication { + // type enumerated Suspend_Response_Indication { + // type integer SurvivalTime ( + // type octetstring TAC length (3); + // type record length (1 .. NGAP_Constants.maxnoofTACsinNTN) of TAC TACListInNRNTN; + // type record TAI { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAI_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAIBroadcastEUTRA_Item TAIBroadcastEUTRA; + // type record TAIBroadcastEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBroadcastEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAIBroadcastNR_Item TAIBroadcastNR; + // type record TAIBroadcastNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBroadcastNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAICancelledEUTRA_Item TAICancelledEUTRA; + // type record TAICancelledEUTRA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAICancelledEUTRA_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAICancelledNR_Item TAICancelledNR; + // type record TAICancelledNR_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAICancelledNR_Item_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforInactive) of TAIListForInactiveItem TAIListForInactive; + // type record TAIListForInactiveItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIListForInactiveItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforPaging) of TAIListForPagingItem TAIListForPaging; + // type record TAIListForPagingItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIListForPagingItem_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAIforRestart) of TAI TAIListForRestart; + // type record length (1 .. NGAP_Constants.maxnoofTAIforWarning) of TAI TAIListForWarning; + // type record length (1 .. NGAP_Constants.maxnoofNSAGs) of TAINSAGSupportItem TAINSAGSupportList; + // type record TAINSAGSupportItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAINSAGSupportItem_ExtIEs (?); + // type record TargeteNB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargeteNB_ID_ExtIEs (?); + // type record TargetHomeENB_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetHomeENB_ID_ExtIEs (?); + // type union TargetID { + // type NGAP_Containers.NGAP_PROTOCOL_IES TargetID_ExtIEs ( + // type record TargetNGRANNode_ToSourceNGRANNode_TransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_ExtIEs ( + // type record TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNGRANNode_ToSourceNGRANNode_FailureTransparentContainer_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofTargetS_NSSAIs) of TargetNSSAI_Item TargetNSSAI; + // type record TargetNSSAI_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNSSAI_Item_ExtIEs (?); + // type record TargetNSSAIInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetNSSAIInformation_Item_ExtIEs (?); + // type record TargetRANNodeID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_ExtIEs (?); + // type record TargetRANNodeID_RIM { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_RIM_ExtIEs (?); + // type record TargetRANNodeID_SON { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRANNodeID_SON_ExtIEs ( + // type record TargetRNC_ID { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TargetRNC_ID_ExtIEs (?); + // type octetstring TargetToSource_TransparentContainer; + // type octetstring TargettoSource_Failure_TransparentContainer; + // type enumerated TimerApproachForGUAMIRemoval { + // type octetstring TimeStamp length (4); + // type record TimeSyncAssistanceInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TimeSyncAssistanceInfo_ExtIEs (?); + // type enumerated TimeToWait { + // type integer TimeUEStayedInCell (0 .. 4095); + // type integer TimeUEStayedInCellEnhancedGranularity (0 .. 40950); + // type octetstring TMGI length (6); + // type octetstring TNAP_ID; + // type union TNGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES TNGF_ID_ExtIEs (?); + // type integer TNLAddressWeightFactor (0 .. 255); + // type record length (1 .. NGAP_Constants.maxnoofTNLAssociations) of TNLAssociationItem TNLAssociationList; + // type record TNLAssociationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TNLAssociationItem_ExtIEs (?); + // type enumerated TNLAssociationUsage { + // type record TooearlyIntersystemHO { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TooearlyIntersystemHO_ExtIEs (?); + // type record TraceActivation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TraceActivation_ExtIEs ( + // type enumerated TraceDepth { + // type integer TrafficLoadReductionIndication (1 .. 99); + // type bitstring TransportLayerAddress length ( + // type enumerated TypeOfError { + // type record TAIBasedMDT { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBasedMDT_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforMDT) of TAI TAIListforMDT; + // type record TAIBasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TAIBasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforQMC) of TAI TAIListforQMC; + // type record TABasedQMC { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TABasedQMC_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforQMC) of TAC TAListforQMC; + // type record TABasedMDT { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TABasedMDT_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTAforMDT) of TAC TAListforMDT; + // type integer Threshold_RSRP (0 .. 127); + // type integer Threshold_RSRQ (0 .. 127); + // type integer Threshold_SINR (0 .. 127); + // type enumerated TimeToTrigger { + // type octetstring TWAP_ID; + // type union TWIF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES TWIF_ID_ExtIEs (?); + // type record TSCAssistanceInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TSCAssistanceInformation_ExtIEs ( + // type record TSCTrafficCharacteristics { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION TSCTrafficCharacteristics_ExtIEs (?); + // type record UEAggregateMaximumBitRate { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAggregateMaximumBitRate_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofUEAppLayerMeas) of UEAppLayerMeasInfoItem UEAppLayerMeasInfoList; + // type record UEAppLayerMeasInfoItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAppLayerMeasInfoItem_ExtIEs (?); + // type record UEAppLayerMeasConfigInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEAppLayerMeasConfigInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofNGConnectionsToReset) of UE_associatedLogicalNG_connectionItem UE_associatedLogicalNG_connectionList; + // type record UE_associatedLogicalNG_connectionItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_associatedLogicalNG_connectionItem_ExtIEs (?); + // type enumerated UECapabilityInfoRequest { + // type enumerated UEContextRequest { + // type record UEContextResumeRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextResumeRequestTransfer_ExtIEs (?); + // type record UEContextResumeResponseTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextResumeResponseTransfer_ExtIEs (?); + // type record UEContextSuspendRequestTransfer { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEContextSuspendRequestTransfer_ExtIEs (?); + // type record UE_DifferentiationInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_DifferentiationInfo_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofCellsinUEHistoryInfo) of LastVisitedCellItem UEHistoryInformation; + // type union UEHistoryInformationFromTheUE { + // type NGAP_Containers.NGAP_PROTOCOL_IES UEHistoryInformationFromTheUE_ExtIEs (?); + // type union UEIdentityIndexValue { + // type NGAP_Containers.NGAP_PROTOCOL_IES UEIdentityIndexValue_ExtIEs (?); + // type union UE_NGAP_IDs { + // type NGAP_Containers.NGAP_PROTOCOL_IES UE_NGAP_IDs_ExtIEs (?); + // type record UE_NGAP_ID_pair { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UE_NGAP_ID_pair_ExtIEs (?); + // type union UEPagingIdentity { + // type NGAP_Containers.NGAP_PROTOCOL_IES UEPagingIdentity_ExtIEs (?); + // type enumerated UEPresence { + // type record length (1 .. NGAP_Constants.maxnoofAoI) of UEPresenceInAreaOfInterestItem UEPresenceInAreaOfInterestList; + // type record UEPresenceInAreaOfInterestItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UEPresenceInAreaOfInterestItem_ExtIEs (?); + // type octetstring UERadioCapability; + // type record UERadioCapabilityForPaging { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UERadioCapabilityForPaging_ExtIEs ( + // type octetstring UERadioCapabilityForPagingOfNB_IoT; + // type octetstring UERadioCapabilityForPagingOfNR; + // type octetstring UERadioCapabilityForPagingOfEUTRA; + // type octetstring UERadioCapabilityID; + // type enumerated UERetentionInformation { + // type union UERLFReportContainer { + // type NGAP_Containers.NGAP_PROTOCOL_IES UERLFReportContainer_ExtIEs (?); + // type record UESecurityCapabilities { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UESecurityCapabilities_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofAllowedS_NSSAIs) of UESliceMaximumBitRateItem UESliceMaximumBitRateList; + // type record UESliceMaximumBitRateItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UESliceMaximumBitRateItem_ExtIEs (?); + // type enumerated UE_UP_CIoT_Support { + // type record UL_CP_SecurityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UL_CP_SecurityInformation_ExtIEs (?); + // type bitstring UL_NAS_MAC length (16); + // type bitstring UL_NAS_Count length (5); + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivity) of UL_NGU_UP_TNLModifyItem UL_NGU_UP_TNLModifyList; + // type record UL_NGU_UP_TNLModifyItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UL_NGU_UP_TNLModifyItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofServedGUAMIs) of UnavailableGUAMIItem UnavailableGUAMIList; + // type record UnavailableGUAMIItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UnavailableGUAMIItem_ExtIEs (?); + // type enumerated ULForwarding { + // type bitstring UpdateFeedback length ( + // type union UPTransportLayerInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES UPTransportLayerInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of UPTransportLayerInformationItem UPTransportLayerInformationList; + // type record UPTransportLayerInformationItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UPTransportLayerInformationItem_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofMultiConnectivityMinusOne) of UPTransportLayerInformationPairItem UPTransportLayerInformationPairList; + // type record UPTransportLayerInformationPairItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UPTransportLayerInformationPairItem_ExtIEs (?); + // type ASNAUX.VisibleString URI_address; + // type union UserLocationInformation { + // type NGAP_Containers.NGAP_PROTOCOL_IES UserLocationInformation_ExtIEs ( + // type record UserLocationInformationEUTRA { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationEUTRA_ExtIEs ( + // type record UserLocationInformationN3IWF { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationN3IWF_ExtIEs ( + // type record UserLocationInformationTNGF { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationTNGF_ExtIEs ( + // type record UserLocationInformationTWIF { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationTWIF_ExtIEs ( + // type union UserLocationInformationW_AGF { + // type NGAP_Containers.NGAP_PROTOCOL_IES UserLocationInformationW_AGF_ExtIEs ( + // type record UserLocationInformationNR { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserLocationInformationNR_ExtIEs ( + // type record UserPlaneSecurityInformation { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION UserPlaneSecurityInformation_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofTimePeriods) of VolumeTimedReport_Item VolumeTimedReportList; + // type record VolumeTimedReport_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION VolumeTimedReport_Item_ExtIEs (?); + // type union W_AGF_ID { + // type NGAP_Containers.NGAP_PROTOCOL_IES W_AGF_ID_ExtIEs (?); + // type octetstring WarningAreaCoordinates length (1 .. 1024); + // type union WarningAreaList { + // type NGAP_Containers.NGAP_PROTOCOL_IES WarningAreaList_ExtIEs (?); + // type octetstring WarningMessageContents length (1 .. 9600); + // type octetstring WarningSecurityInfo length (50); + // type octetstring WarningType length (2); + // type record WLANMeasurementConfiguration { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION WLANMeasurementConfiguration_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofWLANName) of WLANMeasConfigNameItem WLANMeasConfigNameList; + // type record WLANMeasConfigNameItem { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION WLANMeasConfigNameItem_ExtIEs (?); + // type enumerated WLANMeasConfig { + // type octetstring WLANName length (1 .. 32); + // type record WUS_Assistance_Information { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION WUS_Assistance_Information_ExtIEs (?); + // type record length (1 .. NGAP_Constants.maxnoofXnExtTLAs) of XnExtTLA_Item XnExtTLAs; + // type record XnExtTLA_Item { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION XnExtTLA_Item_ExtIEs ( + // type record length (1 .. NGAP_Constants.maxnoofXnGTP_TLAs) of TransportLayerAddress XnGTP_TLAs; + // type record length (1 .. NGAP_Constants.maxnoofXnTLAs) of TransportLayerAddress XnTLAs; + // type record XnTNLConfigurationInfo { + // type NGAP_Containers.NGAP_PROTOCOL_EXTENSION XnTNLConfigurationInfo_ExtIEs (?); + + } + }//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..d1ddba36fcc44704df6d653babee6b781c8c8ba4 --- /dev/null +++ b/ttcn/LibNGAP/lib/LibNGAP_TypesAndValues.ttcn @@ -0,0 +1,55 @@ +/** + * @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; + +//TODO: Remove!!! +// type set NGAPIEs{ +// anytype value_ optional, +// GlobalRANNodeID globalRANNodeID optional, +// GlobalGNB_ID globalGNB_ID optional, +// RANNodeName rANNodeName optional, +// SupportedTAList supportedTAList optional, +// PagingDRX defaultPagingDRX optional, +// UERetentionInformation uERetentionInformation optional, +// NB_IoT_DefaultPagingDRX nB_IoT_DefaultPagingDRX optional, +// Extended_RANNodeName extended_RANNodeName optional +// } +// +// /** +// * @desc This data structure redefines ASN.1 ProtocolIE-Field data structure die to parameterization limitation of TTCN-3 tools +// * @member id Protocol Information Element identifier +// * @member criticality Criticality value attached to this IE +// * @member value_ Value of this IE +// * @see ETSI TS 136 413 Clause 9.1 Message Functional Definition and Content +// */ +// type record ProtocolIE { +// integer id (0 .. 65535), +// enumerated { +// reject, ignore, notify +// } criticality, +// //anytype value_ +// NGAPIEs IE +// } +// +// /** +// * @desc List of ProtocolIEs +// */ +// type set of ProtocolIE RecordOf_ProtocolIE; + +} 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..4c3a4fe70a1b7ae3fd1334998882f8d904b2db49 --- /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..15687293a147d631a714017747c44d4195cede50 --- /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..9b5477d98b422df6a9051cfd7b589269cf553be3 --- /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..9bfbe61a78b4cb161929cae010cf34f510d97e00 --- /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..39d965939571204acf5ac0d441830eb02676a43c --- /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