Use an un-official community collaboration version of asn1c
1. It's no need to modify LTE-RRC's ASN.1 file for enabling option group feature in generate_asn1. 2. It's no need to patch the C header files generated from LTE-RRC/S1AP/X2AP's ASN.1 in fix_asn1. 3. It's no need to pre-process S1AP/X2AP's ASN.1 for enabling information object class feature by asn1tostruct.py. This commit requires an un-official version of asn1c which are collaboration of asn1c community members and `build_helper` is modified in this commit accordingly : https://github.com/brchiu/asn1c/tree/velichkov_s1ap_plus_option_group This asn1c can also convert ASN.1 of 5G NR RRC (38.331, v15.1.0) and generate C files with -findirect-choice command line option without tweaking ASN.1 file. Examples for how to use this asn1c for S1AP are in S1AP files, e.g. s1ap_eNB_nas_procedures.c and s1ap_eNB_handler.c. There is an modified openair-cn (based on tag 0.5.0) with this new asn1c at : https://github.com/brchiu/openair-cn/tree/new-asn1c Basic S1AP interaction and data transfer operation between OAI eNB and this modified openair-cn has been tested. Note: Community version of asn1c is keeping evolved to provide better usage.
This commit is contained in:
+89
-113
@@ -170,7 +170,7 @@ set(CMAKE_C_FLAGS
|
||||
"${CMAKE_C_FLAGS} ${C_FLAGS_PROCESSOR} -std=gnu99 -Wall -Wstrict-prototypes -fno-strict-aliasing -rdynamic -funroll-loops -Wno-packed-bitfield-compat -fPIC ")
|
||||
# add autotools definitions that were maybe used!
|
||||
set(CMAKE_C_FLAGS
|
||||
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'"
|
||||
"${CMAKE_C_FLAGS} -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_ARPA_INET_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_STRERROR=1 -DHAVE_SOCKET=1 -DHAVE_MEMSET=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDLIB_H=1 -DHAVE_MALLOC=1 -DHAVE_LIBSCTP -DASN_DISABLE_OER_SUPPORT -D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'"
|
||||
)
|
||||
set(CMAKE_CXX_FLAGS
|
||||
"${CMAKE_CXX_FLAGS} ${C_FLAGS_PROCESSOR} -std=c++11 "
|
||||
@@ -281,8 +281,8 @@ endif (${ENABLE_ITTI})
|
||||
# (so creating new asn.1 objects instead of modifying the object attributes)
|
||||
# New C code source file, cmake must be re-run (instead of re-running make only)
|
||||
#############
|
||||
set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1")
|
||||
set(fix_asn1c_call "${OPENAIR_CMAKE}/tools/fix_asn1")
|
||||
# set(asn1c_call "${OPENAIR_CMAKE}/tools/generate_asn1")
|
||||
# set(fix_asn1c_call "${OPENAIR_CMAKE}/tools/fix_asn1")
|
||||
set(asn1_generated_dir ${OPENAIR_BIN_DIR})
|
||||
|
||||
set(protoc_call "${OPENAIR_CMAKE}/tools/generate_protobuf")
|
||||
@@ -302,28 +302,32 @@ elseif (${RRC_ASN1_VERSION} STREQUAL "CBA")
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel10")
|
||||
make_version(RRC_VERSION 10 2 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/EUTRA-RRC-Definitions-a20.asn)
|
||||
else()
|
||||
make_version(RRC_VERSION 14 3 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/RRC-e30.asn)
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel11")
|
||||
make_version(RRC_VERSION 11 18 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-11.18.0.asn1)
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel12")
|
||||
make_version(RRC_VERSION 12 16 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-12.16.0.asn1)
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel13")
|
||||
make_version(RRC_VERSION 13 9 1)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-13.9.1.asn1)
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel14")
|
||||
make_version(RRC_VERSION 14 6 2)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-14.6.2.asn1)
|
||||
elseif (${RRC_ASN1_VERSION} STREQUAL "Rel15")
|
||||
make_version(RRC_VERSION 15 1 0)
|
||||
set (RRC_GRAMMAR ${OPENAIR2_DIR}/RRC/LTE/MESSAGES/asn1c/ASN1_files/lte-rrc-15.1.0.asn1)
|
||||
endif (${RRC_ASN1_VERSION} STREQUAL "Rel8")
|
||||
add_definitions(-DRRC_VERSION=${RRC_VERSION})
|
||||
set (RRC_FULL_DIR ${asn1_generated_dir}/RRC_${RRC_ASN1_VERSION})
|
||||
if(NOT EXISTS ${asn1c_call})
|
||||
message( FATAL_ERROR "The script ${asn1c_call} must be present" )
|
||||
endif(NOT EXISTS ${asn1c_call})
|
||||
execute_process(COMMAND ${asn1c_call} ${RRC_FULL_DIR} ${RRC_GRAMMAR}
|
||||
message("calling asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}")
|
||||
execute_process(COMMAND mkdir -p ${RRC_FULL_DIR}
|
||||
COMMAND env asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "${asn1c_call}: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
if(NOT EXISTS ${fix_asn1c_call})
|
||||
message( FATAL_ERROR "The script ${fix_asn1c_call} must be present" )
|
||||
endif(NOT EXISTS ${fix_asn1c_call})
|
||||
execute_process(COMMAND ${fix_asn1c_call} ${RRC_FULL_DIR} RRC ${RRC_ASN1_VERSION}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "${fix_asn1c_call}: error")
|
||||
message(FATAL_ERROR "${ret}: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
|
||||
file(GLOB rrc_source ${RRC_FULL_DIR}/*.c)
|
||||
file(GLOB rrc_h ${RRC_FULL_DIR}/*.h)
|
||||
set(rrc_h ${rrc_h} ${RRC_FULL_DIR}/asn1_constants.h)
|
||||
@@ -337,8 +341,8 @@ include_directories ("${RRC_FULL_DIR}")
|
||||
# Warning: if you modify ASN.1 source file to generate new C files, cmake should be re-run instead of make
|
||||
add_custom_command (
|
||||
OUTPUT ${RRC_FULL_DIR}/asn1_constants.h
|
||||
COMMAND ${asn1c_call} ${RRC_FULL_DIR} ${RRC_GRAMMAR}
|
||||
COMMAND ${fix_asn1c_call} ${RRC_FULL_DIR} RRC ${RRC_ASN1_VERSION}
|
||||
COMMAND mkdir -p ${RRC_FULL_DIR}
|
||||
COMMAND env asn1c -pdu=all -fcompound-names -gen-PER -no-gen-OER -no-gen-example -D ${RRC_FULL_DIR} ${RRC_GRAMMAR}
|
||||
DEPENDS ${RRC_GRAMMAR}
|
||||
)
|
||||
|
||||
@@ -346,65 +350,56 @@ add_custom_command (
|
||||
# Same limitation as described in RRC: unknown generated file list
|
||||
# so we generate it at cmake time
|
||||
##############
|
||||
add_list1_option(S1AP_RELEASE R10 "S1AP ASN.1 grammar version" R8 R9 R10)
|
||||
add_list1_option(S1AP_RELEASE R14 "S1AP ASN.1 grammar version" R8 R9 R10 R14 R15)
|
||||
|
||||
set(S1AP_DIR ${OPENAIR3_DIR}/S1AP)
|
||||
if (${S1AP_RELEASE} STREQUAL "R8")
|
||||
make_version(S1AP_VERSION 8 10 0)
|
||||
set (ASN1RELDIR R8.10)
|
||||
set(S1AP_ASN_FILES "s1ap-8.10.0.asn1")
|
||||
elseif (${S1AP_RELEASE} STREQUAL "R9")
|
||||
make_version(S1AP_VERSION 9 8 0)
|
||||
set (ASN1RELDIR R9.8)
|
||||
make_version(S1AP_VERSION 9 10 0)
|
||||
set(S1AP_ASN_FILES "s1ap-9.10.0.asn1")
|
||||
elseif (${S1AP_RELEASE} STREQUAL "R10")
|
||||
make_version(S1AP_VERSION 10 5 0)
|
||||
set (ASN1RELDIR R10.5)
|
||||
make_version(S1AP_VERSION 10 9 0)
|
||||
set(S1AP_ASN_FILES "s1ap-10.9.0.asn1")
|
||||
elseif (${S1AP_RELEASE} STREQUAL "R11")
|
||||
make_version(S1AP_VERSION 11 8 0)
|
||||
set(S1AP_ASN_FILES "s1ap-11.8.0.asn1")
|
||||
elseif (${S1AP_RELEASE} STREQUAL "R12")
|
||||
make_version(S1AP_VERSION 12 7 0)
|
||||
set(S1AP_ASN_FILES "s1ap-12.7.0.asn1")
|
||||
elseif (${S1AP_RELEASE} STREQUAL "R13")
|
||||
make_version(S1AP_VERSION 13 6 0)
|
||||
set(S1AP_ASN_FILES "s1ap-13.6.0.asn1")
|
||||
elseif (${S1AP_RELEASE} STREQUAL "R14")
|
||||
make_version(S1AP_VERSION 14 5 0)
|
||||
set(S1AP_ASN_FILES "s1ap-14.5.0.asn1")
|
||||
else (${S1AP_RELEASE} STREQUAL "R15")
|
||||
make_version(S1AP_VERSION 15 1 0)
|
||||
set(S1AP_ASN_FILES "s1ap-15.1.0.asn1")
|
||||
endif(${S1AP_RELEASE} STREQUAL "R8")
|
||||
add_definitions(-DS1AP_VERSION=${S1AP_VERSION})
|
||||
set(S1AP_ASN_DIR ${S1AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR})
|
||||
set(S1AP_ASN_FILES
|
||||
${S1AP_ASN_DIR}/S1AP-CommonDataTypes.asn
|
||||
${S1AP_ASN_DIR}/S1AP-Constants.asn
|
||||
${S1AP_ASN_DIR}/S1AP-IEs.asn
|
||||
${S1AP_ASN_DIR}/S1AP-PDU.asn
|
||||
)
|
||||
set(S1AP_C_DIR ${asn1_generated_dir}/S1AP_${ASN1RELDIR})
|
||||
#message("calling ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}")
|
||||
execute_process(COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}
|
||||
set(S1AP_ASN_DIR ${S1AP_DIR}/MESSAGES/ASN1/${S1AP_RELEASE})
|
||||
set(S1AP_C_DIR ${asn1_generated_dir}/S1AP_${S1AP_RELEASE})
|
||||
message("calling ASN1C_PREFIX=S1AP_ asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${S1AP_C_DIR} ${S1AP_ASN_DIR}/${S1AP_ASN_FILES}")
|
||||
execute_process(COMMAND mkdir -p ${S1AP_C_DIR}
|
||||
COMMAND env "ASN1C_PREFIX=S1AP_" asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${S1AP_C_DIR} ${S1AP_ASN_DIR}/${S1AP_ASN_FILES}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "${asn1c_call}: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
execute_process(COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1AP_ASN_DIR}/S1AP-PDU-Contents.asn -o${S1AP_C_DIR}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "asn1tostruct.py: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
execute_process(COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_RELEASE}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "${fix_asn1c_call}: error")
|
||||
message(FATAL_ERROR "${ret}: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
file(GLOB S1AP_source ${S1AP_C_DIR}/*.c)
|
||||
|
||||
set(S1AP_OAI_generated
|
||||
${S1AP_C_DIR}/s1ap_decoder.c
|
||||
${S1AP_C_DIR}/s1ap_encoder.c
|
||||
${S1AP_C_DIR}/s1ap_xer_print.c
|
||||
${S1AP_C_DIR}/s1ap_compare.c
|
||||
${S1AP_C_DIR}/s1ap_ies_defs.h
|
||||
)
|
||||
file(GLOB s1ap_h ${S1AP_C_DIR}/*.h)
|
||||
set(s1ap_h ${s1ap_h} )
|
||||
set(s1ap_h ${s1ap_h})
|
||||
|
||||
add_custom_command (
|
||||
OUTPUT ${S1AP_OAI_generated}
|
||||
COMMAND ${asn1c_call} ${S1AP_C_DIR} ${S1AP_ASN_FILES}
|
||||
COMMAND python ${S1AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f${S1AP_ASN_DIR}/S1AP-PDU-Contents.asn -o${S1AP_C_DIR}
|
||||
COMMAND ${fix_asn1c_call} ${S1AP_C_DIR} S1AP ${S1AP_RELEASE}
|
||||
DEPENDS ${S1AP_ASN_FILES}
|
||||
)
|
||||
OUTPUT ${S1AP_C_DIR}/S1AP_asn_constant.h
|
||||
COMMAND mkdir -p ${S1AP_C_DIR}
|
||||
COMMAND env "ASN1C_PREFIX=S1AP_" asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${S1AP_C_DIR} ${S1AP_ASN_DIR}/${S1AP_ASN_FILES}
|
||||
DEPENDS ${S1AP_ASN_DIR}/${S1AP_ASN_FILES}
|
||||
)
|
||||
add_library(S1AP_LIB
|
||||
${S1AP_OAI_generated}
|
||||
${S1AP_source}
|
||||
${S1AP_DIR}/s1ap_common.c
|
||||
)
|
||||
@@ -413,7 +408,6 @@ include_directories ("${S1AP_C_DIR}")
|
||||
include_directories ("${S1AP_DIR}")
|
||||
|
||||
add_library(S1AP_ENB
|
||||
${S1AP_C_DIR}/s1ap_ies_defs.h
|
||||
${S1AP_DIR}/s1ap_eNB.c
|
||||
${S1AP_DIR}/s1ap_eNB_context_management_procedures.c
|
||||
${S1AP_DIR}/s1ap_eNB_decoder.c
|
||||
@@ -428,70 +422,52 @@ add_library(S1AP_ENB
|
||||
${S1AP_DIR}/s1ap_eNB_ue_context.c
|
||||
)
|
||||
|
||||
|
||||
|
||||
#X2AP
|
||||
# Same limitation as described in RRC/S1AP: unknown generated file list
|
||||
# so we generate it at cmake time
|
||||
##############
|
||||
add_list1_option(X2AP_RELEASE R11 "X2AP ASN.1 grammar version" R10 R11)
|
||||
set(X2AP_DIR ${OPENAIR2_DIR}/X2AP)
|
||||
if (${X2AP_RELEASE} STREQUAL "R10")
|
||||
make_version(S1AP_VERSION 10 0 0)
|
||||
set (ASN1RELDIR R.UNKNOWN)
|
||||
elseif (${X2AP_RELEASE} STREQUAL "R11")
|
||||
make_version(S1AP_VERSION 11 2 0)
|
||||
set (ASN1RELDIR R11.2)
|
||||
endif(${X2AP_RELEASE} STREQUAL "R10")
|
||||
add_definitions(-DX2AP_VERSION=${X2AP_VERSION})
|
||||
set(X2AP_ASN_DIR ${X2AP_DIR}/MESSAGES/ASN1/${ASN1RELDIR})
|
||||
set(X2AP_ASN_FILES
|
||||
${X2AP_ASN_DIR}/X2AP-CommonDataTypes.asn
|
||||
${X2AP_ASN_DIR}/X2AP-Constants.asn
|
||||
${X2AP_ASN_DIR}/X2AP-IEs.asn
|
||||
${X2AP_ASN_DIR}/X2AP-PDU.asn
|
||||
${X2AP_ASN_DIR}/X2AP-Containers.asn
|
||||
)
|
||||
add_list1_option(X2AP_RELEASE R14 "X2AP ASN.1 grammar version" R8 R11 R12 R14 R15)
|
||||
|
||||
set(X2AP_C_DIR ${asn1_generated_dir}/X2AP_${ASN1RELDIR})
|
||||
#message("calling ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}")
|
||||
execute_process(COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}
|
||||
set(X2AP_DIR ${OPENAIR2_DIR}/X2AP)
|
||||
if (${X2AP_RELEASE} STREQUAL "R8")
|
||||
make_version(X2AP_VERSION 8 9 0)
|
||||
set(X2AP_ASN_FILES x2ap-8.9.0.asn1)
|
||||
elseif (${X2AP_RELEASE} STREQUAL "R11")
|
||||
make_version(X2AP_VERSION 11 9 0)
|
||||
set(X2AP_ASN_FILES x2ap-11.9.0.asn1)
|
||||
elseif (${X2AP_RELEASE} STREQUAL "R12")
|
||||
make_version(X2AP_VERSION 12 9 0)
|
||||
set(X2AP_ASN_FILES x2ap-12.9.0.asn1)
|
||||
elseif (${X2AP_RELEASE} STREQUAL "R14")
|
||||
make_version(X2AP_VERSION 14 6 0)
|
||||
set(X2AP_ASN_FILES x2ap-14.6.0.asn1)
|
||||
elseif (${X2AP_RELEASE} STREQUAL "R15")
|
||||
make_version(X2AP_VERSION 15 1 0)
|
||||
set(X2AP_ASN_FILES x2ap-15.1.0.asn1)
|
||||
endif(${X2AP_RELEASE} STREQUAL "R8")
|
||||
add_definitions(-DX2AP_VERSION=${X2AP_VERSION})
|
||||
set(X2AP_ASN_DIR ${X2AP_DIR}/MESSAGES/ASN1/${X2AP_RELEASE})
|
||||
set(X2AP_C_DIR ${asn1_generated_dir}/X2AP_${X2AP_RELEASE})
|
||||
message("calling ASN1C_PREFIX=X2AP_ asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${X2AP_C_DIR} ${X2AP_ASN_DIR}/${X2AP_ASN_FILES}")
|
||||
execute_process(COMMAND mkdir -p ${X2AP_C_DIR}
|
||||
COMMAND env "ASN1C_PREFIX=X2AP_" asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${X2AP_C_DIR} ${X2AP_ASN_DIR}/${X2AP_ASN_FILES}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "${asn1c_call}: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
execute_process(COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "asn1tostruct.py: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
execute_process(COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_RELEASE}
|
||||
RESULT_VARIABLE ret)
|
||||
if (NOT ${ret} STREQUAL 0)
|
||||
message(FATAL_ERROR "${fix_asn1c_call}: error")
|
||||
message(FATAL_ERROR "${ret}: error")
|
||||
endif (NOT ${ret} STREQUAL 0)
|
||||
file(GLOB X2AP_source ${X2AP_C_DIR}/*.c)
|
||||
|
||||
set(X2AP_OAI_generated
|
||||
${X2AP_C_DIR}/x2ap_decoder.c
|
||||
${X2AP_C_DIR}/x2ap_encoder.c
|
||||
${X2AP_C_DIR}/x2ap_xer_print.c
|
||||
${X2AP_C_DIR}/x2ap_ies_defs.h
|
||||
)
|
||||
file(GLOB x2ap_h ${X2AP_C_DIR}/*.h)
|
||||
set(x2ap_h ${x2ap_h} )
|
||||
set(x2ap_h ${x2ap_h})
|
||||
|
||||
#message("calling ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR}")
|
||||
add_custom_command (
|
||||
OUTPUT ${X2AP_OAI_generated}
|
||||
COMMAND ${asn1c_call} ${X2AP_C_DIR} ${X2AP_ASN_FILES}
|
||||
COMMAND python ${X2AP_DIR}/MESSAGES/ASN1/asn1tostruct.py -f ${X2AP_ASN_DIR}/X2AP-PDU-Contents.asn -o ${X2AP_C_DIR}
|
||||
COMMAND ${fix_asn1c_call} ${X2AP_C_DIR} X2AP ${X2AP_RELEASE}
|
||||
DEPENDS ${X2AP_ASN_FILES}
|
||||
OUTPUT ${X2AP_C_DIR}/X2AP_asn_constant.h
|
||||
COMMAND mkdir -p ${X2AP_C_DIR}
|
||||
COMMAND env "ASN1C_PREFIX=X2AP_" asn1c -pdu=all -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example -D ${X2AP_C_DIR} ${X2AP_ASN_DIR}/${X2AP_ASN_FILES}
|
||||
DEPENDS ${X2AP_ASN_DIR}/${X2AP_ASN_FILES}
|
||||
)
|
||||
|
||||
add_library(X2AP_LIB
|
||||
${X2AP_OAI_generated}
|
||||
${X2AP_source}
|
||||
${X2AP_DIR}/x2ap_common.c
|
||||
)
|
||||
@@ -2304,7 +2280,7 @@ endforeach()
|
||||
# castxml doesn't work with c11 (gcc 5 default)
|
||||
# force castxml and clang compilation with gnu89 standard
|
||||
# we can't use cXX standard as pthread_rwlock_t is gnu standard
|
||||
list(APPEND itti_compiler_options "-std=gnu89;-D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'")
|
||||
list(APPEND itti_compiler_options "-std=gnu89;-DASN_DISABLE_OER_SUPPORT;-D'MAKE_VERSION(a,b,c)=((a)*256+(b)*16+c)'")
|
||||
set (ITTI_H ${ITTI_DIR}/intertask_interface_types.h)
|
||||
if(EXISTS /usr/bin/gccxml)
|
||||
set(xml_command gccxml ${itti_compiler_options} -fxml=${OPENAIR_BIN_DIR}/messages.xml ${ITTI_H})
|
||||
|
||||
@@ -678,8 +678,10 @@ install_asn1c_from_source(){
|
||||
echo_info "\nInstalling ASN1. The log file for ASN1 installation is here: $asn1_install_log "
|
||||
(
|
||||
$SUDO rm -rf /tmp/asn1c
|
||||
GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c
|
||||
# GIT_SSL_NO_VERIFY=true git clone https://gitlab.eurecom.fr/oai/asn1c.git /tmp/asn1c
|
||||
git clone https://github.com/brchiu/asn1c /tmp/asn1c
|
||||
cd /tmp/asn1c
|
||||
git checkout velichkov_s1ap_plus_option_group
|
||||
./configure
|
||||
make -j`nproc`
|
||||
$SUDO make install
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef GTPV1_U_MESSAGES_TYPES_H_
|
||||
#define GTPV1_U_MESSAGES_TYPES_H_
|
||||
|
||||
#include "asn1_constants.h"
|
||||
#include "asn_constant.h"
|
||||
|
||||
|
||||
#define GTPV1U_MAX_BEARERS_PER_UE max_val_DRB_Identity
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
***************************************************************************/
|
||||
|
||||
#ifdef CMAKER
|
||||
#include "asn1_constants.h"
|
||||
#include "asn_constant.h"
|
||||
#else
|
||||
#include "RRC/LTE/MESSAGES/asn1_constants.h"
|
||||
#endif
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
#ifndef RAL_MESSAGES_TYPES_H_
|
||||
#define RAL_MESSAGES_TYPES_H_
|
||||
#include "asn1_constants.h"
|
||||
#include "asn_constant.h"
|
||||
#include "platform_types.h"
|
||||
#include "commonDef.h"
|
||||
/* 802.21 mappings with the RRC protocol :
|
||||
|
||||
@@ -38,7 +38,7 @@ MESSAGE_DEF(S1AP_E_RAB_MODIFY_RESPONSE_LOG , MESSAGE_PRIORITY_MED, IttiMsgTex
|
||||
MESSAGE_DEF(S1AP_PAGING_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_paging_log)
|
||||
MESSAGE_DEF(S1AP_E_RAB_RELEASE_REQUEST_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_e_rab_release_request_log)
|
||||
MESSAGE_DEF(S1AP_E_RAB_RELEASE_RESPONSE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_e_rab_release_response_log)
|
||||
MESSAGE_DEF(S1AP_E_RAB_ERROR_INDICATION_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_error_indication_log)
|
||||
MESSAGE_DEF(S1AP_ERROR_INDICATION_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_error_indication_log)
|
||||
|
||||
/* eNB application layer -> S1AP messages */
|
||||
MESSAGE_DEF(S1AP_REGISTER_ENB_REQ , MESSAGE_PRIORITY_MED, s1ap_register_enb_req_t , s1ap_register_enb_req)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
# include "rlc_am_structs.h"
|
||||
# include "rlc_tm_structs.h"
|
||||
# include "rlc_um_structs.h"
|
||||
# include "asn1_constants.h"
|
||||
# include "asn_constant.h"
|
||||
# include "UTIL/LOG/log.h"
|
||||
# include "mem_block.h"
|
||||
//# include "PHY/defs.h"
|
||||
|
||||
@@ -99,15 +99,29 @@ void *ue_ip_interrupt(void)
|
||||
}
|
||||
#endif //NETLINK
|
||||
//---------------------------------------------------------------------------
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||
void ue_ip_timer(struct timer_list *t)
|
||||
#else
|
||||
void ue_ip_timer(unsigned long dataP)
|
||||
#endif
|
||||
{
|
||||
//---------------------------------------------------------------------------
|
||||
ue_ip_priv_t *priv_p=(ue_ip_priv_t *)dataP;
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||
ue_ip_priv_t *priv_p = from_timer(priv_p, t, timer);
|
||||
#else
|
||||
ue_ip_priv_t *priv_p = (ue_ip_priv_t *)dataP;
|
||||
#endif
|
||||
|
||||
spin_lock(&priv_p->lock);
|
||||
(priv_p->timer).function=ue_ip_timer;
|
||||
(priv_p->timer).expires=jiffies+UE_IP_TIMER_TICK;
|
||||
(priv_p->timer).data=dataP;
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||
mod_timer(&priv_p->timer, jiffies + UE_IP_TIMER_TICK);
|
||||
#else
|
||||
(priv_p->timer).function = ue_ip_timer;
|
||||
(priv_p->timer).expires = jiffies + UE_IP_TIMER_TICK;
|
||||
(priv_p->timer).data = dataP;
|
||||
add_timer(&priv_p->timer);
|
||||
#endif
|
||||
|
||||
spin_unlock(&priv_p->lock);
|
||||
return;
|
||||
// add_timer(&gpriv->timer);
|
||||
@@ -137,10 +151,15 @@ int ue_ip_open(struct net_device *dev_pP)
|
||||
netif_wake_queue(dev_pP);
|
||||
}
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0))
|
||||
timer_setup(&(priv_p->timer), ue_ip_timer, 0);
|
||||
(priv_p->timer).expires = jiffies+UE_IP_TIMER_TICK;
|
||||
#else
|
||||
init_timer(&priv_p->timer);
|
||||
(priv_p->timer).expires = jiffies+UE_IP_TIMER_TICK;
|
||||
(priv_p->timer).data = (unsigned long)priv_p;
|
||||
(priv_p->timer).function = ue_ip_timer;
|
||||
#endif
|
||||
//add_timer(&priv_p->timer);
|
||||
|
||||
printk("[UE_IP_DRV][%s] name = %s\n", __FUNCTION__, dev_pP->name);
|
||||
|
||||
@@ -131,6 +131,7 @@ mac_rrc_data_req(
|
||||
|
||||
mib->message.systemFrameNumber.buf = &sfn;
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
|
||||
NULL,
|
||||
(void*)mib,
|
||||
carrier->MIB,
|
||||
24);
|
||||
|
||||
@@ -241,6 +241,7 @@ uint8_t do_MIB(rrc_eNB_carrier_data_t *carrier, uint32_t N_RB_DL, uint32_t phich
|
||||
#endif
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message,
|
||||
NULL,
|
||||
(void*)mib,
|
||||
carrier->MIB,
|
||||
24);
|
||||
@@ -320,6 +321,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
|
||||
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_SBCCH_SL_BCH_Message,
|
||||
NULL,
|
||||
(void*)mib_sl,
|
||||
UE_rrc_inst[ctxt_pP->module_id].MIB,
|
||||
24);
|
||||
@@ -509,6 +511,7 @@ uint8_t do_SIB1(rrc_eNB_carrier_data_t *carrier,
|
||||
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
|
||||
NULL,
|
||||
(void*)bcch_message,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1354,6 +1357,7 @@ uint8_t do_SIB23(uint8_t Mod_id,
|
||||
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message, (void*)bcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message,
|
||||
NULL,
|
||||
(void*)bcch_message,
|
||||
buffer,
|
||||
900);
|
||||
@@ -1442,6 +1446,7 @@ uint8_t do_RRCConnectionRequest(uint8_t Mod_id, uint8_t *buffer,uint8_t *rv)
|
||||
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_CCCH_Message,
|
||||
NULL,
|
||||
(void*)&ul_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1609,6 +1614,7 @@ uint8_t do_SidelinkUEInformation(uint8_t Mod_id, uint8_t *buffer, SL_Destinatio
|
||||
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1693,6 +1699,7 @@ uint8_t do_RRCConnectionSetupComplete(uint8_t Mod_id, uint8_t *buffer, const uin
|
||||
*/
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1753,6 +1760,7 @@ do_RRCConnectionReconfigurationComplete(
|
||||
rrcConnectionReconfigurationComplete->criticalExtensions.choice.rrcConnectionReconfigurationComplete_r8.nonCriticalExtension=NULL;
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2163,6 +2171,7 @@ do_RRCConnectionSetup(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2237,6 +2246,7 @@ do_SecurityModeCommand(
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2316,6 +2326,7 @@ do_UECapabilityEnquiry(
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message, (void*)&dl_dcch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2520,6 +2531,7 @@ do_RRCConnectionReconfiguration(
|
||||
}
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -2736,6 +2748,7 @@ do_RRCConnectionReestablishment(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2797,6 +2810,7 @@ do_RRCConnectionReestablishmentReject(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2859,6 +2873,7 @@ do_RRCConnectionReject(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2924,6 +2939,7 @@ uint8_t do_RRCConnectionRelease(
|
||||
sizeof(*rrcConnectionRelease->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r8.nonCriticalExtension));
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -3051,6 +3067,7 @@ uint8_t do_MBSFNAreaConfig(uint8_t Mod_id,
|
||||
xer_fprint(stdout,&asn_DEF_MCCH_Message,(void*)mcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_MCCH_Message,
|
||||
NULL,
|
||||
(void*)mcch_message,
|
||||
buffer,
|
||||
100);
|
||||
@@ -3183,6 +3200,7 @@ uint8_t do_MeasurementReport(uint8_t Mod_id, uint8_t *buffer,int measid,int phy_
|
||||
measurementReport->criticalExtensions.choice.c1.choice.measurementReport_r8.measResults.measResultNeighCells->choice.measResultListEUTRA=*(measResultListEUTRA2);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -3316,7 +3334,7 @@ uint8_t do_Paging(uint8_t Mod_id, uint8_t *buffer, ue_paging_identity_t ue_pagin
|
||||
LOG_D(RRC, "[eNB %d] do_Paging paging_record: cn_Domain %ld, ue_paging_identity.presenceMask %d, PagingRecordList.count %d\n",
|
||||
Mod_id, paging_record_p->cn_Domain, ue_paging_identity.presenceMask, pcch_msg.message.choice.c1.choice.paging.pagingRecordList->list.count);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_PCCH_Message, (void*)&pcch_msg, buffer, RRC_BUF_SIZE);
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_PCCH_Message, NULL, (void*)&pcch_msg, buffer, RRC_BUF_SIZE);
|
||||
if(enc_rval.encoded == -1)
|
||||
{
|
||||
LOG_I(RRC, "[eNB AssertFatal]ASN1 message encoding failed (%s, %lu)!\n",
|
||||
@@ -3492,6 +3510,7 @@ OAI_UECapability_t *fill_ue_capability(char *UE_EUTRA_Capability_xer_fname)
|
||||
xer_fprint(stdout,&asn_DEF_UE_EUTRA_Capability,(void *)UE_EUTRA_Capability);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UE_EUTRA_Capability,
|
||||
NULL,
|
||||
(void*)UE_EUTRA_Capability,
|
||||
&UECapability.sdu[0],
|
||||
MAX_UE_CAPABILITY_SIZE);
|
||||
|
||||
@@ -131,6 +131,7 @@ uint8_t do_MIB_NB_IoT(
|
||||
(uint32_t)hsfn_LSB);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_BCH_Message_NB,
|
||||
NULL,
|
||||
(void*)mib_NB_IoT,
|
||||
carrier->MIB_NB_IoT,
|
||||
100);
|
||||
@@ -387,6 +388,7 @@ uint8_t do_SIB1_NB_IoT(uint8_t Mod_id, int CC_id,
|
||||
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
|
||||
NULL,
|
||||
(void*)bcch_message,
|
||||
carrier->SIB1_NB_IoT,
|
||||
100);
|
||||
@@ -669,6 +671,7 @@ uint8_t do_SIB23_NB_IoT(uint8_t Mod_id,
|
||||
xer_fprint(stdout, &asn_DEF_BCCH_DL_SCH_Message_NB, (void*)bcch_message);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_BCCH_DL_SCH_Message_NB,
|
||||
NULL,
|
||||
(void*)bcch_message,
|
||||
carrier->SIB23_NB_IoT,
|
||||
900);
|
||||
@@ -888,6 +891,7 @@ uint8_t do_RRCConnectionSetup_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -939,6 +943,7 @@ uint8_t do_SecurityModeCommand_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1000,6 +1005,7 @@ uint8_t do_UECapabilityEnquiry_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_DCCH_Message_NB, (void*)&dl_dcch_msg_NB_IoT);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1094,6 +1100,7 @@ uint16_t do_RRCConnectionReconfiguration_NB_IoT(
|
||||
rrcConnectionReconfiguration_NB->criticalExtensions.choice.c1.choice.rrcConnectionReconfiguration_r13.fullConfig_r13 = NULL;
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -1140,6 +1147,7 @@ uint8_t do_RRCConnectionReestablishmentReject_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg_NB_IoT);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1210,6 +1218,7 @@ uint8_t do_RRCConnectionReject_NB_IoT(
|
||||
xer_fprint(stdout, &asn_DEF_DL_CCCH_Message_NB, (void*)&dl_ccch_msg);
|
||||
#endif
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
100);
|
||||
@@ -1336,6 +1345,7 @@ uint8_t do_RRCConnectionReestablishment_NB_IoT(
|
||||
rrcConnectionReestablishment_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionReestablishment_r13.nextHopChainingCount_r13=0;
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_CCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_ccch_msg_NB_IoT,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);
|
||||
@@ -1405,6 +1415,7 @@ uint8_t do_RRCConnectionRelease_NB_IoT(
|
||||
sizeof(*rrcConnectionRelease_NB_IoT->criticalExtensions.choice.c1.choice.rrcConnectionRelease_r13.nonCriticalExtension));
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_DL_DCCH_Message_NB,
|
||||
NULL,
|
||||
(void*)&dl_dcch_msg_NB_IoT,
|
||||
buffer,
|
||||
RRC_BUF_SIZE);//check
|
||||
|
||||
+4978
File diff suppressed because it is too large
Load Diff
+5979
File diff suppressed because it is too large
Load Diff
+7775
File diff suppressed because it is too large
Load Diff
+11905
File diff suppressed because it is too large
Load Diff
+14042
File diff suppressed because it is too large
Load Diff
+14278
File diff suppressed because it is too large
Load Diff
+14695
File diff suppressed because it is too large
Load Diff
+2905
File diff suppressed because it is too large
Load Diff
+3787
File diff suppressed because it is too large
Load Diff
@@ -1926,6 +1926,7 @@ rrc_ue_process_securityModeCommand(
|
||||
ctxt_pP->module_id,ctxt_pP->frame, ctxt_pP->subframe, eNB_index, securityModeCommand->rrc_TransactionIdentifier);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message,
|
||||
NULL,
|
||||
(void*)&ul_dcch_msg,
|
||||
buffer,
|
||||
100);
|
||||
@@ -2039,7 +2040,7 @@ rrc_ue_process_ueCapabilityEnquiry(
|
||||
&ul_dcch_msg.message.choice.c1.choice.ueCapabilityInformation.criticalExtensions.choice.c1.choice.ueCapabilityInformation_r8.ue_CapabilityRAT_ContainerList.list,
|
||||
&ue_CapabilityRAT_Container);
|
||||
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, (void*) &ul_dcch_msg, buffer, 100);
|
||||
enc_rval = uper_encode_to_buffer(&asn_DEF_UL_DCCH_Message, NULL, (void*) &ul_dcch_msg, buffer, 100);
|
||||
AssertFatal (enc_rval.encoded > 0, "ASN1 message encoding failed (%s, %jd)!\n",
|
||||
enc_rval.failed_type->name, enc_rval.encoded);
|
||||
|
||||
|
||||
@@ -7142,8 +7142,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
|
||||
LOG_I(RRC, "got UE capabilities for UE %x\n", ctxt_pP->rnti);
|
||||
if (ue_context_p->ue_context.UE_Capability) {
|
||||
LOG_I(RRC, "freeing old UE capabilities for UE %x\n", ctxt_pP->rnti);
|
||||
asn_DEF_UE_EUTRA_Capability.free_struct(&asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability, 0);
|
||||
ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability);
|
||||
ue_context_p->ue_context.UE_Capability = 0;
|
||||
}
|
||||
dec_rval = uper_decode(NULL,
|
||||
@@ -7163,8 +7163,8 @@ if (ue_context_p->ue_context.nb_of_modify_e_rabs > 0) {
|
||||
LOG_E(RRC, PROTOCOL_RRC_CTXT_UE_FMT" Failed to decode UE capabilities (%zu bytes)\n",
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
dec_rval.consumed);
|
||||
asn_DEF_UE_EUTRA_Capability.free_struct(&asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability, 0);
|
||||
ASN_STRUCT_FREE(asn_DEF_UE_EUTRA_Capability,
|
||||
ue_context_p->ue_context.UE_Capability);
|
||||
ue_context_p->ue_context.UE_Capability = 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
#include "RRC/LTE/rrc_eNB_GTPV1U.h"
|
||||
|
||||
#include "TLVDecoder.h"
|
||||
#include "S1ap-NAS-PDU.h"
|
||||
#include "S1AP_NAS-PDU.h"
|
||||
#include "flexran_agent_common_internal.h"
|
||||
|
||||
extern RAN_CONTEXT_t RC;
|
||||
@@ -678,7 +678,8 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
|
||||
return;
|
||||
}
|
||||
|
||||
asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_UECapabilityInformation, ueCapabilityInformation, buf, 4096);
|
||||
asn_enc_rval_t ret = uper_encode_to_buffer(&asn_DEF_UECapabilityInformation, NULL, ueCapabilityInformation, buf, 4096);
|
||||
|
||||
if (ret.encoded == -1) abort();
|
||||
|
||||
memset(&rac, 0, sizeof(UERadioAccessCapabilityInformation_t));
|
||||
@@ -692,7 +693,9 @@ void rrc_eNB_send_S1AP_UE_CAPABILITIES_IND(
|
||||
/* 8192 is arbitrary, should be big enough */
|
||||
buf2 = malloc16(8192);
|
||||
if (buf2 == NULL) abort();
|
||||
ret = uper_encode_to_buffer(&asn_DEF_UERadioAccessCapabilityInformation, &rac, buf2, 8192);
|
||||
|
||||
ret = uper_encode_to_buffer(&asn_DEF_UERadioAccessCapabilityInformation, NULL, &rac, buf2, 8192);
|
||||
|
||||
if (ret.encoded == -1) abort();
|
||||
|
||||
MessageDef *msg_p;
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
include Makefile.inc
|
||||
OBJS=$(addprefix MESSAGES/,${ASN_MODULE_SOURCES:.c=.o})
|
||||
|
||||
CFLAGS += -DEMIT_ASN_DEBUG=1
|
||||
CFLAGS += -Wall
|
||||
CFLAGS += -g
|
||||
|
||||
|
||||
OBJS += x2ap_decoder.o
|
||||
OBJS += x2ap_encoder.o
|
||||
OBJS += x2ap_common.o
|
||||
|
||||
#X2AP_SERVER_SRC = sctp_primitives_server.c
|
||||
#X2AP_SERVER_SRC += x2ap_server_main.c
|
||||
#X2AP_SERVER_OBJS = $(X2AP_SERVER_SRC:.c=.o)
|
||||
|
||||
X2AP_CLIENT_SRC = sctp_primitives_client.c
|
||||
X2AP_CLIENT_SRC += x2ap_client_main.c
|
||||
X2AP_CLIENT_OBJS = $(X2AP_CLIENT_SRC:.c=.o)
|
||||
|
||||
|
||||
libx2ap_messages.a:$(OBJS)
|
||||
$(AR) rcsv libx2ap_messages.a $(OBJS)
|
||||
|
||||
asn1fromtool:
|
||||
asn1c -gen-PER -fnative-types -fskeletons-copy X2AP-CommonDataTypes.asn X2AP-Constants.asn X2AP-IEs.asn \
|
||||
X2AP-PDU.asn
|
||||
|
||||
|
||||
asn1fromscript:
|
||||
python ../asn1tostruct.py -f X2AP-PDU-Contents.asn -d
|
||||
|
||||
all: server x2ap_client_main
|
||||
|
||||
server: server.o libx2ap_messages.a generating_messages.o sctp_primitives_client.o x2ap_pdu_decoder.o
|
||||
$(CC) $(CFLAGS) $(LDFLAGS) $(LIBS) -o $@ $^ -lsctp -lpthread libx2ap_messages.a
|
||||
|
||||
|
||||
$(OBJS): %.o : %.c
|
||||
$(CC) $(CFLAGS) -I. -o $@ -c $<
|
||||
|
||||
|
||||
$(X2AP_SERVER_OBJS): %.o : %.c
|
||||
$(CC) -c $(CFLAGS) -I. $< -o $@
|
||||
|
||||
$(X2AP_CLIENT_OBJS): %.o : %.c
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
x2ap_server_main.o: x2ap_server_main.c
|
||||
$(CC) $(CFLAGS) -I. $^ -o $@ -lsctp \
|
||||
-lpthread
|
||||
|
||||
x2ap_client_main: $(X2AP_CLIENT_OBJS)
|
||||
$(CC) $(CFLAGS) $^ -o $@ -lsctp \
|
||||
-lpthread
|
||||
|
||||
server.o: server.c
|
||||
$(CC) $(CFLAGS) -I. $^ -o $@ -lsctp \
|
||||
-lpthread
|
||||
|
||||
|
||||
|
||||
x2ap_pdu_decoder.o: x2ap_pdu_decoder.c
|
||||
$(CC) $(CFLAGS) -I. -o $@ -c $<
|
||||
|
||||
x2ap_pdu_encoder.o: x2ap_pdu_encoder.c
|
||||
$(CC) $(CFLAGS) -I. -o $@ -c $<
|
||||
|
||||
sctp_primitives_server.o: sctp_primitives_server.c
|
||||
$(CC) $(CFLAGS) -o $@ -c $<
|
||||
|
||||
|
||||
generating_messages.o: generating_messages.c
|
||||
$(CC) $(CFLAGS) -I. -o $@ -c $<
|
||||
|
||||
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS)
|
||||
|
||||
|
||||
@@ -1,462 +0,0 @@
|
||||
ASN_MODULE_SOURCES= \
|
||||
Criticality.c \
|
||||
Presence.c \
|
||||
PrivateIE-ID.c \
|
||||
ProcedureCode.c \
|
||||
ProtocolIE-ID.c \
|
||||
TriggeringMessage.c \
|
||||
IE-Extensions.c \
|
||||
AS-SecurityInformation.c \
|
||||
AllocationAndRetentionPriority.c \
|
||||
ActivatedCellList.c \
|
||||
ActivatedCellList-Item.c \
|
||||
BitRate.c \
|
||||
BroadcastPLMNs-Item.c \
|
||||
CapacityValue.c \
|
||||
CellCapacityClassValue.c \
|
||||
CellToReport-List.c \
|
||||
CellToReport-Item.c \
|
||||
CellMeasurementResult-List.c \
|
||||
CellMeasurementResult-Item.c \
|
||||
ReportingPeriodicity.c \
|
||||
Cause.c \
|
||||
CauseMisc.c \
|
||||
CauseProtocol.c \
|
||||
CauseRadioNetwork.c \
|
||||
CauseTransport.c \
|
||||
Cell-Size.c \
|
||||
CellInformation-List.c \
|
||||
CellInformation-Item.c \
|
||||
CellType.c \
|
||||
CompositeAvailableCapacityGroup.c \
|
||||
CompositeAvailableCapacity.c \
|
||||
COUNTvalue.c \
|
||||
CriticalityDiagnostics.c \
|
||||
CriticalityDiagnostics-IE-List.c \
|
||||
CriticalityDiagnostics-IE-Elm.c \
|
||||
CRNTI.c \
|
||||
CyclicPrefixDL.c \
|
||||
CyclicPrefixUL.c \
|
||||
DeactivationIndication.c \
|
||||
DL-Forwarding.c \
|
||||
E-RABs-Admitted-List.c \
|
||||
E-RABs-Admitted-Item.c \
|
||||
E-RABs-ToBeSetup-List.c \
|
||||
E-RABs-ToBeSetup-Item.c \
|
||||
E-RABs-SubjectToStatusTransfer-List.c \
|
||||
E-RABs-SubjectToStatusTransfer-Item.c \
|
||||
EARFCN.c \
|
||||
FDD-Info.c \
|
||||
TDD-Info.c \
|
||||
EUTRA-Mode-Info.c \
|
||||
ECGI.c \
|
||||
ENB-ID.c \
|
||||
EncryptionAlgorithms.c \
|
||||
EPLMNs.c \
|
||||
E-RAB-ID.c \
|
||||
E-RAB-Level-QoS-Parameters.c \
|
||||
E-RAB-List.c \
|
||||
E-RAB-Item.c \
|
||||
EUTRANCellIdentifier.c \
|
||||
EUTRANTraceID.c \
|
||||
EventType.c \
|
||||
ForbiddenInterRATs.c \
|
||||
ForbiddenTAs.c \
|
||||
ForbiddenTAs-Item.c \
|
||||
ForbiddenTACs.c \
|
||||
ForbiddenLAs.c \
|
||||
ForbiddenLAs-Item.c \
|
||||
ForbiddenLACs.c \
|
||||
Fourframes.c \
|
||||
GBR-QosInformation.c \
|
||||
GlobalENB-ID.c \
|
||||
GTPtunnelEndpoint.c \
|
||||
GTP-TEI.c \
|
||||
GUGroupIDList.c \
|
||||
GU-Group-ID.c \
|
||||
GUMMEI.c \
|
||||
HandoverReportType.c \
|
||||
HandoverRestrictionList.c \
|
||||
HFN.c \
|
||||
HWLoadIndicator.c \
|
||||
IntegrityProtectionAlgorithms.c \
|
||||
InterfacesToTrace.c \
|
||||
Key-eNodeB-Star.c \
|
||||
LAC.c \
|
||||
LastVisitedCell-Item.c \
|
||||
LastVisitedEUTRANCellInformation.c \
|
||||
LastVisitedUTRANCellInformation.c \
|
||||
LastVisitedGERANCellInformation.c \
|
||||
LoadIndicator.c \
|
||||
LocationReportingInformation.c \
|
||||
MME-Group-ID.c \
|
||||
MME-Code.c \
|
||||
Measurement-ID.c \
|
||||
MBSFN-Subframe-Infolist.c \
|
||||
MBSFN-Subframe-Info.c \
|
||||
MobilityParametersModificationRange.c \
|
||||
MobilityParametersInformation.c \
|
||||
Neighbour-Information.c \
|
||||
Neighbour-Information-Elm.c \
|
||||
NextHopChainingCount.c \
|
||||
Number-of-Antennaports.c \
|
||||
Oneframe.c \
|
||||
PDCP-SN.c \
|
||||
PCI.c \
|
||||
PLMN-Identity.c \
|
||||
PRACH-Configuration.c \
|
||||
Pre-emptionCapability.c \
|
||||
Pre-emptionVulnerability.c \
|
||||
PriorityLevel.c \
|
||||
QCI.c \
|
||||
ReceiveStatusofULPDCPSDUs.c \
|
||||
Registration-Request.c \
|
||||
RelativeNarrowbandTxPower.c \
|
||||
ReportArea.c \
|
||||
ReportCharacteristics.c \
|
||||
RNTP-Threshold.c \
|
||||
RRC-Context.c \
|
||||
RadioResourceStatus.c \
|
||||
DL-GBR-PRB-usage.c \
|
||||
UL-GBR-PRB-usage.c \
|
||||
DL-non-GBR-PRB-usage.c \
|
||||
UL-non-GBR-PRB-usage.c \
|
||||
DL-Total-PRB-usage.c \
|
||||
UL-Total-PRB-usage.c \
|
||||
RadioframeAllocationPeriod.c \
|
||||
RadioframeAllocationOffset.c \
|
||||
S1TNLLoadIndicator.c \
|
||||
ServedCellsToActivate.c \
|
||||
ServedCellsToActivate-Item.c \
|
||||
ServedCellsToModify.c \
|
||||
ServedCellsToModify-Item.c \
|
||||
Old-ECGIs.c \
|
||||
ServedCells.c \
|
||||
ServedCellItem.c \
|
||||
ServedCell-Information.c \
|
||||
ShortMAC-I.c \
|
||||
SRVCCOperationPossible.c \
|
||||
SubframeAssignment.c \
|
||||
SpecialSubframe-Info.c \
|
||||
SpecialSubframePatterns.c \
|
||||
SubscriberProfileIDforRFP.c \
|
||||
SubframeAllocation.c \
|
||||
TAC.c \
|
||||
TargeteNBtoSource-eNBTransparentContainer.c \
|
||||
TimeToWait.c \
|
||||
Time-UE-StayedInCell.c \
|
||||
TraceActivation.c \
|
||||
TraceCollectionEntityIPAddress.c \
|
||||
TraceDepth.c \
|
||||
Transmission-Bandwidth.c \
|
||||
TransportLayerAddress.c \
|
||||
TypeOfError.c \
|
||||
UE-HistoryInformation.c \
|
||||
UE-S1AP-ID.c \
|
||||
UE-ID.c \
|
||||
UEAggregateMaximumBitRate.c \
|
||||
UESecurityCapabilities.c \
|
||||
UE-ContextInformation.c \
|
||||
UL-InterferenceOverloadIndication.c \
|
||||
UL-InterferenceOverloadIndication-Item.c \
|
||||
UL-HighInterferenceIndicationInfo.c \
|
||||
UL-HighInterferenceIndicationInfo-Item.c \
|
||||
UL-HighInterferenceIndication.c \
|
||||
UE-RLF-Report-Container.c \
|
||||
IE.c \
|
||||
PDU.c \
|
||||
InitiatingMessage.c \
|
||||
SuccessfulOutcome.c \
|
||||
UnsuccessfulOutcome.c \
|
||||
HandoverRequest.c \
|
||||
HandoverRequestAcknowledge.c \
|
||||
HandoverPreparationFailure.c \
|
||||
SNStatusTransfer.c \
|
||||
UEContextRelease.c \
|
||||
HandoverCancel.c \
|
||||
HandoverReport.c \
|
||||
ErrorIndication.c \
|
||||
ResetRequest.c \
|
||||
ResetResponse.c \
|
||||
X2SetupRequest.c \
|
||||
X2SetupResponse.c \
|
||||
X2SetupFailure.c \
|
||||
LoadInformation.c \
|
||||
ENBConfigurationUpdate.c \
|
||||
ENBConfigurationUpdateAcknowledge.c \
|
||||
ENBConfigurationUpdateFailure.c \
|
||||
ResourceStatusRequest.c \
|
||||
ResourceStatusResponse.c \
|
||||
ResourceStatusFailure.c \
|
||||
ResourceStatusUpdate.c \
|
||||
RLFIndication.c \
|
||||
PrivateMessage.c \
|
||||
MobilityChangeRequest.c \
|
||||
MobilityChangeAcknowledge.c \
|
||||
MobilityChangeFailure.c \
|
||||
CellActivationRequest.c \
|
||||
CellActivationResponse.c \
|
||||
CellActivationFailure.c
|
||||
|
||||
ASN_MODULE_HEADERS= \
|
||||
Criticality.h \
|
||||
Presence.h \
|
||||
PrivateIE-ID.h \
|
||||
ProcedureCode.h \
|
||||
ProtocolIE-ID.h \
|
||||
TriggeringMessage.h \
|
||||
IE-Extensions.h \
|
||||
AS-SecurityInformation.h \
|
||||
AllocationAndRetentionPriority.h \
|
||||
ActivatedCellList.h \
|
||||
ActivatedCellList-Item.h \
|
||||
BitRate.h \
|
||||
BroadcastPLMNs-Item.h \
|
||||
CapacityValue.h \
|
||||
CellCapacityClassValue.h \
|
||||
CellToReport-List.h \
|
||||
CellToReport-Item.h \
|
||||
CellMeasurementResult-List.h \
|
||||
CellMeasurementResult-Item.h \
|
||||
ReportingPeriodicity.h \
|
||||
Cause.h \
|
||||
CauseMisc.h \
|
||||
CauseProtocol.h \
|
||||
CauseRadioNetwork.h \
|
||||
CauseTransport.h \
|
||||
Cell-Size.h \
|
||||
CellInformation-List.h \
|
||||
CellInformation-Item.h \
|
||||
CellType.h \
|
||||
CompositeAvailableCapacityGroup.h \
|
||||
CompositeAvailableCapacity.h \
|
||||
COUNTvalue.h \
|
||||
CriticalityDiagnostics.h \
|
||||
CriticalityDiagnostics-IE-List.h \
|
||||
CriticalityDiagnostics-IE-Elm.h \
|
||||
CRNTI.h \
|
||||
CyclicPrefixDL.h \
|
||||
CyclicPrefixUL.h \
|
||||
DeactivationIndication.h \
|
||||
DL-Forwarding.h \
|
||||
E-RABs-Admitted-List.h \
|
||||
E-RABs-Admitted-Item.h \
|
||||
E-RABs-ToBeSetup-List.h \
|
||||
E-RABs-ToBeSetup-Item.h \
|
||||
E-RABs-SubjectToStatusTransfer-List.h \
|
||||
E-RABs-SubjectToStatusTransfer-Item.h \
|
||||
EARFCN.h \
|
||||
FDD-Info.h \
|
||||
TDD-Info.h \
|
||||
EUTRA-Mode-Info.h \
|
||||
ECGI.h \
|
||||
ENB-ID.h \
|
||||
EncryptionAlgorithms.h \
|
||||
EPLMNs.h \
|
||||
E-RAB-ID.h \
|
||||
E-RAB-Level-QoS-Parameters.h \
|
||||
E-RAB-List.h \
|
||||
E-RAB-Item.h \
|
||||
EUTRANCellIdentifier.h \
|
||||
EUTRANTraceID.h \
|
||||
EventType.h \
|
||||
ForbiddenInterRATs.h \
|
||||
ForbiddenTAs.h \
|
||||
ForbiddenTAs-Item.h \
|
||||
ForbiddenTACs.h \
|
||||
ForbiddenLAs.h \
|
||||
ForbiddenLAs-Item.h \
|
||||
ForbiddenLACs.h \
|
||||
Fourframes.h \
|
||||
GBR-QosInformation.h \
|
||||
GlobalENB-ID.h \
|
||||
GTPtunnelEndpoint.h \
|
||||
GTP-TEI.h \
|
||||
GUGroupIDList.h \
|
||||
GU-Group-ID.h \
|
||||
GUMMEI.h \
|
||||
HandoverReportType.h \
|
||||
HandoverRestrictionList.h \
|
||||
HFN.h \
|
||||
HWLoadIndicator.h \
|
||||
IntegrityProtectionAlgorithms.h \
|
||||
InterfacesToTrace.h \
|
||||
Key-eNodeB-Star.h \
|
||||
LAC.h \
|
||||
LastVisitedCell-Item.h \
|
||||
LastVisitedEUTRANCellInformation.h \
|
||||
LastVisitedUTRANCellInformation.h \
|
||||
LastVisitedGERANCellInformation.h \
|
||||
LoadIndicator.h \
|
||||
LocationReportingInformation.h \
|
||||
MME-Group-ID.h \
|
||||
MME-Code.h \
|
||||
Measurement-ID.h \
|
||||
MBSFN-Subframe-Infolist.h \
|
||||
MBSFN-Subframe-Info.h \
|
||||
MobilityParametersModificationRange.h \
|
||||
MobilityParametersInformation.h \
|
||||
Neighbour-Information.h \
|
||||
Neighbour-Information-Elm.h \
|
||||
NextHopChainingCount.h \
|
||||
Number-of-Antennaports.h \
|
||||
Oneframe.h \
|
||||
PDCP-SN.h \
|
||||
PCI.h \
|
||||
PLMN-Identity.h \
|
||||
PRACH-Configuration.h \
|
||||
Pre-emptionCapability.h \
|
||||
Pre-emptionVulnerability.h \
|
||||
PriorityLevel.h \
|
||||
QCI.h \
|
||||
ReceiveStatusofULPDCPSDUs.h \
|
||||
Registration-Request.h \
|
||||
RelativeNarrowbandTxPower.h \
|
||||
ReportArea.h \
|
||||
ReportCharacteristics.h \
|
||||
RNTP-Threshold.h \
|
||||
RRC-Context.h \
|
||||
RadioResourceStatus.h \
|
||||
DL-GBR-PRB-usage.h \
|
||||
UL-GBR-PRB-usage.h \
|
||||
DL-non-GBR-PRB-usage.h \
|
||||
UL-non-GBR-PRB-usage.h \
|
||||
DL-Total-PRB-usage.h \
|
||||
vUL-Total-PRB-usage.h \
|
||||
RadioframeAllocationPeriod.h \
|
||||
RadioframeAllocationOffset.h \
|
||||
S1TNLLoadIndicator.h \
|
||||
ServedCellsToActivate.h \
|
||||
ServedCellsToActivate-Item.h \
|
||||
ServedCellsToModify.h \
|
||||
ServedCellsToModify-Item.h \
|
||||
Old-ECGIs.h \
|
||||
ServedCells.h \
|
||||
ServedCellItem.h \
|
||||
ServedCell-Information.h \
|
||||
ShortMAC-I.h \
|
||||
SRVCCOperationPossible.h \
|
||||
SubframeAssignment.h \
|
||||
SpecialSubframe-Info.h \
|
||||
SpecialSubframePatterns.h \
|
||||
SubscriberProfileIDforRFP.h \
|
||||
SubframeAllocation.h \
|
||||
TAC.h \
|
||||
TargeteNBtoSource-eNBTransparentContainer.h \
|
||||
TimeToWait.h \
|
||||
Time-UE-StayedInCell.h \
|
||||
TraceActivation.h \
|
||||
TraceCollectionEntityIPAddress.h \
|
||||
TraceDepth.h \
|
||||
Transmission-Bandwidth.h \
|
||||
TransportLayerAddress.h \
|
||||
TypeOfError.h \
|
||||
UE-HistoryInformation.h \
|
||||
UE-S1AP-ID.h \
|
||||
UE-ID.h \
|
||||
UEAggregateMaximumBitRate.h \
|
||||
UESecurityCapabilities.h \
|
||||
UE-ContextInformation.h \
|
||||
UL-InterferenceOverloadIndication.h \
|
||||
UL-InterferenceOverloadIndication-Item.h \
|
||||
UL-HighInterferenceIndicationInfo.h \
|
||||
UL-HighInterferenceIndicationInfo-Item.h \
|
||||
UL-HighInterferenceIndication.h \
|
||||
UE-RLF-Report-Container.h \
|
||||
IE.h \
|
||||
PDU.h \
|
||||
InitiatingMessage.h \
|
||||
SuccessfulOutcome.h \
|
||||
UnsuccessfulOutcome.h \
|
||||
HandoverRequest.h \
|
||||
HandoverRequestAcknowledge.h \
|
||||
HandoverPreparationFailure.h \
|
||||
SNStatusTransfer.h \
|
||||
UEContextRelease.h \
|
||||
HandoverCancel.h \
|
||||
HandoverReport.h \
|
||||
ErrorIndication.h \
|
||||
ResetRequest.h \
|
||||
ResetResponse.h \
|
||||
X2SetupRequest.h \
|
||||
X2SetupResponse.h \
|
||||
X2SetupFailure.h \
|
||||
LoadInformation.h \
|
||||
ENBConfigurationUpdate.h \
|
||||
ENBConfigurationUpdateAcknowledge.h \
|
||||
ENBConfigurationUpdateFailure.h \
|
||||
ResourceStatusRequest.h \
|
||||
ResourceStatusResponse.h \
|
||||
ResourceStatusFailure.h \
|
||||
ResourceStatusUpdate.h \
|
||||
RLFIndication.h \
|
||||
PrivateMessage.h \
|
||||
MobilityChangeRequest.h \
|
||||
MobilityChangeAcknowledge.h \
|
||||
MobilityChangeFailure.h \
|
||||
CellActivationRequest.h \
|
||||
CellActivationResponse.h \
|
||||
CellActivationFailure.h
|
||||
|
||||
ASN_MODULE_HEADERS+=ANY.h
|
||||
ASN_MODULE_SOURCES+=ANY.c
|
||||
ASN_MODULE_HEADERS+=BOOLEAN.h
|
||||
ASN_MODULE_SOURCES+=BOOLEAN.c
|
||||
ASN_MODULE_HEADERS+=INTEGER.h
|
||||
ASN_MODULE_HEADERS+=NativeEnumerated.h
|
||||
ASN_MODULE_SOURCES+=INTEGER.c
|
||||
ASN_MODULE_HEADERS+=NULL.h
|
||||
ASN_MODULE_SOURCES+=NULL.c
|
||||
ASN_MODULE_SOURCES+=NativeEnumerated.c
|
||||
ASN_MODULE_HEADERS+=NativeInteger.h
|
||||
ASN_MODULE_SOURCES+=NativeInteger.c
|
||||
ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
|
||||
ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.c
|
||||
ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
|
||||
ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
|
||||
ASN_MODULE_HEADERS+=asn_SET_OF.h
|
||||
ASN_MODULE_SOURCES+=asn_SET_OF.c
|
||||
ASN_MODULE_HEADERS+=constr_CHOICE.h
|
||||
ASN_MODULE_SOURCES+=constr_CHOICE.c
|
||||
ASN_MODULE_HEADERS+=constr_SEQUENCE.h
|
||||
ASN_MODULE_SOURCES+=constr_SEQUENCE.c
|
||||
ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
|
||||
ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
|
||||
ASN_MODULE_HEADERS+=constr_SET_OF.h
|
||||
ASN_MODULE_SOURCES+=constr_SET_OF.c
|
||||
ASN_MODULE_HEADERS+=asn_application.h
|
||||
ASN_MODULE_HEADERS+=asn_system.h
|
||||
ASN_MODULE_HEADERS+=asn_codecs.h
|
||||
ASN_MODULE_HEADERS+=asn_internal.h
|
||||
ASN_MODULE_HEADERS+=OCTET_STRING.h
|
||||
ASN_MODULE_SOURCES+=OCTET_STRING.c
|
||||
ASN_MODULE_HEADERS+=BIT_STRING.h
|
||||
ASN_MODULE_SOURCES+=BIT_STRING.c
|
||||
ASN_MODULE_SOURCES+=asn_codecs_prim.c
|
||||
ASN_MODULE_HEADERS+=asn_codecs_prim.h
|
||||
ASN_MODULE_HEADERS+=ber_tlv_length.h
|
||||
ASN_MODULE_SOURCES+=ber_tlv_length.c
|
||||
ASN_MODULE_HEADERS+=ber_tlv_tag.h
|
||||
ASN_MODULE_SOURCES+=ber_tlv_tag.c
|
||||
ASN_MODULE_HEADERS+=ber_decoder.h
|
||||
ASN_MODULE_SOURCES+=ber_decoder.c
|
||||
ASN_MODULE_HEADERS+=der_encoder.h
|
||||
ASN_MODULE_SOURCES+=der_encoder.c
|
||||
ASN_MODULE_HEADERS+=constr_TYPE.h
|
||||
ASN_MODULE_SOURCES+=constr_TYPE.c
|
||||
ASN_MODULE_HEADERS+=constraints.h
|
||||
ASN_MODULE_SOURCES+=constraints.c
|
||||
ASN_MODULE_HEADERS+=xer_support.h
|
||||
ASN_MODULE_SOURCES+=xer_support.c
|
||||
ASN_MODULE_HEADERS+=xer_decoder.h
|
||||
ASN_MODULE_SOURCES+=xer_decoder.c
|
||||
ASN_MODULE_HEADERS+=xer_encoder.h
|
||||
ASN_MODULE_SOURCES+=xer_encoder.c
|
||||
ASN_MODULE_HEADERS+=per_support.h
|
||||
ASN_MODULE_SOURCES+=per_support.c
|
||||
ASN_MODULE_HEADERS+=per_decoder.h
|
||||
ASN_MODULE_SOURCES+=per_decoder.c
|
||||
ASN_MODULE_HEADERS+=per_encoder.h
|
||||
ASN_MODULE_SOURCES+=per_encoder.c
|
||||
ASN_MODULE_HEADERS+=per_opentype.h
|
||||
ASN_MODULE_SOURCES+=per_opentype.c
|
||||
@@ -1,126 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-CommonDataTypes (3) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxPrivateIEs INTEGER ::= 65535
|
||||
maxProtocolExtensions INTEGER ::= 65535
|
||||
maxProtocolIEs INTEGER ::= 65535
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common Data Types
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
Criticality ::= ENUMERATED { reject, ignore, notify }
|
||||
|
||||
Presence ::= ENUMERATED { optional, conditional, mandatory }
|
||||
|
||||
PrivateIE-ID ::= CHOICE {
|
||||
local INTEGER (0.. maxPrivateIEs),
|
||||
global OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
ProcedureCode ::= INTEGER {
|
||||
id-handoverPreparation (0),
|
||||
id-handoverCancel (1),
|
||||
id-loadIndication (2),
|
||||
id-errorIndication (3),
|
||||
id-snStatusTransfer (4),
|
||||
id-uEContextRelease (5),
|
||||
id-x2Setup (6),
|
||||
id-reset (7),
|
||||
id-eNBConfigurationUpdate (8),
|
||||
id-resourceStatusReportingInitiation (9),
|
||||
id-resourceStatusReporting (10),
|
||||
id-privateMessage (11),
|
||||
id-mobilitySettingsChange (12),
|
||||
id-rLFIndication (13),
|
||||
id-handoverReport (14),
|
||||
id-cellActivation (15)
|
||||
} (0..255)
|
||||
|
||||
|
||||
ProtocolIE-ID ::= INTEGER {
|
||||
id-E-RABs-Admitted-Item (0),
|
||||
id-E-RABs-Admitted-List (1),
|
||||
id-E-RAB-Item (2),
|
||||
id-E-RABs-NotAdmitted-List (3),
|
||||
id-E-RABs-ToBeSetup-Item (4),
|
||||
id-Cause (5),
|
||||
id-CellInformation (6),
|
||||
id-CellInformation-Item (7),
|
||||
id-New-eNB-UE-X2AP-ID (9),
|
||||
id-Old-eNB-UE-X2AP-ID (10),
|
||||
id-TargetCell-ID (11),
|
||||
id-TargeteNBtoSource-eNBTransparentContainer (12),
|
||||
id-TraceActivation (13),
|
||||
id-UE-ContextInformation (14),
|
||||
id-UE-HistoryInformation (15),
|
||||
id-UE-X2AP-ID (16),
|
||||
id-CriticalityDiagnostics (17),
|
||||
id-E-RABs-SubjectToStatusTransfer-List (18),
|
||||
id-E-RABs-SubjectToStatusTransfer-Item (19),
|
||||
id-ServedCells (20),
|
||||
id-GlobalENB-ID (21),
|
||||
id-TimeToWait (22),
|
||||
id-GUMMEI-ID (23),
|
||||
id-GUGroupIDList (24),
|
||||
id-ServedCellsToAdd (25),
|
||||
id-ServedCellsToModify (26),
|
||||
id-ServedCellsToDelete (27),
|
||||
id-Registration-Request (28),
|
||||
id-CellToReport (29),
|
||||
id-ReportingPeriodicity (30),
|
||||
id-CellToReport-Item (31),
|
||||
id-CellMeasurementResult (32),
|
||||
id-CellMeasurementResult-Item (33),
|
||||
id-GUGroupIDToAddList (34),
|
||||
id-GUGroupIDToDeleteList (35),
|
||||
id-SRVCCOperationPossible (36),
|
||||
id-Measurement-ID (37),
|
||||
id-ReportCharacteristics (38),
|
||||
id-ENB1-Measurement-ID (39),
|
||||
id-ENB2-Measurement-ID (40),
|
||||
id-Number-of-Antennaports (41),
|
||||
id-CompositeAvailableCapacityGroup (42),
|
||||
id-ENB1-Cell-ID (43),
|
||||
id-ENB2-Cell-ID (44),
|
||||
id-ENB2-Proposed-Mobility-Parameters (45),
|
||||
id-ENB1-Mobility-Parameters (46),
|
||||
id-ENB2-Mobility-Parameters-Modification-Range (47),
|
||||
id-FailureCellPCI (48),
|
||||
id-Re-establishmentCellECGI (49),
|
||||
id-FailureCellCRNTI (50),
|
||||
id-ShortMAC-I (51),
|
||||
id-SourceCellECGI (52),
|
||||
id-FailureCellECGI (53),
|
||||
id-HandoverReportType (54),
|
||||
id-PRACH-Configuration (55),
|
||||
id-MBSFN-Subframe-Info (56),
|
||||
id-ServedCellsToActivate (57),
|
||||
id-ActivatedCellList (58),
|
||||
id-DeactivationIndication (59),
|
||||
id-UE-RLF-Report-Container (60)
|
||||
} (0..maxProtocolIEs)
|
||||
|
||||
|
||||
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
|
||||
|
||||
END
|
||||
@@ -1,138 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
FROM X2AP-CommonDataTypes;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-handoverPreparation ProcedureCode ::= 0
|
||||
id-handoverCancel ProcedureCode ::= 1
|
||||
id-loadIndication ProcedureCode ::= 2
|
||||
id-errorIndication ProcedureCode ::= 3
|
||||
id-snStatusTransfer ProcedureCode ::= 4
|
||||
id-uEContextRelease ProcedureCode ::= 5
|
||||
id-x2Setup ProcedureCode ::= 6
|
||||
id-reset ProcedureCode ::= 7
|
||||
id-eNBConfigurationUpdate ProcedureCode ::= 8
|
||||
id-resourceStatusReportingInitiation ProcedureCode ::= 9
|
||||
id-resourceStatusReporting ProcedureCode ::= 10
|
||||
id-privateMessage ProcedureCode ::= 11
|
||||
id-mobilitySettingsChange ProcedureCode ::= 12
|
||||
id-rLFIndication ProcedureCode ::= 13
|
||||
id-handoverReport ProcedureCode ::= 14
|
||||
id-cellActivation ProcedureCode ::= 15
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxEARFCN INTEGER ::= 65535
|
||||
maxInterfaces INTEGER ::= 16
|
||||
maxCellineNB INTEGER ::= 256
|
||||
maxnoofBearers INTEGER ::= 256
|
||||
maxNrOfErrors INTEGER ::= 256
|
||||
maxnoofPDCP-SN INTEGER ::= 16 -- FFS Value to be checked
|
||||
maxnoofEPLMNs INTEGER ::= 15
|
||||
maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
maxnoofForbLACs INTEGER ::= 4096
|
||||
maxnoofForbTACs INTEGER ::= 4096
|
||||
maxnoofBPLMNs INTEGER ::= 6
|
||||
maxnoofNeighbours INTEGER ::= 512
|
||||
maxnoofPRBs INTEGER ::= 110
|
||||
maxPools INTEGER ::= 16
|
||||
maxnoofCells INTEGER ::= 16
|
||||
maxnoofMBSFN INTEGER ::= 8
|
||||
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-E-RABs-Admitted-Item ProtocolIE-ID ::= 0
|
||||
id-E-RABs-Admitted-List ProtocolIE-ID ::= 1
|
||||
id-E-RAB-Item ProtocolIE-ID ::= 2
|
||||
id-E-RABs-NotAdmitted-List ProtocolIE-ID ::= 3
|
||||
id-E-RABs-ToBeSetup-Item ProtocolIE-ID ::= 4
|
||||
id-Cause ProtocolIE-ID ::= 5
|
||||
id-CellInformation ProtocolIE-ID ::= 6
|
||||
id-CellInformation-Item ProtocolIE-ID ::= 7
|
||||
id-New-eNB-UE-X2AP-ID ProtocolIE-ID ::= 9
|
||||
id-Old-eNB-UE-X2AP-ID ProtocolIE-ID ::= 10
|
||||
id-TargetCell-ID ProtocolIE-ID ::= 11
|
||||
id-TargeteNBtoSource-eNBTransparentContainer ProtocolIE-ID ::= 12
|
||||
id-TraceActivation ProtocolIE-ID ::= 13
|
||||
id-UE-ContextInformation ProtocolIE-ID ::= 14
|
||||
id-UE-HistoryInformation ProtocolIE-ID ::= 15
|
||||
id-UE-X2AP-ID ProtocolIE-ID ::= 16
|
||||
id-CriticalityDiagnostics ProtocolIE-ID ::= 17
|
||||
id-E-RABs-SubjectToStatusTransfer-List ProtocolIE-ID ::= 18
|
||||
id-E-RABs-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 19
|
||||
id-ServedCells ProtocolIE-ID ::= 20
|
||||
id-GlobalENB-ID ProtocolIE-ID ::= 21
|
||||
id-TimeToWait ProtocolIE-ID ::= 22
|
||||
id-GUMMEI-ID ProtocolIE-ID ::= 23
|
||||
id-GUGroupIDList ProtocolIE-ID ::= 24
|
||||
id-ServedCellsToAdd ProtocolIE-ID ::= 25
|
||||
id-ServedCellsToModify ProtocolIE-ID ::= 26
|
||||
id-ServedCellsToDelete ProtocolIE-ID ::= 27
|
||||
id-Registration-Request ProtocolIE-ID ::= 28
|
||||
id-CellToReport ProtocolIE-ID ::= 29
|
||||
id-ReportingPeriodicity ProtocolIE-ID ::= 30
|
||||
id-CellToReport-Item ProtocolIE-ID ::= 31
|
||||
id-CellMeasurementResult ProtocolIE-ID ::= 32
|
||||
id-CellMeasurementResult-Item ProtocolIE-ID ::= 33
|
||||
id-GUGroupIDToAddList ProtocolIE-ID ::= 34
|
||||
id-GUGroupIDToDeleteList ProtocolIE-ID ::= 35
|
||||
id-SRVCCOperationPossible ProtocolIE-ID ::= 36
|
||||
id-Measurement-ID ProtocolIE-ID ::= 37
|
||||
id-ReportCharacteristics ProtocolIE-ID ::= 38
|
||||
id-ENB1-Measurement-ID ProtocolIE-ID ::= 39
|
||||
id-ENB2-Measurement-ID ProtocolIE-ID ::= 40
|
||||
id-Number-of-Antennaports ProtocolIE-ID ::= 41
|
||||
id-CompositeAvailableCapacityGroup ProtocolIE-ID ::= 42
|
||||
id-ENB1-Cell-ID ProtocolIE-ID ::= 43
|
||||
id-ENB2-Cell-ID ProtocolIE-ID ::= 44
|
||||
id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID ::= 45
|
||||
id-ENB1-Mobility-Parameters ProtocolIE-ID ::= 46
|
||||
id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID ::= 47
|
||||
id-FailureCellPCI ProtocolIE-ID ::= 48
|
||||
id-Re-establishmentCellECGI ProtocolIE-ID ::= 49
|
||||
id-FailureCellCRNTI ProtocolIE-ID ::= 50
|
||||
id-ShortMAC-I ProtocolIE-ID ::= 51
|
||||
id-SourceCellECGI ProtocolIE-ID ::= 52
|
||||
id-FailureCellECGI ProtocolIE-ID ::= 53
|
||||
id-HandoverReportType ProtocolIE-ID ::= 54
|
||||
id-PRACH-Configuration ProtocolIE-ID ::= 55
|
||||
id-MBSFN-Subframe-Info ProtocolIE-ID ::= 56
|
||||
id-ServedCellsToActivate ProtocolIE-ID ::= 57
|
||||
id-ActivatedCellList ProtocolIE-ID ::= 58
|
||||
id-DeactivationIndication ProtocolIE-ID ::= 59
|
||||
id-UE-RLF-Report-Container ProtocolIE-ID ::= 60
|
||||
|
||||
END
|
||||
@@ -1,194 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-Containers {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Containers (5) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
maxPrivateIEs,
|
||||
maxProtocolExtensions,
|
||||
maxProtocolIEs,
|
||||
Criticality,
|
||||
Presence,
|
||||
PrivateIE-ID,
|
||||
ProtocolIE-ID
|
||||
FROM X2AP-CommonDataTypes;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PROTOCOL-EXTENSION ::= CLASS {
|
||||
&id ProtocolIE-ID UNIQUE,
|
||||
&criticality Criticality,
|
||||
&Extension,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
EXTENSION &Extension
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-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 {X2AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Single-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Field {X2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id X2AP-PROTOCOL-IES.&id ({IEsSetParam}),
|
||||
criticality X2AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value X2AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IE Pairs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-FieldPair {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-FieldPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
|
||||
id X2AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
|
||||
firstCriticality X2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
|
||||
firstValue X2AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
|
||||
secondCriticality X2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
|
||||
secondValue X2AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container Lists for Protocol IE Containers
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-Container {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolExtensionContainer {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
|
||||
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
|
||||
ProtocolExtensionField {{ExtensionSetParam}}
|
||||
|
||||
ProtocolExtensionField {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
|
||||
id X2AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
|
||||
criticality X2AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
|
||||
extensionValue X2AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateIE-Container {X2AP-PRIVATE-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (1..maxPrivateIEs)) OF
|
||||
PrivateIE-Field {{IEsSetParam}}
|
||||
|
||||
PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id X2AP-PRIVATE-IES.&id ({IEsSetParam}),
|
||||
criticality X2AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value X2AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
END
|
||||
@@ -1,989 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Information Element Definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-IEs {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-IEs (2) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
id-E-RAB-Item,
|
||||
id-Number-of-Antennaports,
|
||||
id-MBSFN-Subframe-Info,
|
||||
id-PRACH-Configuration,
|
||||
|
||||
maxnoofBearers,
|
||||
maxCellineNB,
|
||||
maxEARFCN,
|
||||
maxInterfaces,
|
||||
|
||||
maxnoofBPLMNs,
|
||||
maxnoofCells,
|
||||
maxnoofEPLMNs,
|
||||
maxnoofEPLMNsPlusOne,
|
||||
maxnoofForbLACs,
|
||||
maxnoofForbTACs,
|
||||
maxnoofNeighbours,
|
||||
maxnoofPRBs,
|
||||
maxNrOfErrors,
|
||||
maxPools,
|
||||
maxnoofMBSFN
|
||||
|
||||
FROM X2AP-Constants
|
||||
|
||||
Criticality,
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID,
|
||||
TriggeringMessage,
|
||||
maxProtocolExtensions
|
||||
|
||||
FROM X2AP-CommonDataTypes
|
||||
|
||||
IE
|
||||
FROM X2AP-PDU;
|
||||
|
||||
IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE
|
||||
|
||||
-- A
|
||||
|
||||
AS-SecurityInformation ::= SEQUENCE {
|
||||
key-eNodeB-star Key-eNodeB-Star,
|
||||
nextHopChainingCount NextHopChainingCount,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { AS-SecurityInformation-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
AllocationAndRetentionPriority ::= SEQUENCE {
|
||||
priorityLevel PriorityLevel,
|
||||
pre-emptionCapability Pre-emptionCapability,
|
||||
pre-emptionVulnerability Pre-emptionVulnerability,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ActivatedCellList ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ActivatedCellList-Item
|
||||
|
||||
ActivatedCellList-Item::= SEQUENCE {
|
||||
ecgi ECGI,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { ActivatedCellList-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
-- B
|
||||
|
||||
|
||||
BitRate ::= INTEGER (0..10000000000)
|
||||
BroadcastPLMNs-Item ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF PLMN-Identity
|
||||
|
||||
|
||||
-- C
|
||||
|
||||
CapacityValue ::= INTEGER (0..100)
|
||||
|
||||
CellCapacityClassValue ::= INTEGER (1..100, ...)
|
||||
|
||||
CellToReport-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF IE
|
||||
|
||||
CellToReport-Item ::= SEQUENCE {
|
||||
cell-ID ECGI,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {CellToReport-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CellMeasurementResult-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF IE
|
||||
|
||||
CellMeasurementResult-Item ::= SEQUENCE {
|
||||
cell-ID ECGI,
|
||||
hWOverLoadIndicator HWLoadIndicator OPTIONAL,
|
||||
s1TNLOverLoadIndicator S1TNLLoadIndicator OPTIONAL,
|
||||
radioResourceStatus RadioResourceStatus OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {CellMeasurementResult-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ReportingPeriodicity ::= ENUMERATED {
|
||||
one-thousand-ms,
|
||||
two-thousand-ms,
|
||||
five-thousand-ms,
|
||||
ten-thousand-ms,
|
||||
...
|
||||
}
|
||||
|
||||
Cause ::= CHOICE {
|
||||
radioNetwork CauseRadioNetwork,
|
||||
transport CauseTransport,
|
||||
protocol CauseProtocol,
|
||||
misc CauseMisc,
|
||||
...
|
||||
}
|
||||
|
||||
CauseMisc ::= ENUMERATED {
|
||||
control-processing-overload,
|
||||
hardware-failure,
|
||||
om-intervention,
|
||||
not-enough-user-plane-processing-resources,
|
||||
unspecified,
|
||||
...
|
||||
}
|
||||
|
||||
CauseProtocol ::= ENUMERATED {
|
||||
transfer-syntax-error,
|
||||
abstract-syntax-error-reject,
|
||||
abstract-syntax-error-ignore-and-notify,
|
||||
message-not-compatible-with-receiver-state,
|
||||
semantic-error,
|
||||
unspecified,
|
||||
abstract-syntax-error-falsely-constructed-message,
|
||||
...
|
||||
}
|
||||
|
||||
CauseRadioNetwork ::= ENUMERATED {
|
||||
handover-desirable-for-radio-reasons,
|
||||
time-critical-handover,
|
||||
resource-optimisation-handover,
|
||||
reduce-load-in-serving-cell,
|
||||
partial-handover,
|
||||
unknown-new-eNB-UE-X2AP-ID,
|
||||
unknown-old-eNB-UE-X2AP-ID,
|
||||
unknown-pair-of-UE-X2AP-ID,
|
||||
ho-target-not-allowed,
|
||||
tx2relocoverall-expiry,
|
||||
trelocprep-expiry,
|
||||
cell-not-available,
|
||||
no-radio-resources-available-in-target-cell,
|
||||
invalid-MME-GroupID,
|
||||
unknown-MME-Code,
|
||||
encryption-and-or-integrity-protection-algorithms-not-supported,
|
||||
reportCharacteristicsEmpty,
|
||||
noReportPeriodicity,
|
||||
existingMeasurementID,
|
||||
unknown-eNB-Measurement-ID,
|
||||
measurement-temporarily-not-available,
|
||||
unspecified,
|
||||
...,
|
||||
load-balancing,
|
||||
handover-optimisation,
|
||||
value-out-of-allowed-range,
|
||||
multiple-E-RAB-ID-instances,
|
||||
switch-off-ongoing,
|
||||
not-supported-QCI-value
|
||||
|
||||
}
|
||||
|
||||
CauseTransport ::= ENUMERATED {
|
||||
transport-resource-unavailable,
|
||||
unspecified,
|
||||
...
|
||||
}
|
||||
|
||||
Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ... }
|
||||
|
||||
CellInformation-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF IE
|
||||
|
||||
CellInformation-Item ::= SEQUENCE {
|
||||
cell-ID ECGI,
|
||||
ul-InterferenceOverloadIndication UL-InterferenceOverloadIndication OPTIONAL,
|
||||
ul-HighInterferenceIndicationInfo UL-HighInterferenceIndicationInfo OPTIONAL,
|
||||
relativeNarrowbandTxPower RelativeNarrowbandTxPower OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {CellInformation-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CellType ::= SEQUENCE {
|
||||
cell-Size Cell-Size,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { CellType-ExtIEs}} OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CompositeAvailableCapacityGroup ::= SEQUENCE {
|
||||
dL-CompositeAvailableCapacity CompositeAvailableCapacity,
|
||||
uL-CompositeAvailableCapacity CompositeAvailableCapacity,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CompositeAvailableCapacity ::= SEQUENCE {
|
||||
cellCapacityClassValue CellCapacityClassValue OPTIONAL,
|
||||
capacityValue CapacityValue,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacity-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
COUNTvalue ::= SEQUENCE {
|
||||
pDCP-SN PDCP-SN,
|
||||
hFN HFN,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { COUNTvalue-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CriticalityDiagnostics ::= SEQUENCE {
|
||||
procedureCode ProcedureCode OPTIONAL,
|
||||
triggeringMessage TriggeringMessage OPTIONAL,
|
||||
procedureCriticality Criticality OPTIONAL,
|
||||
iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Elm
|
||||
|
||||
CriticalityDiagnostics-IE-Elm ::= SEQUENCE {
|
||||
iECriticality Criticality,
|
||||
iE-ID ProtocolIE-ID,
|
||||
typeOfError TypeOfError,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CRNTI ::= BIT STRING (SIZE (16))
|
||||
|
||||
CyclicPrefixDL ::= ENUMERATED {
|
||||
normal,
|
||||
extended,
|
||||
...
|
||||
}
|
||||
|
||||
CyclicPrefixUL ::= ENUMERATED {
|
||||
normal,
|
||||
extended,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- D
|
||||
|
||||
DeactivationIndication::= ENUMERATED {
|
||||
deactivated,
|
||||
...
|
||||
}
|
||||
|
||||
DL-Forwarding ::= ENUMERATED {
|
||||
dL-forwardingProposed,
|
||||
...
|
||||
}
|
||||
|
||||
-- E
|
||||
|
||||
E-RABs-Admitted-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF IE
|
||||
|
||||
E-RABs-Admitted-Item ::= SEQUENCE {
|
||||
e-RAB-ID E-RAB-ID,
|
||||
uL-GTP-TunnelEndpoint GTPtunnelEndpoint OPTIONAL,
|
||||
dL-GTP-TunnelEndpoint GTPtunnelEndpoint OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {E-RABs-Admitted-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF IE
|
||||
|
||||
E-RABs-ToBeSetup-Item ::= SEQUENCE {
|
||||
e-RAB-ID E-RAB-ID,
|
||||
e-RAB-Level-QoS-Parameters E-RAB-Level-QoS-Parameters,
|
||||
dL-Forwarding DL-Forwarding OPTIONAL,
|
||||
uL-GTPtunnelEndpoint GTPtunnelEndpoint,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {E-RABs-ToBeSetup-ItemExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABs-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF IE
|
||||
|
||||
E-RABs-SubjectToStatusTransfer-Item ::= SEQUENCE {
|
||||
e-RAB-ID E-RAB-ID,
|
||||
receiveStatusofULPDCPSDUs ReceiveStatusofULPDCPSDUs OPTIONAL,
|
||||
uL-COUNTvalue COUNTvalue,
|
||||
dL-COUNTvalue COUNTvalue,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {E-RABs-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
EARFCN ::= INTEGER (0..maxEARFCN)
|
||||
|
||||
FDD-Info ::= SEQUENCE {
|
||||
uL-EARFCN EARFCN,
|
||||
dL-EARFCN EARFCN,
|
||||
uL-Transmission-Bandwidth Transmission-Bandwidth,
|
||||
dL-Transmission-Bandwidth Transmission-Bandwidth,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {FDD-Info-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
TDD-Info ::= SEQUENCE {
|
||||
eARFCN EARFCN,
|
||||
transmission-Bandwidth Transmission-Bandwidth,
|
||||
subframeAssignment SubframeAssignment,
|
||||
specialSubframe-Info SpecialSubframe-Info,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {TDD-Info-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
EUTRA-Mode-Info ::= CHOICE {
|
||||
fDD FDD-Info,
|
||||
tDD TDD-Info,
|
||||
...
|
||||
}
|
||||
|
||||
ECGI ::= SEQUENCE {
|
||||
pLMN-Identity PLMN-Identity,
|
||||
eUTRANcellIdentifier EUTRANCellIdentifier,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {ECGI-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ENB-ID ::= CHOICE {
|
||||
macro-eNB-ID BIT STRING (SIZE (20)),
|
||||
home-eNB-ID BIT STRING (SIZE (28)),
|
||||
...
|
||||
}
|
||||
|
||||
EncryptionAlgorithms ::= BIT STRING (SIZE (16, ...))
|
||||
|
||||
EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMN-Identity
|
||||
|
||||
E-RAB-ID ::= INTEGER (0..15, ...)
|
||||
|
||||
E-RAB-Level-QoS-Parameters ::= SEQUENCE {
|
||||
qCI QCI,
|
||||
allocationAndRetentionPriority AllocationAndRetentionPriority,
|
||||
gbrQosInformation GBR-QosInformation OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { E-RAB-Level-QoS-Parameters-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
E-RAB-List ::= SEQUENCE (SIZE(1.. maxnoofBearers)) OF IE
|
||||
|
||||
E-RAB-Item ::= SEQUENCE {
|
||||
e-RAB-ID E-RAB-ID,
|
||||
cause Cause,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {E-RAB-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
EUTRANCellIdentifier ::= BIT STRING (SIZE (28))
|
||||
|
||||
EUTRANTraceID ::= OCTET STRING (SIZE (8))
|
||||
|
||||
|
||||
EventType ::= ENUMERATED{
|
||||
change-of-serving-cell,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- F
|
||||
|
||||
ForbiddenInterRATs ::= ENUMERATED {
|
||||
all,
|
||||
geran,
|
||||
utran,
|
||||
cdma2000,
|
||||
...,
|
||||
geranandutran,
|
||||
cdma2000andutran
|
||||
|
||||
}
|
||||
|
||||
ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item
|
||||
|
||||
ForbiddenTAs-Item ::= SEQUENCE {
|
||||
pLMN-Identity PLMN-Identity,
|
||||
forbiddenTACs ForbiddenTACs,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC
|
||||
|
||||
ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item
|
||||
|
||||
ForbiddenLAs-Item ::= SEQUENCE {
|
||||
pLMN-Identity PLMN-Identity,
|
||||
forbiddenLACs ForbiddenLACs,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC
|
||||
|
||||
Fourframes ::= BIT STRING (SIZE (24))
|
||||
|
||||
-- G
|
||||
|
||||
GBR-QosInformation ::= SEQUENCE {
|
||||
e-RAB-MaximumBitrateDL BitRate,
|
||||
e-RAB-MaximumBitrateUL BitRate,
|
||||
e-RAB-GuaranteedBitrateDL BitRate,
|
||||
e-RAB-GuaranteedBitrateUL BitRate,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
GlobalENB-ID ::= SEQUENCE {
|
||||
pLMN-Identity PLMN-Identity,
|
||||
eNB-ID ENB-ID,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
GTPtunnelEndpoint ::= SEQUENCE {
|
||||
transportLayerAddress TransportLayerAddress,
|
||||
gTP-TEID GTP-TEI,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {GTPtunnelEndpoint-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
GTP-TEI ::= OCTET STRING (SIZE (4))
|
||||
|
||||
GUGroupIDList ::= SEQUENCE (SIZE (1..maxPools)) OF GU-Group-ID
|
||||
|
||||
|
||||
GU-Group-ID ::= SEQUENCE {
|
||||
pLMN-Identity PLMN-Identity,
|
||||
mME-Group-ID MME-Group-ID,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {GU-Group-ID-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
GUMMEI ::= SEQUENCE {
|
||||
|
||||
gU-Group-ID GU-Group-ID,
|
||||
mME-Code MME-Code,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
-- H
|
||||
|
||||
HandoverReportType ::= ENUMERATED {
|
||||
hoTooEarly,
|
||||
hoToWrongCell,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRestrictionList ::= SEQUENCE {
|
||||
servingPLMN PLMN-Identity,
|
||||
equivalentPLMNs EPLMNs OPTIONAL,
|
||||
forbiddenTAs ForbiddenTAs OPTIONAL,
|
||||
forbiddenLAs ForbiddenLAs OPTIONAL,
|
||||
forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
HFN ::= INTEGER (0..1048575)
|
||||
|
||||
HWLoadIndicator ::= SEQUENCE {
|
||||
dLHWLoadIndicator LoadIndicator,
|
||||
uLHWLoadIndicator LoadIndicator,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { HWLoadIndicator-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
-- I
|
||||
|
||||
IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16, ...))
|
||||
|
||||
InterfacesToTrace ::= BIT STRING (SIZE (8))
|
||||
-- J
|
||||
-- K
|
||||
|
||||
|
||||
Key-eNodeB-Star ::= BIT STRING (SIZE(256))
|
||||
|
||||
-- L
|
||||
|
||||
|
||||
LAC ::= OCTET STRING (SIZE (2)) --(EXCEPT ('0000'H|'FFFE'H))
|
||||
|
||||
LastVisitedCell-Item ::= CHOICE {
|
||||
e-UTRAN-Cell LastVisitedEUTRANCellInformation,
|
||||
uTRAN-Cell LastVisitedUTRANCellInformation,
|
||||
gERAN-Cell LastVisitedGERANCellInformation,
|
||||
...
|
||||
}
|
||||
|
||||
LastVisitedEUTRANCellInformation ::= SEQUENCE {
|
||||
global-Cell-ID ECGI,
|
||||
cellType CellType,
|
||||
time-UE-StayedInCell Time-UE-StayedInCell,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
LastVisitedUTRANCellInformation ::= OCTET STRING
|
||||
|
||||
LastVisitedGERANCellInformation ::= CHOICE {
|
||||
undefined NULL,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
LoadIndicator ::= ENUMERATED {
|
||||
lowLoad,
|
||||
mediumLoad,
|
||||
highLoad,
|
||||
overLoad,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
LocationReportingInformation ::= SEQUENCE {
|
||||
eventType EventType,
|
||||
reportArea ReportArea,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {LocationReportingInformation-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
-- M
|
||||
|
||||
|
||||
MME-Group-ID ::= OCTET STRING (SIZE (2))
|
||||
|
||||
MME-Code ::= OCTET STRING (SIZE (1))
|
||||
|
||||
Measurement-ID ::= INTEGER (1..4095, ...)
|
||||
|
||||
MBSFN-Subframe-Infolist::= SEQUENCE (SIZE(1.. maxnoofMBSFN)) OF MBSFN-Subframe-Info
|
||||
|
||||
MBSFN-Subframe-Info ::= SEQUENCE {
|
||||
radioframeAllocationPeriod RadioframeAllocationPeriod,
|
||||
radioframeAllocationOffset RadioframeAllocationOffset,
|
||||
subframeAllocation SubframeAllocation,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { MBSFN-Subframe-Info-ExtIEs } } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
MobilityParametersModificationRange ::= SEQUENCE {
|
||||
handoverTriggerChangeLowerLimit INTEGER (-20..20),
|
||||
handoverTriggerChangeUpperLimit INTEGER (-20..20),
|
||||
...
|
||||
}
|
||||
|
||||
MobilityParametersInformation ::= SEQUENCE {
|
||||
handoverTriggerChange INTEGER (-20..20),
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- N
|
||||
|
||||
Neighbour-Information ::= SEQUENCE (SIZE (0..maxnoofNeighbours)) OF Neighbour-Information-Elm
|
||||
|
||||
Neighbour-Information-Elm ::= SEQUENCE {
|
||||
eCGI ECGI,
|
||||
pCI PCI,
|
||||
eARFCN EARFCN,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {Neighbour-Information-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
NextHopChainingCount ::= INTEGER (0..7)
|
||||
|
||||
Number-of-Antennaports ::= ENUMERATED {
|
||||
an1,
|
||||
an2,
|
||||
an4,
|
||||
...
|
||||
}
|
||||
|
||||
-- O
|
||||
|
||||
Oneframe ::= BIT STRING (SIZE (6))
|
||||
|
||||
-- P
|
||||
|
||||
PDCP-SN ::= INTEGER (0..4095)
|
||||
|
||||
PCI ::= INTEGER (0..503, ...)
|
||||
|
||||
|
||||
PLMN-Identity ::= OCTET STRING (SIZE(3))
|
||||
|
||||
PRACH-Configuration ::= SEQUENCE {
|
||||
rootSequenceIndex INTEGER (0..837),
|
||||
zeroCorrelationIndex INTEGER (0..15),
|
||||
highSpeedFlag BOOLEAN,
|
||||
prach-FreqOffset INTEGER (0..94),
|
||||
prach-ConfigIndex INTEGER (0..63) OPTIONAL, -- present for TDD --
|
||||
-- iE-Extensions ProtocolExtensionContainer { {PRACH-Configuration-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
Pre-emptionCapability ::= ENUMERATED {
|
||||
shall-not-trigger-pre-emption,
|
||||
may-trigger-pre-emption
|
||||
}
|
||||
|
||||
Pre-emptionVulnerability ::= ENUMERATED {
|
||||
not-pre-emptable,
|
||||
pre-emptable
|
||||
}
|
||||
|
||||
PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
|
||||
|
||||
-- Q
|
||||
|
||||
QCI ::= INTEGER (0..255)
|
||||
|
||||
-- R
|
||||
|
||||
|
||||
ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))
|
||||
|
||||
Registration-Request ::= ENUMERATED {
|
||||
start,
|
||||
stop,
|
||||
...
|
||||
}
|
||||
|
||||
RelativeNarrowbandTxPower ::= SEQUENCE {
|
||||
|
||||
rNTP-PerPRB BIT STRING (SIZE(6..110, ...)),
|
||||
rNTP-Threshold RNTP-Threshold,
|
||||
numberOfCellSpecificAntennaPorts ENUMERATED {one, two, four, ...},
|
||||
p-B INTEGER (0..3,...),
|
||||
pDCCH-InterferenceImpact INTEGER (0..4,...),
|
||||
-- iE-Extensions ProtocolExtensionContainer { { RelativeNarrowbandTxPower-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ReportArea ::= ENUMERATED{
|
||||
ecgi,
|
||||
...
|
||||
}
|
||||
|
||||
ReportCharacteristics ::= BIT STRING (SIZE (32))
|
||||
|
||||
RNTP-Threshold ::= ENUMERATED {
|
||||
minusInfinity,
|
||||
minusEleven,
|
||||
minusTen,
|
||||
minusNine,
|
||||
minusEight,
|
||||
minusSeven,
|
||||
minusSix,
|
||||
minusFive,
|
||||
minusFour,
|
||||
minusThree,
|
||||
minusTwo,
|
||||
minusOne,
|
||||
zero,
|
||||
one,
|
||||
two,
|
||||
three,
|
||||
...
|
||||
}
|
||||
|
||||
RRC-Context ::= OCTET STRING
|
||||
|
||||
|
||||
RadioResourceStatus ::= SEQUENCE {
|
||||
dL-GBR-PRB-usage DL-GBR-PRB-usage,
|
||||
uL-GBR-PRB-usage UL-GBR-PRB-usage,
|
||||
dL-non-GBR-PRB-usage DL-non-GBR-PRB-usage,
|
||||
uL-non-GBR-PRB-usage UL-non-GBR-PRB-usage,
|
||||
dL-Total-PRB-usage DL-Total-PRB-usage,
|
||||
uL-Total-PRB-usage UL-Total-PRB-usage,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {RadioResourceStatus-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
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)
|
||||
|
||||
RadioframeAllocationPeriod ::= ENUMERATED{
|
||||
n1,
|
||||
n2,
|
||||
n4,
|
||||
n8,
|
||||
n16,
|
||||
n32,
|
||||
...
|
||||
}
|
||||
|
||||
RadioframeAllocationOffset ::= INTEGER (0..7, ...)
|
||||
|
||||
-- S
|
||||
|
||||
S1TNLLoadIndicator ::= SEQUENCE {
|
||||
dLS1TNLLoadIndicator LoadIndicator,
|
||||
uLS1TNLLoadIndicator LoadIndicator,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { S1TNLLoadIndicator-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ServedCellsToActivate::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToActivate-Item
|
||||
|
||||
ServedCellsToActivate-Item::= SEQUENCE {
|
||||
ecgi ECGI,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { ServedCellsToActivate-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ServedCellsToModify::= SEQUENCE (SIZE (1..maxCellineNB)) OF IE
|
||||
|
||||
ServedCellsToModify-Item::= SEQUENCE {
|
||||
old-ecgi ECGI,
|
||||
servedCellInfo ServedCell-Information,
|
||||
neighbour-Info Neighbour-Information OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { ServedCellsToModify-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
Old-ECGIs::= SEQUENCE (SIZE (1..maxCellineNB)) OF ECGI
|
||||
|
||||
ServedCells ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF ServedCellItem
|
||||
|
||||
ServedCellItem ::= SEQUENCE {
|
||||
servedCellInfo ServedCell-Information,
|
||||
neighbour-Info Neighbour-Information OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {ServedCell-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ServedCell-Information ::= SEQUENCE {
|
||||
pCI PCI,
|
||||
cellId ECGI,
|
||||
tAC TAC,
|
||||
broadcastPLMNs BroadcastPLMNs-Item,
|
||||
eUTRA-Mode-Info EUTRA-Mode-Info,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {ServedCell-Information-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
ShortMAC-I ::= BIT STRING (SIZE(16))
|
||||
|
||||
SRVCCOperationPossible ::= ENUMERATED {
|
||||
possible,
|
||||
...
|
||||
}
|
||||
|
||||
SubframeAssignment ::= ENUMERATED {
|
||||
sa0,
|
||||
sa1,
|
||||
sa2,
|
||||
sa3,
|
||||
sa4,
|
||||
sa5,
|
||||
sa6,
|
||||
...
|
||||
}
|
||||
|
||||
SpecialSubframe-Info ::= SEQUENCE {
|
||||
specialSubframePatterns SpecialSubframePatterns,
|
||||
cyclicPrefixDL CyclicPrefixDL,
|
||||
cyclicPrefixUL CyclicPrefixUL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { SpecialSubframe-Info-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
SpecialSubframePatterns ::= ENUMERATED {
|
||||
ssp0,
|
||||
ssp1,
|
||||
ssp2,
|
||||
ssp3,
|
||||
ssp4,
|
||||
ssp5,
|
||||
ssp6,
|
||||
ssp7,
|
||||
ssp8,
|
||||
...
|
||||
}
|
||||
|
||||
SubscriberProfileIDforRFP ::= INTEGER (1..256)
|
||||
|
||||
SubframeAllocation ::= CHOICE {
|
||||
oneframe Oneframe,
|
||||
fourframes Fourframes,
|
||||
...
|
||||
}
|
||||
|
||||
-- T
|
||||
|
||||
TAC ::= OCTET STRING (SIZE (2))
|
||||
|
||||
TargeteNBtoSource-eNBTransparentContainer ::= OCTET STRING
|
||||
|
||||
|
||||
TimeToWait ::= ENUMERATED {
|
||||
v1s,
|
||||
v2s,
|
||||
v5s,
|
||||
v10s,
|
||||
v20s,
|
||||
v60s,
|
||||
...
|
||||
}
|
||||
|
||||
Time-UE-StayedInCell ::= INTEGER (0..4095)
|
||||
|
||||
|
||||
TraceActivation ::= SEQUENCE {
|
||||
eUTRANTraceID EUTRANTraceID,
|
||||
interfacesToTrace InterfacesToTrace,
|
||||
traceDepth TraceDepth,
|
||||
traceCollectionEntityIPAddress TraceCollectionEntityIPAddress,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
TraceCollectionEntityIPAddress ::= BIT STRING (SIZE(1..160, ...))
|
||||
|
||||
TraceDepth ::= ENUMERATED {
|
||||
minimum,
|
||||
medium,
|
||||
maximum,
|
||||
minimumWithoutVendorSpecificExtension,
|
||||
mediumWithoutVendorSpecificExtension,
|
||||
maximumWithoutVendorSpecificExtension,
|
||||
...
|
||||
}
|
||||
|
||||
Transmission-Bandwidth ::= ENUMERATED {
|
||||
bw6,
|
||||
bw15,
|
||||
bw25,
|
||||
bw50,
|
||||
bw75,
|
||||
bw100,
|
||||
...
|
||||
}
|
||||
|
||||
TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
|
||||
|
||||
TypeOfError ::= ENUMERATED {
|
||||
not-understood,
|
||||
missing,
|
||||
...
|
||||
}
|
||||
|
||||
-- U
|
||||
|
||||
UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item
|
||||
|
||||
|
||||
UE-S1AP-ID ::= INTEGER (0.. 4294967295)
|
||||
|
||||
UE-X2AP-ID ::= INTEGER (0..4095) -- Value FFS
|
||||
|
||||
UEAggregateMaximumBitRate ::= SEQUENCE {
|
||||
uEaggregateMaximumBitRateDownlink BitRate,
|
||||
uEaggregateMaximumBitRateUplink BitRate,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {UEAggregate-MaximumBitrate-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
UESecurityCapabilities ::= SEQUENCE {
|
||||
encryptionAlgorithms EncryptionAlgorithms,
|
||||
integrityProtectionAlgorithms IntegrityProtectionAlgorithms,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
UE-ContextInformation ::= SEQUENCE {
|
||||
mME-UE-S1AP-ID UE-S1AP-ID,
|
||||
uESecurityCapabilities UESecurityCapabilities,
|
||||
aS-SecurityInformation AS-SecurityInformation,
|
||||
uEaggregateMaximumBitRate UEAggregateMaximumBitRate,
|
||||
subscriberProfileIDforRFP SubscriberProfileIDforRFP OPTIONAL,
|
||||
e-RABs-ToBeSetup-List E-RABs-ToBeSetup-List,
|
||||
rRC-Context RRC-Context,
|
||||
handoverRestrictionList HandoverRestrictionList OPTIONAL,
|
||||
locationReportingInformation LocationReportingInformation OPTIONAL,
|
||||
-- iE-Extensions ProtocolExtensionContainer { {UE-ContextInformation-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
UL-InterferenceOverloadIndication ::= SEQUENCE (SIZE(1..maxnoofPRBs)) OF UL-InterferenceOverloadIndication-Item
|
||||
|
||||
UL-InterferenceOverloadIndication-Item ::= ENUMERATED {
|
||||
high-interference,
|
||||
medium-interference,
|
||||
low-interference,
|
||||
...
|
||||
}
|
||||
|
||||
UL-HighInterferenceIndicationInfo ::= SEQUENCE (SIZE(1..maxCellineNB)) OF UL-HighInterferenceIndicationInfo-Item
|
||||
|
||||
UL-HighInterferenceIndicationInfo-Item ::= SEQUENCE {
|
||||
target-Cell-ID ECGI,
|
||||
ul-interferenceindication UL-HighInterferenceIndication,
|
||||
-- iE-Extensions ProtocolExtensionContainer { { UL-HighInterferenceIndicationInfo-Item-ExtIEs} } OPTIONAL,
|
||||
iE-Extensions IE-Extensions OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
UL-HighInterferenceIndication ::= BIT STRING (SIZE(1..110, ...))
|
||||
|
||||
UE-RLF-Report-Container::= OCTET STRING
|
||||
-- This IE is a transparent container and shall be encoded as the rlfReport field contained in the UEInformationResponse message as defined in TS 36.331 [9]
|
||||
|
||||
-- V
|
||||
-- W
|
||||
-- X
|
||||
-- Y
|
||||
-- Z
|
||||
|
||||
END
|
||||
@@ -1,951 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PDU definitions for X2AP.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PDU-Contents {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Contents (1) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
|
||||
AS-SecurityInformation,
|
||||
Cause,
|
||||
CompositeAvailableCapacityGroup,
|
||||
COUNTvalue,
|
||||
CriticalityDiagnostics,
|
||||
CRNTI,
|
||||
DeactivationIndication,
|
||||
DL-Forwarding,
|
||||
ECGI,
|
||||
E-RAB-ID,
|
||||
E-RAB-Level-QoS-Parameters,
|
||||
E-RAB-List,
|
||||
EUTRANTraceID,
|
||||
GlobalENB-ID,
|
||||
GTPtunnelEndpoint,
|
||||
GUGroupIDList,
|
||||
GUMMEI,
|
||||
HandoverReportType,
|
||||
HandoverRestrictionList,
|
||||
LocationReportingInformation,
|
||||
Neighbour-Information,
|
||||
PCI,
|
||||
PDCP-SN,
|
||||
PLMN-Identity,
|
||||
ReceiveStatusofULPDCPSDUs,
|
||||
Registration-Request,
|
||||
RelativeNarrowbandTxPower,
|
||||
RadioResourceStatus,
|
||||
UE-RLF-Report-Container,
|
||||
RRC-Context,
|
||||
ServedCell-Information,
|
||||
ServedCells,
|
||||
ShortMAC-I,
|
||||
SRVCCOperationPossible,
|
||||
SubscriberProfileIDforRFP,
|
||||
TargeteNBtoSource-eNBTransparentContainer,
|
||||
TimeToWait,
|
||||
TraceActivation,
|
||||
TraceDepth,
|
||||
|
||||
TransportLayerAddress,
|
||||
UEAggregateMaximumBitRate,
|
||||
UE-HistoryInformation,
|
||||
UE-S1AP-ID,
|
||||
UESecurityCapabilities,
|
||||
UE-X2AP-ID,
|
||||
UL-HighInterferenceIndicationInfo,
|
||||
UL-InterferenceOverloadIndication,
|
||||
HWLoadIndicator,
|
||||
S1TNLLoadIndicator,
|
||||
Measurement-ID,
|
||||
ReportCharacteristics,
|
||||
MobilityParametersInformation,
|
||||
MobilityParametersModificationRange
|
||||
|
||||
|
||||
|
||||
|
||||
FROM X2AP-IEs
|
||||
|
||||
PrivateIE-Container{},
|
||||
ProtocolExtensionContainer{},
|
||||
ProtocolIE-Container{},
|
||||
ProtocolIE-ContainerList{},
|
||||
ProtocolIE-ContainerPair{},
|
||||
ProtocolIE-ContainerPairList{},
|
||||
ProtocolIE-Single-Container{},
|
||||
X2AP-PRIVATE-IES,
|
||||
X2AP-PROTOCOL-EXTENSION,
|
||||
X2AP-PROTOCOL-IES,
|
||||
X2AP-PROTOCOL-IES-PAIR
|
||||
FROM X2AP-Containers
|
||||
|
||||
|
||||
id-ActivatedCellList,
|
||||
id-Cause,
|
||||
id-CellInformation,
|
||||
id-CellInformation-Item,
|
||||
id-CellMeasurementResult,
|
||||
id-CellMeasurementResult-Item,
|
||||
id-CellToReport,
|
||||
id-CellToReport-Item,
|
||||
id-CompositeAvailableCapacityGroup,
|
||||
id-CriticalityDiagnostics,
|
||||
id-DeactivationIndication,
|
||||
id-E-RABs-Admitted-Item,
|
||||
id-E-RABs-Admitted-List,
|
||||
id-E-RABs-NotAdmitted-List,
|
||||
id-E-RABs-SubjectToStatusTransfer-List,
|
||||
id-E-RABs-SubjectToStatusTransfer-Item,
|
||||
id-E-RABs-ToBeSetup-Item,
|
||||
id-GlobalENB-ID,
|
||||
id-GUGroupIDList,
|
||||
id-GUGroupIDToAddList,
|
||||
id-GUGroupIDToDeleteList,
|
||||
id-GUMMEI-ID,
|
||||
id-New-eNB-UE-X2AP-ID,
|
||||
id-Old-eNB-UE-X2AP-ID,
|
||||
id-Registration-Request,
|
||||
id-ReportingPeriodicity,
|
||||
id-ServedCells,
|
||||
id-ServedCellsToActivate,
|
||||
id-ServedCellsToAdd,
|
||||
id-ServedCellsToModify,
|
||||
id-ServedCellsToDelete,
|
||||
id-SRVCCOperationPossible,
|
||||
id-TargetCell-ID,
|
||||
id-TargeteNBtoSource-eNBTransparentContainer,
|
||||
id-TimeToWait,
|
||||
id-TraceActivation,
|
||||
id-UE-ContextInformation,
|
||||
id-UE-HistoryInformation,
|
||||
id-UE-X2AP-ID,
|
||||
id-Measurement-ID,
|
||||
id-ReportCharacteristics,
|
||||
id-ENB1-Measurement-ID,
|
||||
id-ENB2-Measurement-ID,
|
||||
id-ENB1-Cell-ID,
|
||||
id-ENB2-Cell-ID,
|
||||
id-ENB2-Proposed-Mobility-Parameters,
|
||||
id-ENB1-Mobility-Parameters,
|
||||
id-ENB2-Mobility-Parameters-Modification-Range,
|
||||
id-FailureCellPCI,
|
||||
id-Re-establishmentCellECGI,
|
||||
id-FailureCellCRNTI,
|
||||
id-ShortMAC-I,
|
||||
id-SourceCellECGI,
|
||||
id-FailureCellECGI,
|
||||
id-HandoverReportType,
|
||||
id-UE-RLF-Report-Container,
|
||||
|
||||
|
||||
maxCellineNB,
|
||||
maxnoofBearers,
|
||||
maxnoofPDCP-SN
|
||||
|
||||
FROM X2AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
HandoverRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{HandoverRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory } |
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } |
|
||||
{ ID id-TargetCell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory } |
|
||||
{ ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE mandatory } |
|
||||
{ ID id-UE-ContextInformation CRITICALITY reject TYPE UE-ContextInformation PRESENCE mandatory } |
|
||||
{ ID id-UE-HistoryInformation CRITICALITY ignore TYPE UE-HistoryInformation PRESENCE mandatory } |
|
||||
{ ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional } |
|
||||
{ ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
UE-ContextInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
E-RABs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeSetup-ItemIEs} }
|
||||
|
||||
E-RABs-ToBeSetup-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-E-RABs-ToBeSetup-Item CRITICALITY ignore TYPE E-RABs-ToBeSetup-Item PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
E-RABs-ToBeSetup-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER REQUEST ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{HandoverRequestAcknowledge-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-E-RABs-Admitted-List CRITICALITY ignore TYPE E-RABs-Admitted-List PRESENCE mandatory} |
|
||||
{ ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE E-RAB-List PRESENCE optional} |
|
||||
{ ID id-TargeteNBtoSource-eNBTransparentContainer CRITICALITY ignore TYPE TargeteNBtoSource-eNBTransparentContainer PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
E-RAB-List ::= SEQUENCE (SIZE(1.. maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RAB-ItemIEs} }
|
||||
|
||||
E-RABs-Admitted-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ItemIEs} }
|
||||
|
||||
E-RABs-Admitted-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-E-RABs-Admitted-Item CRITICALITY ignore TYPE E-RABs-Admitted-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
E-RABs-Admitted-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER PREPARATION FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
HandoverPreparationFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{HandoverPreparationFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
HandoverPreparationFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Handover Report
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
HandoverReport ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{HandoverReport-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
HandoverReport-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-HandoverReportType CRITICALITY ignore TYPE HandoverReportType PRESENCE mandatory}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
|
||||
{ ID id-SourceCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
|
||||
{ ID id-FailureCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory} |
|
||||
{ ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to “HO to Wrong Cell” -- ,
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- SN Status Transfer
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
SNStatusTransfer ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{SNStatusTransfer-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
SNStatusTransfer-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-E-RABs-SubjectToStatusTransfer-List CRITICALITY ignore TYPE E-RABs-SubjectToStatusTransfer-List PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABs-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { { E-RABs-SubjectToStatusTransfer-ItemIEs} }
|
||||
|
||||
E-RABs-SubjectToStatusTransfer-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-E-RABs-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE E-RABs-SubjectToStatusTransfer-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
E-RABs-SubjectToStatusTransfer-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Release
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextRelease ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{UEContextRelease-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
UEContextRelease-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER CANCEL
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
HandoverCancel ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{HandoverCancel-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancel-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional} |
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ERROR INDICATION
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ErrorIndication ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ErrorIndication-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE UE-X2AP-ID PRESENCE optional} |
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional} |
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional} ,
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Reset Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ResetRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ResetRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ResetRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Reset Response
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ResetResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ResetResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ResetResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- X2 SETUP REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2SetupRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2SetupRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory} |
|
||||
{ ID id-ServedCells CRITICALITY reject TYPE ServedCells PRESENCE mandatory} |
|
||||
{ ID id-GUGroupIDList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- X2 SETUP RESPONSE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2SetupResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2SetupResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-GlobalENB-ID CRITICALITY reject TYPE GlobalENB-ID PRESENCE mandatory} |
|
||||
{ ID id-ServedCells CRITICALITY reject TYPE ServedCells PRESENCE mandatory} |
|
||||
{ ID id-GUGroupIDList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional}|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- X2 SETUP FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2SetupFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2SetupFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupFailure-IEs X2AP-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 },
|
||||
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- LOAD INFORMATION
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
LoadInformation ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{LoadInformation-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
LoadInformation-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellInformation CRITICALITY ignore TYPE CellInformation-List PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
CellInformation-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellInformation-ItemIEs} }
|
||||
|
||||
CellInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellInformation-Item CRITICALITY ignore TYPE CellInformation-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
CellInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ENB CONFIGURATION UPDATE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ENBConfigurationUpdate ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ENBConfigurationUpdate-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdate-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ServedCellsToAdd CRITICALITY reject TYPE ServedCells PRESENCE optional} |
|
||||
{ ID id-ServedCellsToModify CRITICALITY reject TYPE ServedCellsToModify PRESENCE optional} |
|
||||
{ ID id-ServedCellsToDelete CRITICALITY reject TYPE Old-ECGIs PRESENCE optional} |
|
||||
{ ID id-GUGroupIDToAddList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional} |
|
||||
{ ID id-GUGroupIDToDeleteList CRITICALITY reject TYPE GUGroupIDList PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
ServedCellsToModify::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToModify-Item
|
||||
|
||||
ServedCellsToModify-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
{ ID id-DeactivationIndication CRITICALITY ignore EXTENSION DeactivationIndication PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ENB CONFIGURATION UPDATE ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ENBConfigurationUpdateAcknowledge-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ENB CONFIGURATION UPDATE FAIURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ENBConfigurationUpdateFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateFailure-IEs X2AP-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 },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ResourceStatusRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ResourceStatusRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY ignore TYPE Measurement-ID PRESENCE conditional}|-- The IE shall be present if the Registration Request IE is set to “Stop”--
|
||||
{ ID id-Registration-Request CRITICALITY reject TYPE Registration-Request PRESENCE mandatory} |
|
||||
{ ID id-ReportCharacteristics CRITICALITY reject TYPE ReportCharacteristics PRESENCE optional} |
|
||||
{ ID id-CellToReport CRITICALITY ignore TYPE CellToReport-List PRESENCE mandatory} |
|
||||
{ ID id-ReportingPeriodicity CRITICALITY ignore TYPE ReportingPeriodicity PRESENCE optional} ,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
CellToReport-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellToReport-ItemIEs} }
|
||||
|
||||
CellToReport-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellToReport-Item CRITICALITY ignore TYPE CellToReport-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
CellToReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Response
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ResourceStatusResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ResourceStatusResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Failure
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ResourceStatusFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ResourceStatusFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Update
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ResourceStatusUpdate ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ResourceStatusUpdate-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusUpdate-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY reject TYPE Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-CellMeasurementResult CRITICALITY ignore TYPE CellMeasurementResult-List PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
CellMeasurementResult-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellMeasurementResult-ItemIEs} }
|
||||
|
||||
CellMeasurementResult-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellMeasurementResult-Item CRITICALITY ignore TYPE CellMeasurementResult-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
CellMeasurementResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
{
|
||||
ID id-CompositeAvailableCapacityGroup CRITICALITY ignore EXTENSION CompositeAvailableCapacityGroup PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PRIVATE MESSAGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateMessage ::= SEQUENCE {
|
||||
privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
PrivateMessage-IEs X2AP-PRIVATE-IES ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- MOBILITY CHANGE REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
MobilityChangeRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{MobilityChangeRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
MobilityChangeRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB1-Mobility-Parameters CRITICALITY ignore TYPE MobilityParametersInformation PRESENCE optional }|
|
||||
{ ID id-ENB2-Proposed-Mobility-Parameters CRITICALITY reject TYPE MobilityParametersInformation PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- MOBILITY CHANGE ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
MobilityChangeAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{MobilityChangeAcknowledge-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
MobilityChangeAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- MOBILITY CHANGE FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
MobilityChangeFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{MobilityChangeFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
MobilityChangeFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Cell-ID CRITICALITY ignore TYPE ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Cell-ID CRITICALITY ignore TYPE ECGI PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Mobility-Parameters-Modification-Range CRITICALITY ignore TYPE MobilityParametersModificationRange PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Radio Link Failure Indication
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
RLFIndication ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{RLFIndication-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
RLFIndication-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-FailureCellPCI CRITICALITY ignore TYPE PCI PRESENCE mandatory}|
|
||||
{ ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
|
||||
{ ID id-FailureCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE mandatory}|
|
||||
{ ID id-ShortMAC-I CRITICALITY ignore TYPE ShortMAC-I PRESENCE optional}|
|
||||
{ ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE UE-RLF-Report-Container PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Cell Activation Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
CellActivationRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{CellActivationRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
CellActivationRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ServedCellsToActivate CRITICALITY reject TYPE ServedCellsToActivate PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
ServedCellsToActivate::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToActivate-Item
|
||||
|
||||
ServedCellsToActivate-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Cell Activation Response
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
CellActivationResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{CellActivationResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
CellActivationResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ActivatedCellList CRITICALITY ignore TYPE ActivatedCellList PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
ActivatedCellList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
--**************************************************************
|
||||
--
|
||||
-- CELL ACTIVATION FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
CellActivationFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{CellActivationFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
CellActivationFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
AS-SecurityInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
AllocationAndRetentionPriority-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
CellType-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
CompositeAvailableCapacityGroup-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
CompositeAvailableCapacity-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
COUNTvalue-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
CriticalityDiagnostics-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
CriticalityDiagnostics-IE-List-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
FDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
TDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
ECGI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
E-RAB-Level-QoS-Parameters-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
E-RAB-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
ForbiddenTAs-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
ForbiddenLAs-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
GBR-QosInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
GlobalENB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
GTPtunnelEndpoint-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
GU-Group-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
GUMMEI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRestrictionList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
HWLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
LastVisitedEUTRANCellInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
|
||||
...
|
||||
}
|
||||
|
||||
MBSFN-Subframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
Neighbour-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
PRACH-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
RelativeNarrowbandTxPower-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
RadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
S1TNLLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
ServedCell-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
SpecialSubframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
TraceActivation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
UEAggregate-MaximumBitrate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
UESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
UL-HighInterferenceIndicationInfo-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
E-RAB-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-E-RAB-Item CRITICALITY ignore TYPE E-RAB-Item PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
{ ID id-Number-of-Antennaports CRITICALITY ignore EXTENSION Number-of-Antennaports PRESENCE optional }|
|
||||
{ ID id-PRACH-Configuration CRITICALITY ignore EXTENSION PRACH-Configuration PRESENCE optional }|
|
||||
{ ID id-MBSFN-Subframe-Info CRITICALITY ignore EXTENSION MBSFN-Subframe-Infolist PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
END
|
||||
@@ -1,240 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Descriptions (0) }
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
IMPORTS
|
||||
Criticality,
|
||||
ProcedureCode
|
||||
FROM X2AP-CommonDataTypes
|
||||
CellActivationRequest,
|
||||
CellActivationResponse,
|
||||
CellActivationFailure,
|
||||
ENBConfigurationUpdate,
|
||||
ENBConfigurationUpdateAcknowledge,
|
||||
ENBConfigurationUpdateFailure,
|
||||
ErrorIndication,
|
||||
HandoverCancel,
|
||||
HandoverReport,
|
||||
HandoverPreparationFailure,
|
||||
HandoverRequest,
|
||||
HandoverRequestAcknowledge,
|
||||
LoadInformation,
|
||||
PrivateMessage,
|
||||
ResetRequest,
|
||||
ResetResponse,
|
||||
ResourceStatusFailure,
|
||||
ResourceStatusRequest,
|
||||
ResourceStatusResponse,
|
||||
ResourceStatusUpdate,
|
||||
RLFIndication,
|
||||
SNStatusTransfer,
|
||||
UEContextRelease,
|
||||
X2SetupFailure, X2SetupRequest,
|
||||
X2SetupResponse,
|
||||
MobilityChangeRequest,
|
||||
MobilityChangeAcknowledge,
|
||||
MobilityChangeFailure
|
||||
FROM X2AP-PDU-Contents
|
||||
id-cellActivation,
|
||||
id-eNBConfigurationUpdate,
|
||||
id-errorIndication,
|
||||
id-handoverCancel,
|
||||
id-handoverReport,
|
||||
id-handoverPreparation,
|
||||
id-loadIndication,
|
||||
id-privateMessage,
|
||||
id-reset,
|
||||
id-resourceStatusReporting,
|
||||
id-resourceStatusReportingInitiation,
|
||||
id-rLFIndication,
|
||||
id-snStatusTransfer,
|
||||
id-uEContextRelease,
|
||||
id-x2Setup,
|
||||
id-mobilitySettingsChange
|
||||
FROM X2AP-Constants;
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-ELEMENTARY-PROCEDURES X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
|
||||
...
|
||||
}
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverPreparation |
|
||||
reset |
|
||||
x2Setup |
|
||||
resourceStatusReportingInitiation |
|
||||
eNBConfigurationUpdate |
|
||||
mobilitySettingsChange |
|
||||
cellActivation ,
|
||||
...
|
||||
}
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
snStatusTransfer |
|
||||
uEContextRelease |
|
||||
handoverCancel |
|
||||
errorIndication |
|
||||
resourceStatusReporting |
|
||||
loadIndication |
|
||||
privateMessage |
|
||||
rLFIndication | handoverReport,
|
||||
...
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
handoverPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequest
|
||||
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
|
||||
PROCEDURE CODE id-handoverPreparation
|
||||
CRITICALITY reject
|
||||
}
|
||||
snStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE SNStatusTransfer
|
||||
PROCEDURE CODE id-snStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
uEContextRelease X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextRelease
|
||||
PROCEDURE CODE id-uEContextRelease
|
||||
CRITICALITY ignore
|
||||
}
|
||||
handoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverCancel
|
||||
PROCEDURE CODE id-handoverCancel
|
||||
CRITICALITY ignore
|
||||
}
|
||||
handoverReport X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverReport
|
||||
PROCEDURE CODE id-handoverReport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
errorIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-errorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
reset X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResetRequest
|
||||
SUCCESSFUL OUTCOME ResetResponse
|
||||
PROCEDURE CODE id-reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
x2Setup X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE X2SetupRequest
|
||||
SUCCESSFUL OUTCOME X2SetupResponse
|
||||
UNSUCCESSFUL OUTCOME X2SetupFailure
|
||||
PROCEDURE CODE id-x2Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
loadIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LoadInformation
|
||||
PROCEDURE CODE id-loadIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
eNBConfigurationUpdate X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-eNBConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
resourceStatusReportingInitiation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResourceStatusRequest
|
||||
SUCCESSFUL OUTCOME ResourceStatusResponse
|
||||
UNSUCCESSFUL OUTCOME ResourceStatusFailure
|
||||
PROCEDURE CODE id-resourceStatusReportingInitiation
|
||||
CRITICALITY reject
|
||||
}
|
||||
resourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResourceStatusUpdate
|
||||
PROCEDURE CODE id-resourceStatusReporting
|
||||
CRITICALITY ignore
|
||||
}
|
||||
rLFIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE RLFIndication
|
||||
PROCEDURE CODE id-rLFIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
privateMessage X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-privateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
mobilitySettingsChange X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MobilityChangeRequest
|
||||
SUCCESSFUL OUTCOME MobilityChangeAcknowledge
|
||||
UNSUCCESSFUL OUTCOME MobilityChangeFailure
|
||||
PROCEDURE CODE id-mobilitySettingsChange
|
||||
CRITICALITY reject
|
||||
}
|
||||
cellActivation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE CellActivationRequest
|
||||
SUCCESSFUL OUTCOME CellActivationResponse
|
||||
UNSUCCESSFUL OUTCOME CellActivationFailure
|
||||
PROCEDURE CODE id-cellActivation
|
||||
CRITICALITY reject
|
||||
}
|
||||
END
|
||||
@@ -1,241 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Descriptions (0) }
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
IMPORTS
|
||||
Criticality,
|
||||
ProcedureCode
|
||||
FROM X2AP-CommonDataTypes
|
||||
CellActivationRequest,
|
||||
CellActivationResponse,
|
||||
CellActivationFailure,
|
||||
ENBConfigurationUpdate,
|
||||
ENBConfigurationUpdateAcknowledge,
|
||||
ENBConfigurationUpdateFailure,
|
||||
ErrorIndication,
|
||||
HandoverCancel,
|
||||
HandoverReport,
|
||||
HandoverPreparationFailure,
|
||||
HandoverRequest,
|
||||
HandoverRequestAcknowledge,
|
||||
LoadInformation,
|
||||
PrivateMessage,
|
||||
ResetRequest,
|
||||
ResetResponse,
|
||||
ResourceStatusFailure,
|
||||
ResourceStatusRequest,
|
||||
ResourceStatusResponse,
|
||||
ResourceStatusUpdate,
|
||||
RLFIndication,
|
||||
SNStatusTransfer,
|
||||
UEContextRelease,
|
||||
X2SetupFailure, X2SetupRequest,
|
||||
X2SetupResponse,
|
||||
MobilityChangeRequest,
|
||||
MobilityChangeAcknowledge,
|
||||
MobilityChangeFailure
|
||||
FROM X2AP-PDU-Contents
|
||||
id-cellActivation,
|
||||
id-eNBConfigurationUpdate,
|
||||
id-errorIndication,
|
||||
id-handoverCancel,
|
||||
id-handoverReport,
|
||||
id-handoverPreparation,
|
||||
id-loadIndication,
|
||||
id-privateMessage,
|
||||
id-reset,
|
||||
id-resourceStatusReporting,
|
||||
id-resourceStatusReportingInitiation,
|
||||
id-rLFIndication,
|
||||
id-snStatusTransfer,
|
||||
id-uEContextRelease,
|
||||
id-x2Setup,
|
||||
id-mobilitySettingsChange
|
||||
FROM X2AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-ELEMENTARY-PROCEDURES X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
|
||||
...
|
||||
}
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverPreparation |
|
||||
reset |
|
||||
x2Setup |
|
||||
resourceStatusReportingInitiation |
|
||||
eNBConfigurationUpdate |
|
||||
mobilitySettingsChange |
|
||||
cellActivation ,
|
||||
...
|
||||
}
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
snStatusTransfer |
|
||||
uEContextRelease |
|
||||
handoverCancel |
|
||||
errorIndication |
|
||||
resourceStatusReporting |
|
||||
loadIndication |
|
||||
privateMessage |
|
||||
rLFIndication | handoverReport,
|
||||
...
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
handoverPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequest
|
||||
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
|
||||
PROCEDURE CODE id-handoverPreparation
|
||||
CRITICALITY reject
|
||||
}
|
||||
snStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE SNStatusTransfer
|
||||
PROCEDURE CODE id-snStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
uEContextRelease X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextRelease
|
||||
PROCEDURE CODE id-uEContextRelease
|
||||
CRITICALITY ignore
|
||||
}
|
||||
handoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverCancel
|
||||
PROCEDURE CODE id-handoverCancel
|
||||
CRITICALITY ignore
|
||||
}
|
||||
handoverReport X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverReport
|
||||
PROCEDURE CODE id-handoverReport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
errorIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-errorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
reset X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResetRequest
|
||||
SUCCESSFUL OUTCOME ResetResponse
|
||||
PROCEDURE CODE id-reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
x2Setup X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE X2SetupRequest
|
||||
SUCCESSFUL OUTCOME X2SetupResponse
|
||||
UNSUCCESSFUL OUTCOME X2SetupFailure
|
||||
PROCEDURE CODE id-x2Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
loadIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LoadInformation
|
||||
PROCEDURE CODE id-loadIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
eNBConfigurationUpdate X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-eNBConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
resourceStatusReportingInitiation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResourceStatusRequest
|
||||
SUCCESSFUL OUTCOME ResourceStatusResponse
|
||||
UNSUCCESSFUL OUTCOME ResourceStatusFailure
|
||||
PROCEDURE CODE id-resourceStatusReportingInitiation
|
||||
CRITICALITY reject
|
||||
}
|
||||
resourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResourceStatusUpdate
|
||||
PROCEDURE CODE id-resourceStatusReporting
|
||||
CRITICALITY ignore
|
||||
}
|
||||
rLFIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE RLFIndication
|
||||
PROCEDURE CODE id-rLFIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
privateMessage X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-privateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
mobilitySettingsChange X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MobilityChangeRequest
|
||||
SUCCESSFUL OUTCOME MobilityChangeAcknowledge
|
||||
UNSUCCESSFUL OUTCOME MobilityChangeFailure
|
||||
PROCEDURE CODE id-mobilitySettingsChange
|
||||
CRITICALITY reject
|
||||
}
|
||||
cellActivation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE CellActivationRequest
|
||||
SUCCESSFUL OUTCOME CellActivationResponse
|
||||
UNSUCCESSFUL OUTCOME CellActivationFailure
|
||||
PROCEDURE CODE id-cellActivation
|
||||
CRITICALITY reject
|
||||
}
|
||||
END
|
||||
@@ -1,199 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PDU definitions for X2AP.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU (1) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
maxProtocolIEs,
|
||||
Criticality,
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
FROM X2AP-CommonDataTypes;
|
||||
|
||||
IE ::= SEQUENCE {
|
||||
id ProtocolIE-ID,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
X2AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
HandoverRequest ::= SEQUENCE {
|
||||
handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverPreparationFailure ::= SEQUENCE {
|
||||
handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
SNStatusTransfer ::= SEQUENCE {
|
||||
snStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextRelease ::= SEQUENCE {
|
||||
ueContextRelease-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancel ::= SEQUENCE {
|
||||
handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverReport ::= SEQUENCE {
|
||||
handoverReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ErrorIndication ::= SEQUENCE {
|
||||
errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResetRequest ::= SEQUENCE {
|
||||
resetRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResetResponse ::= SEQUENCE {
|
||||
resetResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupRequest ::= SEQUENCE {
|
||||
x2SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupResponse ::= SEQUENCE {
|
||||
x2SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupFailure ::= SEQUENCE {
|
||||
x2SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LoadInformation ::= SEQUENCE {
|
||||
loadInformation-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdate ::= SEQUENCE {
|
||||
eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusRequest ::= SEQUENCE {
|
||||
resourceStatusRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusResponse ::= SEQUENCE {
|
||||
resourceStatusResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusFailure ::= SEQUENCE {
|
||||
resourceStatusFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResourceStatusUpdate ::= SEQUENCE {
|
||||
resourceStatusUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
RLFIndication ::= SEQUENCE {
|
||||
rlfIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PrivateMessage ::= SEQUENCE {
|
||||
privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MobilityChangeRequest ::= SEQUENCE {
|
||||
mobilityChangeRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MobilityChangeAcknowledge ::= SEQUENCE {
|
||||
mobilityChangeAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MobilityChangeFailure ::= SEQUENCE {
|
||||
mobilityChangeFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
CellActivationRequest ::= SEQUENCE {
|
||||
cellActivationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
CellActivationResponse ::= SEQUENCE {
|
||||
cellActivationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
CellActivationFailure ::= SEQUENCE {
|
||||
cellActivationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
END
|
||||
+2866
File diff suppressed because it is too large
Load Diff
@@ -1,462 +0,0 @@
|
||||
X2AP_ASN_MODULE_SOURCES= \
|
||||
X2ap-Criticality.c \
|
||||
X2ap-Presence.c \
|
||||
X2ap-PrivateIE-ID.c \
|
||||
X2ap-ProcedureCode.c \
|
||||
X2ap-ProtocolIE-ID.c \
|
||||
X2ap-TriggeringMessage.c \
|
||||
X2ap-IE-Extensions.c \
|
||||
X2ap-AS-SecurityInformation.c \
|
||||
X2ap-AllocationAndRetentionPriority.c \
|
||||
X2ap-ActivatedCellList.c \
|
||||
X2ap-ActivatedCellList-Item.c \
|
||||
X2ap-BitRate.c \
|
||||
X2ap-BroadcastPLMNs-Item.c \
|
||||
X2ap-CapacityValue.c \
|
||||
X2ap-CellCapacityClassValue.c \
|
||||
X2ap-CellToReport-List.c \
|
||||
X2ap-CellToReport-Item.c \
|
||||
X2ap-CellMeasurementResult-List.c \
|
||||
X2ap-CellMeasurementResult-Item.c \
|
||||
X2ap-ReportingPeriodicity.c \
|
||||
X2ap-Cause.c \
|
||||
X2ap-CauseMisc.c \
|
||||
X2ap-CauseProtocol.c \
|
||||
X2ap-CauseRadioNetwork.c \
|
||||
X2ap-CauseTransport.c \
|
||||
X2ap-Cell-Size.c \
|
||||
X2ap-CellInformation-List.c \
|
||||
X2ap-CellInformation-Item.c \
|
||||
X2ap-CellType.c \
|
||||
X2ap-CompositeAvailableCapacityGroup.c \
|
||||
X2ap-CompositeAvailableCapacity.c \
|
||||
X2ap-COUNTvalue.c \
|
||||
X2ap-CriticalityDiagnostics.c \
|
||||
X2ap-CriticalityDiagnostics-IE-List.c \
|
||||
X2ap-CriticalityDiagnostics-IE-Elm.c \
|
||||
X2ap-CRNTI.c \
|
||||
X2ap-CyclicPrefixDL.c \
|
||||
X2ap-CyclicPrefixUL.c \
|
||||
X2ap-DeactivationIndication.c \
|
||||
X2ap-DL-Forwarding.c \
|
||||
X2ap-E-RABs-Admitted-List.c \
|
||||
X2ap-E-RABs-Admitted-Item.c \
|
||||
X2ap-E-RABs-ToBeSetup-List.c \
|
||||
X2ap-E-RABs-ToBeSetup-Item.c \
|
||||
X2ap-E-RABs-SubjectToStatusTransfer-List.c \
|
||||
X2ap-E-RABs-SubjectToStatusTransfer-Item.c \
|
||||
X2ap-EARFCN.c \
|
||||
X2ap-FDD-Info.c \
|
||||
X2ap-TDD-Info.c \
|
||||
X2ap-EUTRA-Mode-Info.c \
|
||||
X2ap-ECGI.c \
|
||||
X2ap-ENB-ID.c \
|
||||
X2ap-EncryptionAlgorithms.c \
|
||||
X2ap-EPLMNs.c \
|
||||
X2ap-E-RAB-ID.c \
|
||||
X2ap-E-RAB-Level-QoS-Parameters.c \
|
||||
X2ap-E-RAB-List.c \
|
||||
X2ap-E-RAB-Item.c \
|
||||
X2ap-EUTRANCellIdentifier.c \
|
||||
X2ap-EUTRANTraceID.c \
|
||||
X2ap-EventType.c \
|
||||
X2ap-ForbiddenInterRATs.c \
|
||||
X2ap-ForbiddenTAs.c \
|
||||
X2ap-ForbiddenTAs-Item.c \
|
||||
X2ap-ForbiddenTACs.c \
|
||||
X2ap-ForbiddenLAs.c \
|
||||
X2ap-ForbiddenLAs-Item.c \
|
||||
X2ap-ForbiddenLACs.c \
|
||||
X2ap-Fourframes.c \
|
||||
X2ap-GBR-QosInformation.c \
|
||||
X2ap-GlobalENB-ID.c \
|
||||
X2ap-GTPtunnelEndpoint.c \
|
||||
X2ap-GTP-TEI.c \
|
||||
X2ap-GUGroupIDList.c \
|
||||
X2ap-GU-Group-ID.c \
|
||||
X2ap-GUMMEI.c \
|
||||
X2ap-HandoverReportType.c \
|
||||
X2ap-HandoverRestrictionList.c \
|
||||
X2ap-HFN.c \
|
||||
X2ap-HWLoadIndicator.c \
|
||||
X2ap-IntegrityProtectionAlgorithms.c \
|
||||
X2ap-InterfacesToTrace.c \
|
||||
X2ap-Key-eNodeB-Star.c \
|
||||
X2ap-LAC.c \
|
||||
X2ap-LastVisitedCell-Item.c \
|
||||
X2ap-LastVisitedEUTRANCellInformation.c \
|
||||
X2ap-LastVisitedUTRANCellInformation.c \
|
||||
X2ap-LastVisitedGERANCellInformation.c \
|
||||
X2ap-LoadIndicator.c \
|
||||
X2ap-LocationReportingInformation.c \
|
||||
X2ap-MME-Group-ID.c \
|
||||
X2ap-MME-Code.c \
|
||||
X2ap-Measurement-ID.c \
|
||||
X2ap-MBSFN-Subframe-Infolist.c \
|
||||
X2ap-MBSFN-Subframe-Info.c \
|
||||
X2ap-MobilityParametersModificationRange.c \
|
||||
X2ap-MobilityParametersInformation.c \
|
||||
X2ap-Neighbour-Information.c \
|
||||
X2ap-Neighbour-Information-Elm.c \
|
||||
X2ap-NextHopChainingCount.c \
|
||||
X2ap-Number-of-Antennaports.c \
|
||||
X2ap-Oneframe.c \
|
||||
X2ap-PDCP-SN.c \
|
||||
X2ap-PCI.c \
|
||||
X2ap-PLMN-Identity.c \
|
||||
X2ap-PRACH-Configuration.c \
|
||||
X2ap-Pre-emptionCapability.c \
|
||||
X2ap-Pre-emptionVulnerability.c \
|
||||
X2ap-PriorityLevel.c \
|
||||
X2ap-QCI.c \
|
||||
X2ap-ReceiveStatusofULPDCPSDUs.c \
|
||||
X2ap-Registration-Request.c \
|
||||
X2ap-RelativeNarrowbandTxPower.c \
|
||||
X2ap-ReportArea.c \
|
||||
X2ap-ReportCharacteristics.c \
|
||||
X2ap-RNTP-Threshold.c \
|
||||
X2ap-RRC-Context.c \
|
||||
X2ap-RadioResourceStatus.c \
|
||||
X2ap-DL-GBR-PRB-usage.c \
|
||||
X2ap-UL-GBR-PRB-usage.c \
|
||||
X2ap-DL-non-GBR-PRB-usage.c \
|
||||
X2ap-UL-non-GBR-PRB-usage.c \
|
||||
X2ap-DL-Total-PRB-usage.c \
|
||||
X2ap-UL-Total-PRB-usage.c \
|
||||
X2ap-RadioframeAllocationPeriod.c \
|
||||
X2ap-RadioframeAllocationOffset.c \
|
||||
X2ap-S1TNLLoadIndicator.c \
|
||||
X2ap-ServedCellsToActivate.c \
|
||||
X2ap-ServedCellsToActivate-Item.c \
|
||||
X2ap-ServedCellsToModify.c \
|
||||
X2ap-ServedCellsToModify-Item.c \
|
||||
X2ap-Old-ECGIs.c \
|
||||
X2ap-ServedCells.c \
|
||||
X2ap-ServedCellItem.c \
|
||||
X2ap-ServedCell-Information.c \
|
||||
X2ap-ShortMAC-I.c \
|
||||
X2ap-SRVCCOperationPossible.c \
|
||||
X2ap-SubframeAssignment.c \
|
||||
X2ap-SpecialSubframe-Info.c \
|
||||
X2ap-SpecialSubframePatterns.c \
|
||||
X2ap-SubscriberProfileIDforRFP.c \
|
||||
X2ap-SubframeAllocation.c \
|
||||
X2ap-TAC.c \
|
||||
X2ap-TargeteNBtoSource-eNBTransparentContainer.c \
|
||||
X2ap-TimeToWait.c \
|
||||
X2ap-Time-UE-StayedInCell.c \
|
||||
X2ap-TraceActivation.c \
|
||||
X2ap-TraceCollectionEntityIPAddress.c \
|
||||
X2ap-TraceDepth.c \
|
||||
X2ap-Transmission-Bandwidth.c \
|
||||
X2ap-TransportLayerAddress.c \
|
||||
X2ap-TypeOfError.c \
|
||||
X2ap-UE-HistoryInformation.c \
|
||||
X2ap-UE-S1AP-ID.c \
|
||||
X2ap-UE-X2AP-ID.c \
|
||||
X2ap-UEAggregateMaximumBitRate.c \
|
||||
X2ap-UESecurityCapabilities.c \
|
||||
X2ap-UE-ContextInformation.c \
|
||||
X2ap-UL-InterferenceOverloadIndication.c \
|
||||
X2ap-UL-InterferenceOverloadIndication-Item.c \
|
||||
X2ap-UL-HighInterferenceIndicationInfo.c \
|
||||
X2ap-UL-HighInterferenceIndicationInfo-Item.c \
|
||||
X2ap-UL-HighInterferenceIndication.c \
|
||||
X2ap-UE-RLF-Report-Container.c \
|
||||
X2ap-IE.c \
|
||||
X2AP-PDU.c \
|
||||
X2ap-InitiatingMessage.c \
|
||||
X2ap-SuccessfulOutcome.c \
|
||||
X2ap-UnsuccessfulOutcome.c \
|
||||
X2ap-HandoverRequest.c \
|
||||
X2ap-HandoverRequestAcknowledge.c \
|
||||
X2ap-HandoverPreparationFailure.c \
|
||||
X2ap-SNStatusTransfer.c \
|
||||
X2ap-UEContextRelease.c \
|
||||
X2ap-HandoverCancel.c \
|
||||
X2ap-HandoverReport.c \
|
||||
X2ap-ErrorIndication.c \
|
||||
X2ap-ResetRequest.c \
|
||||
X2ap-ResetResponse.c \
|
||||
X2ap-X2SetupRequest.c \
|
||||
X2ap-X2SetupResponse.c \
|
||||
X2ap-X2SetupFailure.c \
|
||||
X2ap-LoadInformation.c \
|
||||
X2ap-ENBConfigurationUpdate.c \
|
||||
X2ap-ENBConfigurationUpdateAcknowledge.c \
|
||||
X2ap-ENBConfigurationUpdateFailure.c \
|
||||
X2ap-ResourceStatusRequest.c \
|
||||
X2ap-ResourceStatusResponse.c \
|
||||
X2ap-ResourceStatusFailure.c \
|
||||
X2ap-ResourceStatusUpdate.c \
|
||||
X2ap-RLFIndication.c \
|
||||
X2ap-PrivateMessage.c \
|
||||
X2ap-MobilityChangeRequest.c \
|
||||
X2ap-MobilityChangeAcknowledge.c \
|
||||
X2ap-MobilityChangeFailure.c \
|
||||
X2ap-CellActivationRequest.c \
|
||||
X2ap-CellActivationResponse.c \
|
||||
X2ap-CellActivationFailure.c
|
||||
|
||||
X2AP_ASN_MODULE_HEADERS= \
|
||||
X2ap-Criticality.h \
|
||||
X2ap-Presence.h \
|
||||
X2ap-PrivateIE-ID.h \
|
||||
X2ap-ProcedureCode.h \
|
||||
X2ap-ProtocolIE-ID.h \
|
||||
X2ap-TriggeringMessage.h \
|
||||
X2ap-IE-Extensions.h \
|
||||
X2ap-AS-SecurityInformation.h \
|
||||
X2ap-AllocationAndRetentionPriority.h \
|
||||
X2ap-ActivatedCellList.h \
|
||||
X2ap-ActivatedCellList-Item.h \
|
||||
X2ap-BitRate.h \
|
||||
X2ap-BroadcastPLMNs-Item.h \
|
||||
X2ap-CapacityValue.h \
|
||||
X2ap-CellCapacityClassValue.h \
|
||||
X2ap-CellToReport-List.h \
|
||||
X2ap-CellToReport-Item.h \
|
||||
X2ap-CellMeasurementResult-List.h \
|
||||
X2ap-CellMeasurementResult-Item.h \
|
||||
X2ap-ReportingPeriodicity.h \
|
||||
X2ap-Cause.h \
|
||||
X2ap-CauseMisc.h \
|
||||
X2ap-CauseProtocol.h \
|
||||
X2ap-CauseRadioNetwork.h \
|
||||
X2ap-CauseTransport.h \
|
||||
X2ap-Cell-Size.h \
|
||||
X2ap-CellInformation-List.h \
|
||||
X2ap-CellInformation-Item.h \
|
||||
X2ap-CellType.h \
|
||||
X2ap-CompositeAvailableCapacityGroup.h \
|
||||
X2ap-CompositeAvailableCapacity.h \
|
||||
X2ap-COUNTvalue.h \
|
||||
X2ap-CriticalityDiagnostics.h \
|
||||
X2ap-CriticalityDiagnostics-IE-List.h \
|
||||
X2ap-CriticalityDiagnostics-IE-Elm.h \
|
||||
X2ap-CRNTI.h \
|
||||
X2ap-CyclicPrefixDL.h \
|
||||
X2ap-CyclicPrefixUL.h \
|
||||
X2ap-DeactivationIndication.h \
|
||||
X2ap-DL-Forwarding.h \
|
||||
X2ap-E-RABs-Admitted-List.h \
|
||||
X2ap-E-RABs-Admitted-Item.h \
|
||||
X2ap-E-RABs-ToBeSetup-List.h \
|
||||
X2ap-E-RABs-ToBeSetup-Item.h \
|
||||
X2ap-E-RABs-SubjectToStatusTransfer-List.h \
|
||||
X2ap-E-RABs-SubjectToStatusTransfer-Item.h \
|
||||
X2ap-EARFCN.h \
|
||||
X2ap-FDD-Info.h \
|
||||
X2ap-TDD-Info.h \
|
||||
X2ap-EUTRA-Mode-Info.h \
|
||||
X2ap-ECGI.h \
|
||||
X2ap-ENB-ID.h \
|
||||
X2ap-EncryptionAlgorithms.h \
|
||||
X2ap-EPLMNs.h \
|
||||
X2ap-E-RAB-ID.h \
|
||||
X2ap-E-RAB-Level-QoS-Parameters.h \
|
||||
X2ap-E-RAB-List.h \
|
||||
X2ap-E-RAB-Item.h \
|
||||
X2ap-EUTRANCellIdentifier.h \
|
||||
X2ap-EUTRANTraceID.h \
|
||||
X2ap-EventType.h \
|
||||
X2ap-ForbiddenInterRATs.h \
|
||||
X2ap-ForbiddenTAs.h \
|
||||
X2ap-ForbiddenTAs-Item.h \
|
||||
X2ap-ForbiddenTACs.h \
|
||||
X2ap-ForbiddenLAs.h \
|
||||
X2ap-ForbiddenLAs-Item.h \
|
||||
X2ap-ForbiddenLACs.h \
|
||||
X2ap-Fourframes.h \
|
||||
X2ap-GBR-QosInformation.h \
|
||||
X2ap-GlobalENB-ID.h \
|
||||
X2ap-GTPtunnelEndpoint.h \
|
||||
X2ap-GTP-TEI.h \
|
||||
X2ap-GUGroupIDList.h \
|
||||
X2ap-GU-Group-ID.h \
|
||||
X2ap-GUMMEI.h \
|
||||
X2ap-HandoverReportType.h \
|
||||
X2ap-HandoverRestrictionList.h \
|
||||
X2ap-HFN.h \
|
||||
X2ap-HWLoadIndicator.h \
|
||||
X2ap-IntegrityProtectionAlgorithms.h \
|
||||
X2ap-InterfacesToTrace.h \
|
||||
X2ap-Key-eNodeB-Star.h \
|
||||
X2ap-LAC.h \
|
||||
X2ap-LastVisitedCell-Item.h \
|
||||
X2ap-LastVisitedEUTRANCellInformation.h \
|
||||
X2ap-LastVisitedUTRANCellInformation.h \
|
||||
X2ap-LastVisitedGERANCellInformation.h \
|
||||
X2ap-LoadIndicator.h \
|
||||
X2ap-LocationReportingInformation.h \
|
||||
X2ap-MME-Group-ID.h \
|
||||
X2ap-MME-Code.h \
|
||||
X2ap-Measurement-ID.h \
|
||||
X2ap-MBSFN-Subframe-Infolist.h \
|
||||
X2ap-MBSFN-Subframe-Info.h \
|
||||
X2ap-MobilityParametersModificationRange.h \
|
||||
X2ap-MobilityParametersInformation.h \
|
||||
X2ap-Neighbour-Information.h \
|
||||
X2ap-Neighbour-Information-Elm.h \
|
||||
X2ap-NextHopChainingCount.h \
|
||||
X2ap-Number-of-Antennaports.h \
|
||||
X2ap-Oneframe.h \
|
||||
X2ap-PDCP-SN.h \
|
||||
X2ap-PCI.h \
|
||||
X2ap-PLMN-Identity.h \
|
||||
X2ap-PRACH-Configuration.h \
|
||||
X2ap-Pre-emptionCapability.h \
|
||||
X2ap-Pre-emptionVulnerability.h \
|
||||
X2ap-PriorityLevel.h \
|
||||
X2ap-QCI.h \
|
||||
X2ap-ReceiveStatusofULPDCPSDUs.h \
|
||||
X2ap-Registration-Request.h \
|
||||
X2ap-RelativeNarrowbandTxPower.h \
|
||||
X2ap-ReportArea.h \
|
||||
X2ap-ReportCharacteristics.h \
|
||||
X2ap-RNTP-Threshold.h \
|
||||
X2ap-RRC-Context.h \
|
||||
X2ap-RadioResourceStatus.h \
|
||||
X2ap-DL-GBR-PRB-usage.h \
|
||||
X2ap-UL-GBR-PRB-usage.h \
|
||||
X2ap-DL-non-GBR-PRB-usage.h \
|
||||
X2ap-UL-non-GBR-PRB-usage.h \
|
||||
X2ap-DL-Total-PRB-usage.h \
|
||||
vUL-Total-PRB-usage.h \
|
||||
X2ap-RadioframeAllocationPeriod.h \
|
||||
X2ap-RadioframeAllocationOffset.h \
|
||||
X2ap-S1TNLLoadIndicator.h \
|
||||
X2ap-ServedCellsToActivate.h \
|
||||
X2ap-ServedCellsToActivate-Item.h \
|
||||
X2ap-ServedCellsToModify.h \
|
||||
X2ap-ServedCellsToModify-Item.h \
|
||||
X2ap-Old-ECGIs.h \
|
||||
X2ap-ServedCells.h \
|
||||
X2ap-ServedCellItem.h \
|
||||
X2ap-ServedCell-Information.h \
|
||||
X2ap-ShortMAC-I.h \
|
||||
X2ap-SRVCCOperationPossible.h \
|
||||
X2ap-SubframeAssignment.h \
|
||||
X2ap-SpecialSubframe-Info.h \
|
||||
X2ap-SpecialSubframePatterns.h \
|
||||
X2ap-SubscriberProfileIDforRFP.h \
|
||||
X2ap-SubframeAllocation.h \
|
||||
X2ap-TAC.h \
|
||||
X2ap-TargeteNBtoSource-eNBTransparentContainer.h \
|
||||
X2ap-TimeToWait.h \
|
||||
X2ap-Time-UE-StayedInCell.h \
|
||||
X2ap-TraceActivation.h \
|
||||
X2ap-TraceCollectionEntityIPAddress.h \
|
||||
X2ap-TraceDepth.h \
|
||||
X2ap-Transmission-Bandwidth.h \
|
||||
X2ap-TransportLayerAddress.h \
|
||||
X2ap-TypeOfError.h \
|
||||
X2ap-UE-HistoryInformation.h \
|
||||
X2ap-UE-S1AP-ID.h \
|
||||
X2ap-UE-X2AP-ID.h \
|
||||
X2ap-UEAggregateMaximumBitRate.h \
|
||||
X2ap-UESecurityCapabilities.h \
|
||||
X2ap-UE-ContextInformation.h \
|
||||
X2ap-UL-InterferenceOverloadIndication.h \
|
||||
X2ap-UL-InterferenceOverloadIndication-Item.h \
|
||||
X2ap-UL-HighInterferenceIndicationInfo.h \
|
||||
X2ap-UL-HighInterferenceIndicationInfo-Item.h \
|
||||
X2ap-UL-HighInterferenceIndication.h \
|
||||
X2ap-UE-RLF-Report-Container.h \
|
||||
X2ap-IE.h \
|
||||
X2ap-X2AP-PDU.h \
|
||||
X2ap-InitiatingMessage.h \
|
||||
X2ap-SuccessfulOutcome.h \
|
||||
X2ap-UnsuccessfulOutcome.h \
|
||||
X2ap-HandoverRequest.h \
|
||||
X2ap-HandoverRequestAcknowledge.h \
|
||||
X2ap-HandoverPreparationFailure.h \
|
||||
X2ap-SNStatusTransfer.h \
|
||||
X2ap-UEContextRelease.h \
|
||||
X2ap-HandoverCancel.h \
|
||||
X2ap-HandoverReport.h \
|
||||
X2ap-ErrorIndication.h \
|
||||
X2ap-ResetRequest.h \
|
||||
X2ap-ResetResponse.h \
|
||||
X2ap-X2SetupRequest.h \
|
||||
X2ap-X2SetupResponse.h \
|
||||
X2ap-X2SetupFailure.h \
|
||||
X2ap-LoadInformation.h \
|
||||
X2ap-ENBConfigurationUpdate.h \
|
||||
X2ap-ENBConfigurationUpdateAcknowledge.h \
|
||||
X2ap-ENBConfigurationUpdateFailure.h \
|
||||
X2ap-ResourceStatusRequest.h \
|
||||
X2ap-ResourceStatusResponse.h \
|
||||
X2ap-ResourceStatusFailure.h \
|
||||
X2ap-ResourceStatusUpdate.h \
|
||||
X2ap-RLFIndication.h \
|
||||
X2ap-PrivateMessage.h \
|
||||
X2ap-MobilityChangeRequest.h \
|
||||
X2ap-MobilityChangeAcknowledge.h \
|
||||
X2ap-MobilityChangeFailure.h \
|
||||
X2ap-CellActivationRequest.h \
|
||||
X2ap-CellActivationResponse.h \
|
||||
X2ap-CellActivationFailure.h
|
||||
|
||||
X2AP_ASN_MODULE_HEADERS+=ANY.h
|
||||
X2AP_ASN_MODULE_SOURCES+=ANY.o
|
||||
X2AP_ASN_MODULE_HEADERS+=BOOLEAN.h
|
||||
X2AP_ASN_MODULE_SOURCES+=BOOLEAN.o
|
||||
X2AP_ASN_MODULE_HEADERS+=INTEGER.h
|
||||
X2AP_ASN_MODULE_HEADERS+=NativeEnumerated.h
|
||||
X2AP_ASN_MODULE_SOURCES+=INTEGER.o
|
||||
X2AP_ASN_MODULE_HEADERS+=NULL.h
|
||||
X2AP_ASN_MODULE_SOURCES+=NULL.o
|
||||
X2AP_ASN_MODULE_SOURCES+=NativeEnumerated.o
|
||||
X2AP_ASN_MODULE_HEADERS+=NativeInteger.h
|
||||
X2AP_ASN_MODULE_SOURCES+=NativeInteger.o
|
||||
X2AP_ASN_MODULE_HEADERS+=OBJECT_IDENTIFIER.h
|
||||
X2AP_ASN_MODULE_SOURCES+=OBJECT_IDENTIFIER.o
|
||||
X2AP_ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
|
||||
X2AP_ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.o
|
||||
X2AP_ASN_MODULE_HEADERS+=asn_SET_OF.h
|
||||
X2AP_ASN_MODULE_SOURCES+=asn_SET_OF.o
|
||||
X2AP_ASN_MODULE_HEADERS+=constr_CHOICE.h
|
||||
X2AP_ASN_MODULE_SOURCES+=constr_CHOICE.o
|
||||
X2AP_ASN_MODULE_HEADERS+=constr_SEQUENCE.h
|
||||
X2AP_ASN_MODULE_SOURCES+=constr_SEQUENCE.o
|
||||
X2AP_ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
|
||||
X2AP_ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.o
|
||||
X2AP_ASN_MODULE_HEADERS+=constr_SET_OF.h
|
||||
X2AP_ASN_MODULE_SOURCES+=constr_SET_OF.o
|
||||
X2AP_ASN_MODULE_HEADERS+=asn_application.h
|
||||
X2AP_ASN_MODULE_HEADERS+=asn_system.h
|
||||
X2AP_ASN_MODULE_HEADERS+=asn_codecs.h
|
||||
X2AP_ASN_MODULE_HEADERS+=asn_internal.h
|
||||
X2AP_ASN_MODULE_HEADERS+=OCTET_STRING.h
|
||||
X2AP_ASN_MODULE_SOURCES+=OCTET_STRING.o
|
||||
X2AP_ASN_MODULE_HEADERS+=BIT_STRING.h
|
||||
X2AP_ASN_MODULE_SOURCES+=BIT_STRING.o
|
||||
X2AP_ASN_MODULE_SOURCES+=asn_codecs_prim.o
|
||||
X2AP_ASN_MODULE_HEADERS+=asn_codecs_prim.h
|
||||
X2AP_ASN_MODULE_HEADERS+=ber_tlv_length.h
|
||||
X2AP_ASN_MODULE_SOURCES+=ber_tlv_length.o
|
||||
X2AP_ASN_MODULE_HEADERS+=ber_tlv_tag.h
|
||||
X2AP_ASN_MODULE_SOURCES+=ber_tlv_tag.o
|
||||
X2AP_ASN_MODULE_HEADERS+=ber_decoder.h
|
||||
X2AP_ASN_MODULE_SOURCES+=ber_decoder.o
|
||||
X2AP_ASN_MODULE_HEADERS+=der_encoder.h
|
||||
X2AP_ASN_MODULE_SOURCES+=der_encoder.o
|
||||
X2AP_ASN_MODULE_HEADERS+=constr_TYPE.h
|
||||
X2AP_ASN_MODULE_SOURCES+=constr_TYPE.o
|
||||
X2AP_ASN_MODULE_HEADERS+=constraints.h
|
||||
X2AP_ASN_MODULE_SOURCES+=constraints.o
|
||||
X2AP_ASN_MODULE_HEADERS+=xer_support.h
|
||||
X2AP_ASN_MODULE_SOURCES+=xer_support.o
|
||||
X2AP_ASN_MODULE_HEADERS+=xer_decoder.h
|
||||
X2AP_ASN_MODULE_SOURCES+=xer_decoder.o
|
||||
X2AP_ASN_MODULE_HEADERS+=xer_encoder.h
|
||||
X2AP_ASN_MODULE_SOURCES+=xer_encoder.o
|
||||
X2AP_ASN_MODULE_HEADERS+=per_support.h
|
||||
X2AP_ASN_MODULE_SOURCES+=per_support.o
|
||||
X2AP_ASN_MODULE_HEADERS+=per_decoder.h
|
||||
X2AP_ASN_MODULE_SOURCES+=per_decoder.o
|
||||
X2AP_ASN_MODULE_HEADERS+=per_encoder.h
|
||||
X2AP_ASN_MODULE_SOURCES+=per_encoder.o
|
||||
X2AP_ASN_MODULE_HEADERS+=per_opentype.h
|
||||
X2AP_ASN_MODULE_SOURCES+=per_opentype.o
|
||||
@@ -1,142 +0,0 @@
|
||||
X2AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-CommonDataTypes (3) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
x2ap-maxPrivateIEs INTEGER ::= 65535
|
||||
x2ap-maxProtocolExtensions INTEGER ::= 65535
|
||||
x2ap-maxProtocolIEs INTEGER ::= 65535
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common Data Types
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-Criticality ::= ENUMERATED { reject, ignore, notify }
|
||||
|
||||
X2ap-Presence ::= ENUMERATED { optional, conditional, mandatory }
|
||||
|
||||
X2ap-PrivateIE-ID ::= CHOICE {
|
||||
local INTEGER (0.. x2ap-maxPrivateIEs),
|
||||
global OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
--X2ap-ProcedureCode ::= INTEGER (0..255)
|
||||
X2ap-ProcedureCode ::= INTEGER {
|
||||
id-handoverPreparation (0),
|
||||
id-handoverCancel (1),
|
||||
id-loadIndication (2),
|
||||
id-errorIndication (3),
|
||||
id-snStatusTransfer (4),
|
||||
id-uEContextRelease (5),
|
||||
id-x2Setup (6),
|
||||
id-reset (7),
|
||||
id-eNBConfigurationUpdate (8),
|
||||
id-resourceStatusReportingInitiation (9),
|
||||
id-resourceStatusReporting (10),
|
||||
id-privateMessage (11),
|
||||
id-mobilitySettingsChange (12),
|
||||
id-rLFIndication (13),
|
||||
id-handoverReport (14),
|
||||
id-cellActivation (15)
|
||||
} (0..255)
|
||||
|
||||
--X2ap-ProtocolIE-ID ::= INTEGER (0..x2ap-maxProtocolIEs)
|
||||
X2ap-ProtocolIE-ID ::= INTEGER {
|
||||
id-E-RABs-Admitted-Item (0),
|
||||
id-E-RABs-Admitted-List (1),
|
||||
id-E-RAB-Item (2),
|
||||
id-E-RABs-NotAdmitted-List (3),
|
||||
id-E-RABs-ToBeSetup-Item (4),
|
||||
id-Cause (5),
|
||||
id-CellInformation (6),
|
||||
id-CellInformation-Item (7),
|
||||
id-New-eNB-UE-X2AP-ID (9),
|
||||
id-Old-eNB-UE-X2AP-ID (10),
|
||||
id-TargetCell-ID (11),
|
||||
id-TargeteNBtoSource-eNBTransparentContainer (12),
|
||||
id-TraceActivation (13),
|
||||
id-UE-ContextInformation (14),
|
||||
id-UE-HistoryInformation (15),
|
||||
id-UE-X2AP-ID (16),
|
||||
id-CriticalityDiagnostics (17),
|
||||
id-E-RABs-SubjectToStatusTransfer-List (18),
|
||||
id-E-RABs-SubjectToStatusTransfer-Item (19),
|
||||
id-ServedCells (20),
|
||||
id-GlobalENB-ID (21),
|
||||
id-TimeToWait (22),
|
||||
id-GUMMEI-ID (23),
|
||||
id-GUGroupIDList (24),
|
||||
id-ServedCellsToAdd (25),
|
||||
id-ServedCellsToModify (26),
|
||||
id-ServedCellsToDelete (27),
|
||||
id-Registration-Request (28),
|
||||
id-CellToReport (29),
|
||||
id-ReportingPeriodicity (30),
|
||||
id-CellToReport-Item (31),
|
||||
id-CellMeasurementResult (32),
|
||||
id-CellMeasurementResult-Item (33),
|
||||
id-GUGroupIDToAddList (34),
|
||||
id-GUGroupIDToDeleteList (35),
|
||||
id-SRVCCOperationPossible (36),
|
||||
id-Measurement-ID (37),
|
||||
id-ReportCharacteristics (38),
|
||||
id-ENB1-Measurement-ID (39),
|
||||
id-ENB2-Measurement-ID (40),
|
||||
id-Number-of-Antennaports (41),
|
||||
id-CompositeAvailableCapacityGroup (42),
|
||||
id-ENB1-Cell-ID (43),
|
||||
id-ENB2-Cell-ID (44),
|
||||
id-ENB2-Proposed-Mobility-Parameters (45),
|
||||
id-ENB1-Mobility-Parameters (46),
|
||||
id-ENB2-Mobility-Parameters-Modification-Range (47),
|
||||
id-FailureCellPCI (48),
|
||||
id-Re-establishmentCellECGI (49),
|
||||
id-FailureCellCRNTI (50),
|
||||
id-ShortMAC-I (51),
|
||||
id-SourceCellECGI (52),
|
||||
id-FailureCellECGI (53),
|
||||
id-HandoverReportType (54),
|
||||
id-PRACH-Configuration (55),
|
||||
id-MBSFN-Subframe-Info (56),
|
||||
id-ServedCellsToActivate (57),
|
||||
id-ActivatedCellList (58),
|
||||
id-DeactivationIndication (59),
|
||||
id-UE-RLF-Report-Container (60),
|
||||
id-ABSInformation (61),
|
||||
id-InvokeIndication (62),
|
||||
id-ABS-Status (63),
|
||||
id-PartialSuccessIndicator (64),
|
||||
id-MeasurementInitiationResult-List (65),
|
||||
id-MeasurementInitiationResult-Item (66),
|
||||
id-MeasurementFailureCause-Item (67),
|
||||
id-CompleteFailureCauseInformation-List (68),
|
||||
id-CompleteFailureCauseInformation-Item (69),
|
||||
id-CSG-Id (70),
|
||||
id-CSGMembershipStatus (71),
|
||||
id-MDTConfiguration (72),
|
||||
id-ManagementBasedMDTallowed (74),
|
||||
id-RRCConnSetupIndicator (75),
|
||||
id-NeighbourTAC (76),
|
||||
id-Time-UE-StayedInCell-EnhancedGranularity (77),
|
||||
id-RRCConnReestabIndicator (78),
|
||||
id-MBMS-Service-Area-List (79),
|
||||
id-HO-cause (80),
|
||||
id-TargetCellInUTRAN (81),
|
||||
id-MultibandInfoList (84)
|
||||
} (0..x2ap-maxProtocolIEs)
|
||||
|
||||
|
||||
X2ap-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}
|
||||
|
||||
END
|
||||
@@ -1,162 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
X2ap-ProcedureCode,
|
||||
X2ap-ProtocolIE-ID
|
||||
FROM X2AP-CommonDataTypes;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-handoverPreparation X2ap-ProcedureCode ::= 0
|
||||
id-handoverCancel X2ap-ProcedureCode ::= 1
|
||||
id-loadIndication X2ap-ProcedureCode ::= 2
|
||||
id-errorIndication X2ap-ProcedureCode ::= 3
|
||||
id-snStatusTransfer X2ap-ProcedureCode ::= 4
|
||||
id-uEContextRelease X2ap-ProcedureCode ::= 5
|
||||
id-x2Setup X2ap-ProcedureCode ::= 6
|
||||
id-reset X2ap-ProcedureCode ::= 7
|
||||
id-eNBConfigurationUpdate X2ap-ProcedureCode ::= 8
|
||||
id-resourceStatusReportingInitiation X2ap-ProcedureCode ::= 9
|
||||
id-resourceStatusReporting X2ap-ProcedureCode ::= 10
|
||||
id-privateMessage X2ap-ProcedureCode ::= 11
|
||||
id-mobilitySettingsChange X2ap-ProcedureCode ::= 12
|
||||
id-rLFIndication X2ap-ProcedureCode ::= 13
|
||||
id-handoverReport X2ap-ProcedureCode ::= 14
|
||||
id-cellActivation X2ap-ProcedureCode ::= 15
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
x2ap-maxEARFCN INTEGER ::= 65535
|
||||
x2ap-maxInterfaces INTEGER ::= 16
|
||||
x2ap-maxCellineNB INTEGER ::= 256
|
||||
x2ap-maxnoofBands INTEGER ::= 16
|
||||
x2ap-maxnoofBearers INTEGER ::= 256
|
||||
x2ap-maxNrOfErrors INTEGER ::= 256
|
||||
x2ap-maxnoofPDCP-SN INTEGER ::= 16
|
||||
x2ap-maxnoofEPLMNs INTEGER ::= 15
|
||||
x2ap-maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
x2ap-maxnoofForbLACs INTEGER ::= 4096
|
||||
x2ap-maxnoofForbTACs INTEGER ::= 4096
|
||||
x2ap-maxnoofBPLMNs INTEGER ::= 6
|
||||
x2ap-maxnoofNeighbours INTEGER ::= 512
|
||||
x2ap-maxnoofPRBs INTEGER ::= 110
|
||||
x2ap-maxPools INTEGER ::= 16
|
||||
x2ap-maxnoofCells INTEGER ::= 16
|
||||
x2ap-maxnoofMBSFN INTEGER ::= 8
|
||||
x2ap-maxFailedMeasObjects INTEGER ::= 32
|
||||
x2ap-maxnoofCellIDforMDT INTEGER ::= 32
|
||||
x2ap-maxnoofTAforMDT INTEGER ::= 8
|
||||
x2ap-maxnoofMBMSServiceAreaIdentities INTEGER ::= 256
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-E-RABs-Admitted-Item X2ap-ProtocolIE-ID ::= 0
|
||||
id-E-RABs-Admitted-List X2ap-ProtocolIE-ID ::= 1
|
||||
id-E-RAB-Item X2ap-ProtocolIE-ID ::= 2
|
||||
id-E-RABs-NotAdmitted-List X2ap-ProtocolIE-ID ::= 3
|
||||
id-E-RABs-ToBeSetup-Item X2ap-ProtocolIE-ID ::= 4
|
||||
id-Cause X2ap-ProtocolIE-ID ::= 5
|
||||
id-CellInformation X2ap-ProtocolIE-ID ::= 6
|
||||
id-CellInformation-Item X2ap-ProtocolIE-ID ::= 7
|
||||
id-New-eNB-UE-X2AP-ID X2ap-ProtocolIE-ID ::= 9
|
||||
id-Old-eNB-UE-X2AP-ID X2ap-ProtocolIE-ID ::= 10
|
||||
id-TargetCell-ID X2ap-ProtocolIE-ID ::= 11
|
||||
id-TargeteNBtoSource-eNBTransparentContainer X2ap-ProtocolIE-ID ::= 12
|
||||
id-TraceActivation X2ap-ProtocolIE-ID ::= 13
|
||||
id-UE-ContextInformation X2ap-ProtocolIE-ID ::= 14
|
||||
id-UE-HistoryInformation X2ap-ProtocolIE-ID ::= 15
|
||||
id-UE-X2AP-ID X2ap-ProtocolIE-ID ::= 16
|
||||
id-CriticalityDiagnostics X2ap-ProtocolIE-ID ::= 17
|
||||
id-E-RABs-SubjectToStatusTransfer-List X2ap-ProtocolIE-ID ::= 18
|
||||
id-E-RABs-SubjectToStatusTransfer-Item X2ap-ProtocolIE-ID ::= 19
|
||||
id-ServedCells X2ap-ProtocolIE-ID ::= 20
|
||||
id-GlobalENB-ID X2ap-ProtocolIE-ID ::= 21
|
||||
id-TimeToWait X2ap-ProtocolIE-ID ::= 22
|
||||
id-GUMMEI-ID X2ap-ProtocolIE-ID ::= 23
|
||||
id-GUGroupIDList X2ap-ProtocolIE-ID ::= 24
|
||||
id-ServedCellsToAdd X2ap-ProtocolIE-ID ::= 25
|
||||
id-ServedCellsToModify X2ap-ProtocolIE-ID ::= 26
|
||||
id-ServedCellsToDelete X2ap-ProtocolIE-ID ::= 27
|
||||
id-Registration-Request X2ap-ProtocolIE-ID ::= 28
|
||||
id-CellToReport X2ap-ProtocolIE-ID ::= 29
|
||||
id-ReportingPeriodicity X2ap-ProtocolIE-ID ::= 30
|
||||
id-CellToReport-Item X2ap-ProtocolIE-ID ::= 31
|
||||
id-CellMeasurementResult X2ap-ProtocolIE-ID ::= 32
|
||||
id-CellMeasurementResult-Item X2ap-ProtocolIE-ID ::= 33
|
||||
id-GUGroupIDToAddList X2ap-ProtocolIE-ID ::= 34
|
||||
id-GUGroupIDToDeleteList X2ap-ProtocolIE-ID ::= 35
|
||||
id-SRVCCOperationPossible X2ap-ProtocolIE-ID ::= 36
|
||||
id-Measurement-ID X2ap-ProtocolIE-ID ::= 37
|
||||
id-ReportCharacteristics X2ap-ProtocolIE-ID ::= 38
|
||||
id-ENB1-Measurement-ID X2ap-ProtocolIE-ID ::= 39
|
||||
id-ENB2-Measurement-ID X2ap-ProtocolIE-ID ::= 40
|
||||
id-Number-of-Antennaports X2ap-ProtocolIE-ID ::= 41
|
||||
id-CompositeAvailableCapacityGroup X2ap-ProtocolIE-ID ::= 42
|
||||
id-ENB1-Cell-ID X2ap-ProtocolIE-ID ::= 43
|
||||
id-ENB2-Cell-ID X2ap-ProtocolIE-ID ::= 44
|
||||
id-ENB2-Proposed-Mobility-Parameters X2ap-ProtocolIE-ID ::= 45
|
||||
id-ENB1-Mobility-Parameters X2ap-ProtocolIE-ID ::= 46
|
||||
id-ENB2-Mobility-Parameters-Modification-Range X2ap-ProtocolIE-ID ::= 47
|
||||
id-FailureCellPCI X2ap-ProtocolIE-ID ::= 48
|
||||
id-Re-establishmentCellECGI X2ap-ProtocolIE-ID ::= 49
|
||||
id-FailureCellCRNTI X2ap-ProtocolIE-ID ::= 50
|
||||
id-ShortMAC-I X2ap-ProtocolIE-ID ::= 51
|
||||
id-SourceCellECGI X2ap-ProtocolIE-ID ::= 52
|
||||
id-FailureCellECGI X2ap-ProtocolIE-ID ::= 53
|
||||
id-HandoverReportType X2ap-ProtocolIE-ID ::= 54
|
||||
id-PRACH-Configuration X2ap-ProtocolIE-ID ::= 55
|
||||
id-MBSFN-Subframe-Info X2ap-ProtocolIE-ID ::= 56
|
||||
id-ServedCellsToActivate X2ap-ProtocolIE-ID ::= 57
|
||||
id-ActivatedCellList X2ap-ProtocolIE-ID ::= 58
|
||||
id-DeactivationIndication X2ap-ProtocolIE-ID ::= 59
|
||||
id-UE-RLF-Report-Container X2ap-ProtocolIE-ID ::= 60
|
||||
id-ABSInformation X2ap-ProtocolIE-ID ::= 61
|
||||
id-InvokeIndication X2ap-ProtocolIE-ID ::= 62
|
||||
id-ABS-Status X2ap-ProtocolIE-ID ::= 63
|
||||
id-PartialSuccessIndicator X2ap-ProtocolIE-ID ::= 64
|
||||
id-MeasurementInitiationResult-List X2ap-ProtocolIE-ID ::= 65
|
||||
id-MeasurementInitiationResult-Item X2ap-ProtocolIE-ID ::= 66
|
||||
id-MeasurementFailureCause-Item X2ap-ProtocolIE-ID ::= 67
|
||||
id-CompleteFailureCauseInformation-List X2ap-ProtocolIE-ID ::= 68
|
||||
id-CompleteFailureCauseInformation-Item X2ap-ProtocolIE-ID ::= 69
|
||||
id-CSG-Id X2ap-ProtocolIE-ID ::= 70
|
||||
id-CSGMembershipStatus X2ap-ProtocolIE-ID ::= 71
|
||||
id-MDTConfiguration X2ap-ProtocolIE-ID ::= 72
|
||||
id-ManagementBasedMDTallowed X2ap-ProtocolIE-ID ::= 74
|
||||
id-RRCConnSetupIndicator X2ap-ProtocolIE-ID ::= 75
|
||||
id-NeighbourTAC X2ap-ProtocolIE-ID ::= 76
|
||||
id-Time-UE-StayedInCell-EnhancedGranularity X2ap-ProtocolIE-ID ::= 77
|
||||
id-RRCConnReestabIndicator X2ap-ProtocolIE-ID ::= 78
|
||||
id-MBMS-Service-Area-List X2ap-ProtocolIE-ID ::= 79
|
||||
id-HO-cause X2ap-ProtocolIE-ID ::= 80
|
||||
id-TargetCellInUTRAN X2ap-ProtocolIE-ID ::= 81
|
||||
id-MultibandInfoList X2ap-ProtocolIE-ID ::= 84
|
||||
|
||||
END
|
||||
@@ -1,195 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-Containers {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Containers (5) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
x2ap-maxPrivateIEs,
|
||||
x2ap-maxProtocolExtensions,
|
||||
x2ap-maxProtocolIEs,
|
||||
X2ap-Criticality,
|
||||
X2ap-Presence,
|
||||
X2ap-PrivateIE-ID,
|
||||
X2ap-ProtocolIE-ID
|
||||
FROM X2AP-CommonDataTypes;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PROTOCOL-IES ::= CLASS {
|
||||
&id X2ap-ProtocolIE-ID UNIQUE,
|
||||
&criticality X2ap-Criticality,
|
||||
&Value,
|
||||
&presence X2ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PROTOCOL-IES-PAIR ::= CLASS {
|
||||
&id X2ap-ProtocolIE-ID UNIQUE,
|
||||
&firstCriticality X2ap-Criticality,
|
||||
&FirstValue,
|
||||
&secondCriticality X2ap-Criticality,
|
||||
&SecondValue,
|
||||
&presence X2ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
FIRST CRITICALITY &firstCriticality
|
||||
FIRST TYPE &FirstValue
|
||||
SECOND CRITICALITY &secondCriticality
|
||||
SECOND TYPE &SecondValue
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PROTOCOL-EXTENSION ::= CLASS {
|
||||
&id X2ap-ProtocolIE-ID UNIQUE,
|
||||
&criticality X2ap-Criticality,
|
||||
&Extension,
|
||||
&presence X2ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
EXTENSION &Extension
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PRIVATE-IES ::= CLASS {
|
||||
&id X2ap-PrivateIE-ID,
|
||||
&criticality X2ap-Criticality,
|
||||
&Value,
|
||||
&presence X2ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Single-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Field {X2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id X2AP-PROTOCOL-IES.&id ({IEsSetParam}),
|
||||
criticality X2AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value X2AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IE Pairs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF
|
||||
ProtocolIE-FieldPair {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-FieldPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
|
||||
id X2AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
|
||||
firstCriticality X2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
|
||||
firstValue X2AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
|
||||
secondCriticality X2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
|
||||
secondValue X2AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container Lists for Protocol IE Containers
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-Container {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolExtensionContainer {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
|
||||
SEQUENCE (SIZE (1..x2ap-maxProtocolExtensions)) OF
|
||||
ProtocolExtensionField {{ExtensionSetParam}}
|
||||
|
||||
ProtocolExtensionField {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
|
||||
id X2AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
|
||||
criticality X2AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
|
||||
extensionValue X2AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateIE-Container {X2AP-PRIVATE-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (1..x2ap-maxPrivateIEs)) OF
|
||||
PrivateIE-Field {{IEsSetParam}}
|
||||
|
||||
PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id X2AP-PRIVATE-IES.&id ({IEsSetParam}),
|
||||
criticality X2AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value X2AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
END
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,892 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PDU definitions for X2AP.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PDU-Contents {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Contents (1) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
X2ap-ABSInformation,
|
||||
X2ap-ABS-Status,
|
||||
X2ap-AS-SecurityInformation,
|
||||
X2ap-Cause,
|
||||
X2ap-CompositeAvailableCapacityGroup,
|
||||
X2ap-COUNTvalue,
|
||||
X2ap-CriticalityDiagnostics,
|
||||
X2ap-CRNTI,
|
||||
X2ap-CSGMembershipStatus,
|
||||
X2ap-CSG-Id,
|
||||
X2ap-DeactivationIndication,
|
||||
X2ap-DL-Forwarding,
|
||||
X2ap-ECGI,
|
||||
X2ap-E-RAB-ID,
|
||||
X2ap-E-RAB-Level-QoS-Parameters,
|
||||
X2ap-E-RAB-List,
|
||||
X2ap-EUTRANTraceID,
|
||||
X2ap-GlobalENB-ID,
|
||||
X2ap-GTPtunnelEndpoint,
|
||||
X2ap-GUGroupIDList,
|
||||
X2ap-GUMMEI,
|
||||
X2ap-HandoverReportType,
|
||||
X2ap-HandoverRestrictionList,
|
||||
X2ap-InvokeIndication,
|
||||
X2ap-LocationReportingInformation,
|
||||
X2ap-MDT-Configuration,
|
||||
X2ap-ManagementBasedMDTallowed,
|
||||
X2ap-Neighbour-Information,
|
||||
X2ap-PCI,
|
||||
X2ap-PDCP-SN,
|
||||
X2ap-PLMN-Identity,
|
||||
X2ap-ReceiveStatusofULPDCPSDUs,
|
||||
X2ap-Registration-Request,
|
||||
X2ap-RelativeNarrowbandTxPower,
|
||||
X2ap-RadioResourceStatus,
|
||||
X2ap-RRCConnReestabIndicator,
|
||||
X2ap-RRCConnSetupIndicator,
|
||||
X2ap-UE-RLF-Report-Container,
|
||||
X2ap-RRC-Context,
|
||||
X2ap-ServedCell-Information,
|
||||
X2ap-ServedCells,
|
||||
X2ap-ShortMAC-I,
|
||||
X2ap-SRVCCOperationPossible,
|
||||
X2ap-SubscriberProfileIDforRFP,
|
||||
X2ap-TargetCellInUTRAN,
|
||||
X2ap-TargeteNBtoSource-eNBTransparentContainer,
|
||||
X2ap-TimeToWait,
|
||||
X2ap-TraceActivation,
|
||||
X2ap-TraceDepth,
|
||||
|
||||
X2ap-TransportLayerAddress,
|
||||
X2ap-UEAggregateMaximumBitRate,
|
||||
X2ap-UE-HistoryInformation,
|
||||
X2ap-UE-S1AP-ID,
|
||||
X2ap-UESecurityCapabilities,
|
||||
X2ap-UE-X2AP-ID,
|
||||
X2ap-UL-HighInterferenceIndicationInfo,
|
||||
X2ap-UL-InterferenceOverloadIndication,
|
||||
X2ap-HWLoadIndicator,
|
||||
X2ap-S1TNLLoadIndicator,
|
||||
X2ap-Measurement-ID,
|
||||
X2ap-ReportCharacteristics,
|
||||
X2ap-MobilityParametersInformation,
|
||||
X2ap-MobilityParametersModificationRange
|
||||
|
||||
|
||||
|
||||
|
||||
FROM X2AP-IEs
|
||||
|
||||
PrivateIE-Container{},
|
||||
ProtocolExtensionContainer{},
|
||||
ProtocolIE-Container{},
|
||||
ProtocolIE-ContainerList{},
|
||||
ProtocolIE-ContainerPair{},
|
||||
ProtocolIE-ContainerPairList{},
|
||||
ProtocolIE-Single-Container{},
|
||||
X2AP-PRIVATE-IES,
|
||||
X2AP-PROTOCOL-EXTENSION,
|
||||
X2AP-PROTOCOL-IES,
|
||||
X2AP-PROTOCOL-IES-PAIR
|
||||
FROM X2AP-Containers
|
||||
|
||||
id-ABSInformation,
|
||||
id-ActivatedCellList,
|
||||
id-Cause,
|
||||
id-CellInformation,
|
||||
id-CellInformation-Item,
|
||||
id-CellMeasurementResult,
|
||||
id-CellMeasurementResult-Item,
|
||||
id-CellToReport,
|
||||
id-CellToReport-Item,
|
||||
id-CompositeAvailableCapacityGroup,
|
||||
id-CriticalityDiagnostics,
|
||||
id-DeactivationIndication,
|
||||
id-E-RABs-Admitted-Item,
|
||||
id-E-RABs-Admitted-List,
|
||||
id-E-RABs-NotAdmitted-List,
|
||||
id-E-RABs-SubjectToStatusTransfer-List,
|
||||
id-E-RABs-SubjectToStatusTransfer-Item,
|
||||
id-E-RABs-ToBeSetup-Item,
|
||||
id-GlobalENB-ID,
|
||||
id-GUGroupIDList,
|
||||
id-GUGroupIDToAddList,
|
||||
id-GUGroupIDToDeleteList,
|
||||
id-GUMMEI-ID,
|
||||
id-InvokeIndication,
|
||||
id-New-eNB-UE-X2AP-ID,
|
||||
id-Old-eNB-UE-X2AP-ID,
|
||||
id-Registration-Request,
|
||||
id-ReportingPeriodicity,
|
||||
id-ServedCells,
|
||||
id-ServedCellsToActivate,
|
||||
id-ServedCellsToAdd,
|
||||
id-ServedCellsToModify,
|
||||
id-ServedCellsToDelete,
|
||||
id-SRVCCOperationPossible,
|
||||
id-TargetCell-ID,
|
||||
id-TargeteNBtoSource-eNBTransparentContainer,
|
||||
id-TimeToWait,
|
||||
id-TraceActivation,
|
||||
id-UE-ContextInformation,
|
||||
id-UE-HistoryInformation,
|
||||
id-UE-X2AP-ID,
|
||||
id-Measurement-ID,
|
||||
id-ReportCharacteristics,
|
||||
id-ENB1-Measurement-ID,
|
||||
id-ENB2-Measurement-ID,
|
||||
id-ENB1-Cell-ID,
|
||||
id-ENB2-Cell-ID,
|
||||
id-ENB2-Proposed-Mobility-Parameters,
|
||||
id-ENB1-Mobility-Parameters,
|
||||
id-ENB2-Mobility-Parameters-Modification-Range,
|
||||
id-FailureCellPCI,
|
||||
id-Re-establishmentCellECGI,
|
||||
id-FailureCellCRNTI,
|
||||
id-ShortMAC-I,
|
||||
id-SourceCellECGI,
|
||||
id-FailureCellECGI,
|
||||
id-HandoverReportType,
|
||||
id-UE-RLF-Report-Container,
|
||||
id-PartialSuccessIndicator,
|
||||
id-MeasurementInitiationResult-List,
|
||||
id-MeasurementInitiationResult-Item,
|
||||
id-MeasurementFailureCause-Item,
|
||||
id-CompleteFailureCauseInformation-List,
|
||||
id-CompleteFailureCauseInformation-Item,
|
||||
id-CSGMembershipStatus,
|
||||
id-CSG-Id,
|
||||
id-MDTConfiguration,
|
||||
id-ManagementBasedMDTallowed,
|
||||
id-ABS-Status,
|
||||
id-RRCConnSetupIndicator,
|
||||
id-RRCConnReestabIndicator,
|
||||
id-TargetCellInUTRAN,
|
||||
|
||||
x2ap-maxCellineNB,
|
||||
x2ap-maxnoofBearers,
|
||||
x2ap-maxnoofPDCP-SN,
|
||||
x2ap-maxFailedMeasObjects,
|
||||
x2ap-maxnoofCellIDforMDT,
|
||||
x2ap-maxnoofTAforMDT
|
||||
|
||||
FROM X2AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-HandoverRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-HandoverRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE X2ap-UE-X2AP-ID PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory }|
|
||||
{ ID id-TargetCell-ID CRITICALITY reject TYPE X2ap-ECGI PRESENCE mandatory }|
|
||||
{ ID id-GUMMEI-ID CRITICALITY reject TYPE X2ap-GUMMEI PRESENCE mandatory }|
|
||||
{ ID id-UE-ContextInformation CRITICALITY reject TYPE X2ap-UE-ContextInformation PRESENCE mandatory }|
|
||||
{ ID id-UE-HistoryInformation CRITICALITY ignore TYPE X2ap-UE-HistoryInformation PRESENCE mandatory }|
|
||||
{ ID id-TraceActivation CRITICALITY ignore TYPE X2ap-TraceActivation PRESENCE optional}|
|
||||
{ ID id-SRVCCOperationPossible CRITICALITY ignore TYPE X2ap-SRVCCOperationPossible PRESENCE optional}|
|
||||
{ ID id-CSGMembershipStatus CRITICALITY reject TYPE X2ap-CSGMembershipStatus PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
X2ap-UE-ContextInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
{ ID id-ManagementBasedMDTallowed CRITICALITY ignore EXTENSION X2ap-ManagementBasedMDTallowed PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-E-RABs-ToBeSetup-List ::= SEQUENCE (SIZE(1..x2ap-maxnoofBearers)) OF ProtocolIE-Single-Container { {X2ap-E-RABs-ToBeSetup-ItemIEs} }
|
||||
|
||||
X2ap-E-RABs-ToBeSetup-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-E-RABs-ToBeSetup-Item CRITICALITY ignore TYPE X2ap-E-RABs-ToBeSetup-Item PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-E-RABs-ToBeSetup-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER REQUEST ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-HandoverRequestAcknowledge-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-E-RABs-Admitted-List CRITICALITY ignore TYPE X2ap-E-RABs-Admitted-List PRESENCE mandatory} |
|
||||
{ ID id-E-RABs-NotAdmitted-List CRITICALITY ignore TYPE X2ap-E-RAB-List PRESENCE optional} |
|
||||
{ ID id-TargeteNBtoSource-eNBTransparentContainer CRITICALITY ignore TYPE X2ap-TargeteNBtoSource-eNBTransparentContainer PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-E-RABs-Admitted-List ::= SEQUENCE (SIZE (1..x2ap-maxnoofBearers)) OF ProtocolIE-Single-Container { {X2ap-E-RABs-Admitted-ItemIEs} }
|
||||
|
||||
X2ap-E-RABs-Admitted-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-E-RABs-Admitted-Item CRITICALITY ignore TYPE X2ap-E-RABs-Admitted-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
X2ap-E-RABs-Admitted-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER PREPARATION FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-HandoverPreparationFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-HandoverPreparationFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverPreparationFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory} |
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Handover Report
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-HandoverReport ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-HandoverReport-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverReport-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-HandoverReportType CRITICALITY ignore TYPE X2ap-HandoverReportTYPE X2ap-PRESENCE mandatory}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory} |
|
||||
{ ID id-SourceCellECGI CRITICALITY ignore TYPE X2ap-ECGI PRESENCE mandatory}|
|
||||
{ ID id-FailureCellECGI CRITICALITY ignore TYPE X2ap-ECGI PRESENCE mandatory} |
|
||||
{ ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE X2ap-ECGI PRESENCE conditional} -- The IE shall be present if the Handover Report TYPE X2ap-IE is set to “HO to Wrong Cell” -- |
|
||||
{ ID id-TargetCellInUTRAN CRITICALITY ignore TYPE X2ap-TargetCellInUTRAN PRESENCE conditional} -- The IE shall be present if the Handover Report TYPE X2ap-IE is set to "InterRAT ping-pong" --,
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- SN Status Transfer
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-SNStatusTransfer ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-SNStatusTransfer-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-SNStatusTransfer-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-E-RABs-SubjectToStatusTransfer-List CRITICALITY ignore TYPE X2ap-E-RABs-SubjectToStatusTransfer-List PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-E-RABs-SubjectToStatusTransfer-List ::= SEQUENCE (SIZE (1..x2ap-maxnoofBearers)) OF ProtocolIE-Single-Container { { X2ap-E-RABs-SubjectToStatusTransfer-ItemIEs} }
|
||||
|
||||
X2ap-E-RABs-SubjectToStatusTransfer-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-E-RABs-SubjectToStatusTransfer-Item CRITICALITY ignore TYPE X2ap-E-RABs-SubjectToStatusTransfer-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
X2ap-E-RABs-SubjectToStatusTransfer-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Release
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-UEContextRelease ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-UEContextRelease-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-UEContextRelease-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY reject TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- HANDOVER CANCEL
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-HandoverCancel ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-HandoverCancel-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverCancel-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY reject TYPE X2ap-UE-X2AP-ID PRESENCE mandatory} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE X2ap-UE-X2AP-ID PRESENCE optional} |
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ERROR INDICATION
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ErrorIndication ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ErrorIndication-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ErrorIndication-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Old-eNB-UE-X2AP-ID CRITICALITY ignore TYPE X2ap-UE-X2AP-ID PRESENCE optional} |
|
||||
{ ID id-New-eNB-UE-X2AP-ID CRITICALITY ignore TYPE X2ap-UE-X2AP-ID PRESENCE optional} |
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE optional} |
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional} ,
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Reset Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ResetRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ResetRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResetRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Reset Response
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ResetResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ResetResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResetResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- X2 SETUP REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2SetupRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2SetupRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-GlobalENB-ID CRITICALITY reject TYPE X2ap-GlobalENB-ID PRESENCE mandatory} |
|
||||
{ ID id-ServedCells CRITICALITY reject TYPE X2ap-ServedCells PRESENCE mandatory} |
|
||||
{ ID id-GUGroupIDList CRITICALITY reject TYPE X2ap-GUGroupIDList PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- X2 SETUP RESPONSE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2SetupResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2SetupResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-GlobalENB-ID CRITICALITY reject TYPE X2ap-GlobalENB-ID PRESENCE mandatory} |
|
||||
{ ID id-ServedCells CRITICALITY reject TYPE X2ap-ServedCells PRESENCE mandatory} |
|
||||
{ ID id-GUGroupIDList CRITICALITY reject TYPE X2ap-GUGroupIDList PRESENCE optional}|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- X2 SETUP FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2SetupFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2SetupFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory} |
|
||||
{ ID id-TimeToWait CRITICALITY ignore TYPE X2ap-TimeToWait PRESENCE optional} |
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- LOAD INFORMATION
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-LoadInformation ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-LoadInformation-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-LoadInformation-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellInformation CRITICALITY ignore TYPE X2ap-CellInformation-List PRESENCE mandatory} ,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellInformation-List ::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF ProtocolIE-Single-Container { {X2ap-CellInformation-ItemIEs} }
|
||||
|
||||
X2ap-CellInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellInformation-Item CRITICALITY ignore TYPE X2ap-CellInformation-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
|
||||
X2ap-CellInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
{ ID id-ABSInformation CRITICALITY ignore EXTENSION X2ap-ABSInformation PRESENCE optional }|
|
||||
{ ID id-InvokeIndication CRITICALITY ignore EXTENSION X2ap-InvokeIndication PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ENB CONFIGURATION UPDATE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ENBConfigurationUpdate ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ENBConfigurationUpdate-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ENBConfigurationUpdate-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ServedCellsToAdd CRITICALITY reject TYPE X2ap-ServedCells PRESENCE optional} |
|
||||
{ ID id-ServedCellsToModify CRITICALITY reject TYPE X2ap-ServedCellsToModify PRESENCE optional} |
|
||||
{ ID id-ServedCellsToDelete CRITICALITY reject TYPE X2ap-Old-ECGIs PRESENCE optional} |
|
||||
{ ID id-GUGroupIDToAddList CRITICALITY reject TYPE X2ap-GUGroupIDList PRESENCE optional} |
|
||||
{ ID id-GUGroupIDToDeleteList CRITICALITY reject TYPE X2ap-GUGroupIDList PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ServedCellsToModify::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF X2ap-ServedCellsToModify-Item
|
||||
|
||||
|
||||
ServedCellsToModify-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
{ ID id-DeactivationIndication CRITICALITY ignore EXTENSION X2ap-DeactivationIndication PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ENB CONFIGURATION UPDATE ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ENBConfigurationUpdateAcknowledge-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ENBConfigurationUpdateAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ENB CONFIGURATION UPDATE FAIURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ENBConfigurationUpdateFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ENBConfigurationUpdateFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory }|
|
||||
{ ID id-TimeToWait CRITICALITY ignore TYPE X2ap-TimeToWait PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ResourceStatusRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ResourceStatusRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE X2ap-Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY ignore TYPE X2ap-Measurement-ID PRESENCE conditional}|-- The IE shall be present if the Registration Request IE is set to “Stop”--
|
||||
{ ID id-Registration-Request CRITICALITY reject TYPE X2ap-Registration-Request PRESENCE mandatory}|
|
||||
{ ID id-ReportCharacteristics CRITICALITY reject TYPE X2ap-ReportCharacteristics PRESENCE optional}|
|
||||
{ ID id-CellToReport CRITICALITY ignore TYPE X2ap-CellToReport-List PRESENCE mandatory}|
|
||||
{ ID id-ReportingPeriodicity CRITICALITY ignore TYPE X2ap-ReportingPeriodicity PRESENCE optional}|
|
||||
{ ID id-PartialSuccessIndicator CRITICALITY ignore TYPE X2ap-PartialSuccessIndicator PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
X2ap-CellToReport-List ::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF ProtocolIE-Single-Container { {X2ap-CellToReport-ItemIEs} }
|
||||
|
||||
X2ap-CellToReport-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellToReport-Item CRITICALITY ignore TYPE X2ap-CellToReport-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
|
||||
|
||||
X2ap-CellToReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
X2ap-ReportingPeriodicity ::= ENUMERATED {
|
||||
one-thousand-ms,
|
||||
two-thousand-ms,
|
||||
five-thousand-ms,
|
||||
ten-thousand-ms,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-PartialSuccessIndicator ::= ENUMERATED {
|
||||
partial-success-allowed,
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Response
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ResourceStatusResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ResourceStatusResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE X2ap-Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY reject TYPE X2ap-Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional}|
|
||||
{ ID id-MeasurementInitiationResult-List CRITICALITY ignore TYPE X2ap-MeasurementInitiationResult-List PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
X2ap-MeasurementInitiationResult-List ::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF ProtocolIE-Single-Container { { X2ap-MeasurementInitiationResult-ItemIEs} }
|
||||
|
||||
X2ap-MeasurementInitiationResult-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-MeasurementInitiationResult-Item CRITICALITY ignore TYPE X2ap-MeasurementInitiationResult-Item PRESENCE mandatory}
|
||||
}
|
||||
|
||||
|
||||
|
||||
X2ap-MeasurementInitiationResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-MeasurementFailureCause-List ::= SEQUENCE (SIZE (1..x2ap-maxFailedMeasObjects)) OF ProtocolIE-Single-Container { { X2ap-MeasurementFailureCause-ItemIEs} }
|
||||
|
||||
X2ap-MeasurementFailureCause-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-MeasurementFailureCause-Item CRITICALITY ignore TYPE X2ap-MeasurementFailureCause-Item PRESENCE mandatory}
|
||||
}
|
||||
|
||||
|
||||
X2ap-MeasurementFailureCause-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Failure
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ResourceStatusFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ResourceStatusFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE X2ap-Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY reject TYPE X2ap-Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory}|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional}|
|
||||
{ ID id-CompleteFailureCauseInformation-List CRITICALITY ignore TYPE X2ap-CompleteFailureCauseInformation-List PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CompleteFailureCauseInformation-List ::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF ProtocolIE-Single-Container { {X2ap-CompleteFailureCauseInformation-ItemIEs} }
|
||||
|
||||
X2ap-CompleteFailureCauseInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CompleteFailureCauseInformation-Item CRITICALITY ignore TYPE X2ap-CompleteFailureCauseInformation-Item PRESENCE mandatory}
|
||||
}
|
||||
|
||||
X2ap-CompleteFailureCauseInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Resource Status Update
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-ResourceStatusUpdate ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-ResourceStatusUpdate-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusUpdate-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Measurement-ID CRITICALITY reject TYPE X2ap-Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-ENB2-Measurement-ID CRITICALITY reject TYPE X2ap-Measurement-ID PRESENCE mandatory}|
|
||||
{ ID id-CellMeasurementResult CRITICALITY ignore TYPE X2ap-CellMeasurementResult-List PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellMeasurementResult-List ::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF ProtocolIE-Single-Container { {X2ap-CellMeasurementResult-ItemIEs} }
|
||||
|
||||
X2ap-CellMeasurementResult-ItemIEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-CellMeasurementResult-Item CRITICALITY ignore TYPE X2ap-CellMeasurementResult-Item PRESENCE mandatory }
|
||||
}
|
||||
|
||||
X2ap-CellMeasurementResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
{ ID id-CompositeAvailableCapacityGroup CRITICALITY ignore EXTENSION X2ap-CompositeAvailableCapacityGroup PRESENCE optional}|
|
||||
{ ID id-ABS-Status CRITICALITY ignore EXTENSION X2ap-ABS-Status PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PRIVATE MESSAGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-PrivateMessage ::= SEQUENCE {
|
||||
privateIEs PrivateIE-Container {{X2ap-PrivateMessage-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-PrivateMessage-IEs X2AP-PRIVATE-IES ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- MOBILITY CHANGE REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-MobilityChangeRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-MobilityChangeRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-MobilityChangeRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Cell-ID CRITICALITY reject TYPE X2ap-ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Cell-ID CRITICALITY reject TYPE X2ap-ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB1-Mobility-Parameters CRITICALITY ignore TYPE X2ap-MobilityParametersInformation PRESENCE optional }|
|
||||
{ ID id-ENB2-Proposed-Mobility-Parameters CRITICALITY reject TYPE X2ap-MobilityParametersInformation PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY reject TYPE X2ap-Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- MOBILITY CHANGE ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-MobilityChangeAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-MobilityChangeAcknowledge-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-MobilityChangeAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Cell-ID CRITICALITY reject TYPE X2ap-ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Cell-ID CRITICALITY reject TYPE X2ap-ECGI PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- MOBILITY CHANGE FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-MobilityChangeFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-MobilityChangeFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-MobilityChangeFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ENB1-Cell-ID CRITICALITY ignore TYPE X2ap-ECGI PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Cell-ID CRITICALITY ignore TYPE X2ap-ECGI PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory }|
|
||||
{ ID id-ENB2-Mobility-Parameters-Modification-Range CRITICALITY ignore TYPE X2ap-MobilityParametersModificationRange PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Radio Link Failure Indication
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-RLFIndication ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-RLFIndication-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-RLFIndication-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-FailureCellPCI CRITICALITY ignore TYPE X2ap-PCI PRESENCE mandatory}|
|
||||
{ ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE X2ap-ECGI PRESENCE mandatory}|
|
||||
{ ID id-FailureCellCRNTI CRITICALITY ignore TYPE X2ap-CRNTI PRESENCE mandatory}|
|
||||
{ ID id-ShortMAC-I CRITICALITY ignore TYPE X2ap-ShortMAC-I PRESENCE optional}|
|
||||
{ ID id-UE-RLF-Report-Container CRITICALITY ignore TYPE X2ap-UE-RLF-Report-Container PRESENCE optional}|
|
||||
{ ID id-RRCConnSetupIndicator CRITICALITY reject TYPE X2ap-RRCConnSetupIndicator PRESENCE optional}|
|
||||
{ ID id-RRCConnReestabIndicator CRITICALITY ignore TYPE X2ap-RRCConnReestabIndicator PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Cell Activation Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-CellActivationRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-CellActivationRequest-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellActivationRequest-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ServedCellsToActivate CRITICALITY reject TYPE X2ap-ServedCellsToActivate PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ServedCellsToActivate::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF X2ap-ServedCellsToActivate-Item
|
||||
|
||||
|
||||
X2ap-ServedCellsToActivate-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Cell Activation Response
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-CellActivationResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-CellActivationResponse-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellActivationResponse-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-ActivatedCellList CRITICALITY ignore TYPE X2ap-ActivatedCellList PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ActivatedCellList ::= SEQUENCE (SIZE (1..x2ap-maxCellineNB)) OF X2ap-ActivatedCellList-Item
|
||||
|
||||
|
||||
|
||||
X2ap-ActivatedCellList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
--**************************************************************
|
||||
--
|
||||
-- CELL ACTIVATION FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2ap-CellActivationFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{X2ap-CellActivationFailure-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellActivationFailure-IEs X2AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE X2ap-Cause PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE X2ap-CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
END
|
||||
@@ -1,243 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Descriptions (0) }
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
IMPORTS
|
||||
X2ap-Criticality,
|
||||
X2ap-ProcedureCode
|
||||
FROM X2AP-CommonDataTypes
|
||||
|
||||
X2ap-CellActivationRequest,
|
||||
X2ap-CellActivationResponse,
|
||||
X2ap-CellActivationFailure,
|
||||
X2ap-ENBConfigurationUpdate,
|
||||
X2ap-ENBConfigurationUpdateAcknowledge,
|
||||
X2ap-ENBConfigurationUpdateFailure,
|
||||
X2ap-ErrorIndication,
|
||||
X2ap-HandoverCancel,
|
||||
X2ap-HandoverReport,
|
||||
X2ap-HandoverPreparationFailure,
|
||||
X2ap-HandoverRequest,
|
||||
X2ap-HandoverRequestAcknowledge,
|
||||
X2ap-LoadInformation,
|
||||
X2ap-PrivateMessage,
|
||||
X2ap-ResetRequest,
|
||||
X2ap-ResetResponse,
|
||||
X2ap-ResourceStatusFailure,
|
||||
X2ap-ResourceStatusRequest,
|
||||
X2ap-ResourceStatusResponse,
|
||||
X2ap-ResourceStatusUpdate,
|
||||
X2ap-RLFIndication,
|
||||
X2ap-SNStatusTransfer,
|
||||
X2ap-UEContextRelease,
|
||||
X2SetupFailure, X2SetupRequest,
|
||||
X2SetupResponse,
|
||||
X2ap-MobilityChangeRequest,
|
||||
X2ap-MobilityChangeAcknowledge,
|
||||
X2ap-MobilityChangeFailure
|
||||
FROM X2AP-PDU-Contents
|
||||
|
||||
id-cellActivation,
|
||||
id-eNBConfigurationUpdate,
|
||||
id-errorIndication,
|
||||
id-handoverCancel,
|
||||
id-handoverReport,
|
||||
id-handoverPreparation,
|
||||
id-loadIndication,
|
||||
id-privateMessage,
|
||||
id-reset,
|
||||
id-resourceStatusReporting,
|
||||
id-resourceStatusReportingInitiation,
|
||||
id-rLFIndication,
|
||||
id-snStatusTransfer,
|
||||
id-uEContextRelease,
|
||||
id-x2Setup,
|
||||
id-mobilitySettingsChange
|
||||
FROM X2AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2AP-ELEMENTARY-PROCEDURE.&procedureCode ({X2AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality X2AP-ELEMENTARY-PROCEDURE.&criticality ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value X2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
X2AP-ELEMENTARY-PROCEDURES X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 ,
|
||||
...
|
||||
}
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverPreparation |
|
||||
reset |
|
||||
x2Setup |
|
||||
resourceStatusReportingInitiation |
|
||||
eNBConfigurationUpdate |
|
||||
mobilitySettingsChange |
|
||||
cellActivation ,
|
||||
...
|
||||
}
|
||||
X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
snStatusTransfer |
|
||||
uEContextRelease |
|
||||
handoverCancel |
|
||||
errorIndication |
|
||||
resourceStatusReporting |
|
||||
loadIndication |
|
||||
privateMessage |
|
||||
rLFIndication | handoverReport,
|
||||
...
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
handoverPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequest
|
||||
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
|
||||
PROCEDURE CODE id-handoverPreparation
|
||||
CRITICALITY reject
|
||||
}
|
||||
snStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE SNStatusTransfer
|
||||
PROCEDURE CODE id-snStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
uEContextRelease X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextRelease
|
||||
PROCEDURE CODE id-uEContextRelease
|
||||
CRITICALITY ignore
|
||||
}
|
||||
handoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverCancel
|
||||
PROCEDURE CODE id-handoverCancel
|
||||
CRITICALITY ignore
|
||||
}
|
||||
handoverReport X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverReport
|
||||
PROCEDURE CODE id-handoverReport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
errorIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-errorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
reset X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResetRequest
|
||||
SUCCESSFUL OUTCOME ResetResponse
|
||||
PROCEDURE CODE id-reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
x2Setup X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE X2SetupRequest
|
||||
SUCCESSFUL OUTCOME X2SetupResponse
|
||||
UNSUCCESSFUL OUTCOME X2SetupFailure
|
||||
PROCEDURE CODE id-x2Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
loadIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LoadInformation
|
||||
PROCEDURE CODE id-loadIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
eNBConfigurationUpdate X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-eNBConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
resourceStatusReportingInitiation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResourceStatusRequest
|
||||
SUCCESSFUL OUTCOME ResourceStatusResponse
|
||||
UNSUCCESSFUL OUTCOME ResourceStatusFailure
|
||||
PROCEDURE CODE id-resourceStatusReportingInitiation
|
||||
CRITICALITY reject
|
||||
}
|
||||
resourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ResourceStatusUpdate
|
||||
PROCEDURE CODE id-resourceStatusReporting
|
||||
CRITICALITY ignore
|
||||
}
|
||||
rLFIndication X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE RLFIndication
|
||||
PROCEDURE CODE id-rLFIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
privateMessage X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-privateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
mobilitySettingsChange X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MobilityChangeRequest
|
||||
SUCCESSFUL OUTCOME MobilityChangeAcknowledge
|
||||
UNSUCCESSFUL OUTCOME MobilityChangeFailure
|
||||
PROCEDURE CODE id-mobilitySettingsChange
|
||||
CRITICALITY reject
|
||||
}
|
||||
cellActivation X2AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE CellActivationRequest
|
||||
SUCCESSFUL OUTCOME CellActivationResponse
|
||||
UNSUCCESSFUL OUTCOME CellActivationFailure
|
||||
PROCEDURE CODE id-cellActivation
|
||||
CRITICALITY reject
|
||||
}
|
||||
END
|
||||
@@ -1,199 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PDU definitions for X2AP.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
X2AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU (1) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
x2ap-maxProtocolIEs,
|
||||
X2ap-Criticality,
|
||||
X2ap-ProcedureCode,
|
||||
X2ap-ProtocolIE-ID
|
||||
FROM X2AP-CommonDataTypes;
|
||||
|
||||
X2ap-IE ::= SEQUENCE {
|
||||
id X2ap-ProtocolIE-ID,
|
||||
criticality X2ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
X2AP-PDU ::= CHOICE {
|
||||
initiatingMessage X2ap-InitiatingMessage,
|
||||
successfulOutcome X2ap-SuccessfulOutcome,
|
||||
unsuccessfulOutcome X2ap-UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode X2ap-ProcedureCode,
|
||||
criticality X2ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
X2ap-SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2ap-ProcedureCode,
|
||||
criticality X2ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
X2ap-UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode X2ap-ProcedureCode,
|
||||
criticality X2ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
X2ap-HandoverRequest ::= SEQUENCE {
|
||||
x2ap-HandoverRequest-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
x2ap-HandoverRequestAcknowledge-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverPreparationFailure ::= SEQUENCE {
|
||||
x2ap-HandoverPreparationFailure-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-SNStatusTransfer ::= SEQUENCE {
|
||||
x2ap-SNStatusTransfer-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-UEContextRelease ::= SEQUENCE {
|
||||
x2ap-UEContextRelease-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverCancel ::= SEQUENCE {
|
||||
x2ap-HandoverCancel-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-HandoverReport ::= SEQUENCE {
|
||||
x2ap-HandoverReport-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ErrorIndication ::= SEQUENCE {
|
||||
x2ap-ErrorIndication-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResetRequest ::= SEQUENCE {
|
||||
x2ap-ResetRequest-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResetResponse ::= SEQUENCE {
|
||||
x2ap-ResetResponse-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupRequest ::= SEQUENCE {
|
||||
x2SetupRequest-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupResponse ::= SEQUENCE {
|
||||
x2SetupResponse-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2SetupFailure ::= SEQUENCE {
|
||||
x2SetupFailure-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-LoadInformation ::= SEQUENCE {
|
||||
x2ap-LoadInformation-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ENBConfigurationUpdate ::= SEQUENCE {
|
||||
x2ap-ENBConfigurationUpdate-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
x2ap-ENBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
x2ap-ENBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusRequest ::= SEQUENCE {
|
||||
x2ap-ResourceStatusRequest-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusResponse ::= SEQUENCE {
|
||||
x2ap-ResourceStatusResponse-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusFailure ::= SEQUENCE {
|
||||
x2ap-ResourceStatusFailure-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-ResourceStatusUpdate ::= SEQUENCE {
|
||||
x2ap-ResourceStatusUpdate-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-RLFIndication ::= SEQUENCE {
|
||||
x2ap-RLFIndication-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-PrivateMessage ::= SEQUENCE {
|
||||
x2ap-PrivateMessage-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-MobilityChangeRequest ::= SEQUENCE {
|
||||
x2ap-MobilityChangeRequest-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-MobilityChangeAcknowledge ::= SEQUENCE {
|
||||
x2ap-MobilityChangeAcknowledge-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-MobilityChangeFailure ::= SEQUENCE {
|
||||
x2ap-MobilityChangeFailure-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellActivationRequest ::= SEQUENCE {
|
||||
x2ap-CellActivationRequest-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellActivationResponse ::= SEQUENCE {
|
||||
x2ap-CellActivationResponse-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
X2ap-CellActivationFailure ::= SEQUENCE {
|
||||
x2ap-CellActivationFailure-ies SEQUENCE (SIZE (0..x2ap-maxProtocolIEs)) OF X2ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
END
|
||||
+3096
File diff suppressed because it is too large
Load Diff
+4358
File diff suppressed because it is too large
Load Diff
+4942
File diff suppressed because it is too large
Load Diff
+5064
File diff suppressed because it is too large
Load Diff
+7222
File diff suppressed because it is too large
Load Diff
+2201
File diff suppressed because it is too large
Load Diff
+2579
File diff suppressed because it is too large
Load Diff
+23
-64
@@ -29,7 +29,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#include "x2ap_common.h"
|
||||
#include "X2AP-PDU.h"
|
||||
#include "X2AP_X2AP-PDU.h"
|
||||
|
||||
int asn_debug = 0;
|
||||
int asn1_xer_print = 0;
|
||||
@@ -55,29 +55,27 @@ inline void ASN_DEBUG(const char *fmt, ...)
|
||||
ssize_t x2ap_generate_initiating_message(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
X2ap_ProcedureCode_t procedureCode,
|
||||
X2ap_Criticality_t criticality,
|
||||
X2AP_ProcedureCode_t procedureCode,
|
||||
X2AP_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr)
|
||||
{
|
||||
X2AP_PDU_t pdu;
|
||||
X2AP_X2AP_PDU_t pdu;
|
||||
ssize_t encoded;
|
||||
|
||||
memset(&pdu, 0, sizeof(X2AP_PDU_t));
|
||||
|
||||
pdu.present = X2AP_PDU_PR_initiatingMessage;
|
||||
memset(&pdu, 0, sizeof(X2AP_X2AP_PDU_t));
|
||||
pdu.present = X2AP_X2AP_PDU_PR_initiatingMessage;
|
||||
pdu.choice.initiatingMessage.procedureCode = procedureCode;
|
||||
pdu.choice.initiatingMessage.criticality = criticality;
|
||||
ANY_fromType_aper(&pdu.choice.initiatingMessage.value, td, sptr);
|
||||
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_X2AP_PDU, (void *)&pdu);
|
||||
xer_fprint(stdout, &asn_DEF_X2AP_X2AP_PDU, (void *)&pdu);
|
||||
}
|
||||
|
||||
/* We can safely free list of IE from sptr */
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(*td, sptr);
|
||||
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_X2AP_PDU, 0, &pdu,
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_X2AP_X2AP_PDU, 0, &pdu,
|
||||
(void **)buffer)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
@@ -89,107 +87,68 @@ ssize_t x2ap_generate_initiating_message(
|
||||
ssize_t x2ap_generate_successfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
X2ap_ProcedureCode_t procedureCode,
|
||||
X2ap_Criticality_t criticality,
|
||||
X2AP_ProcedureCode_t procedureCode,
|
||||
X2AP_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr)
|
||||
{
|
||||
X2AP_PDU_t pdu;
|
||||
X2AP_X2AP_PDU_t pdu;
|
||||
ssize_t encoded;
|
||||
|
||||
memset(&pdu, 0, sizeof(X2AP_PDU_t));
|
||||
|
||||
pdu.present = X2AP_PDU_PR_successfulOutcome;
|
||||
memset(&pdu, 0, sizeof(X2AP_X2AP_PDU_t));
|
||||
pdu.present = X2AP_X2AP_PDU_PR_successfulOutcome;
|
||||
pdu.choice.successfulOutcome.procedureCode = procedureCode;
|
||||
pdu.choice.successfulOutcome.criticality = criticality;
|
||||
ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr);
|
||||
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_X2AP_PDU, (void *)&pdu);
|
||||
xer_fprint(stdout, &asn_DEF_X2AP_X2AP_PDU, (void *)&pdu);
|
||||
}
|
||||
|
||||
/* We can safely free list of IE from sptr */
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(*td, sptr);
|
||||
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_X2AP_PDU, 0, &pdu,
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_X2AP_X2AP_PDU, 0, &pdu,
|
||||
(void **)buffer)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
*length = encoded;
|
||||
|
||||
return encoded;
|
||||
}
|
||||
|
||||
ssize_t x2ap_generate_unsuccessfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
X2ap_ProcedureCode_t procedureCode,
|
||||
X2ap_Criticality_t criticality,
|
||||
X2AP_ProcedureCode_t procedureCode,
|
||||
X2AP_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr)
|
||||
{
|
||||
X2AP_PDU_t pdu;
|
||||
X2AP_X2AP_PDU_t pdu;
|
||||
ssize_t encoded;
|
||||
|
||||
memset(&pdu, 0, sizeof(X2AP_PDU_t));
|
||||
|
||||
pdu.present = X2AP_PDU_PR_unsuccessfulOutcome;
|
||||
memset(&pdu, 0, sizeof(X2AP_X2AP_PDU_t));
|
||||
pdu.present = X2AP_X2AP_PDU_PR_unsuccessfulOutcome;
|
||||
pdu.choice.successfulOutcome.procedureCode = procedureCode;
|
||||
pdu.choice.successfulOutcome.criticality = criticality;
|
||||
ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr);
|
||||
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_X2AP_PDU, (void *)&pdu);
|
||||
xer_fprint(stdout, &asn_DEF_X2AP_X2AP_PDU, (void *)&pdu);
|
||||
}
|
||||
|
||||
/* We can safely free list of IE from sptr */
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(*td, sptr);
|
||||
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_X2AP_PDU, 0, &pdu,
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_X2AP_X2AP_PDU, 0, &pdu,
|
||||
(void **)buffer)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
*length = encoded;
|
||||
|
||||
return encoded;
|
||||
}
|
||||
|
||||
X2ap_IE_t *x2ap_new_ie(
|
||||
X2ap_ProtocolIE_ID_t id,
|
||||
X2ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *type,
|
||||
void *sptr)
|
||||
{
|
||||
X2ap_IE_t *buff;
|
||||
|
||||
if ((buff = malloc(sizeof(X2ap_IE_t))) == NULL) {
|
||||
// Possible error on malloc
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memset((void *)buff, 0, sizeof(X2ap_IE_t));
|
||||
|
||||
buff->id = id;
|
||||
buff->criticality = criticality;
|
||||
|
||||
if (ANY_fromType_aper(&buff->value, type, sptr) < 0) {
|
||||
fprintf(stderr, "Encoding of %s failed\n", type->name);
|
||||
free(buff);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (asn1_xer_print)
|
||||
if (xer_fprint(stdout, &asn_DEF_X2ap_IE, buff) < 0) {
|
||||
free(buff);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return buff;
|
||||
}
|
||||
|
||||
void x2ap_handle_criticality(X2ap_Criticality_t criticality)
|
||||
void x2ap_handle_criticality(X2AP_Criticality_t criticality)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
+33
-261
@@ -23,247 +23,17 @@
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include "X2ap-ABSInformationFDD.h"
|
||||
#include "X2ap-ABSInformation.h"
|
||||
#include "X2ap-ABSInformationTDD.h"
|
||||
#include "X2ap-ABS-Status.h"
|
||||
#include "X2ap-ActivatedCellList.h"
|
||||
#include "X2ap-AllocationAndRetentionPriority.h"
|
||||
#include "X2ap-AreaScopeOfMDT.h"
|
||||
#include "X2ap-AS-SecurityInformation.h"
|
||||
#include "X2ap-BandInfo.h"
|
||||
#include "X2ap-BitRate.h"
|
||||
#include "X2ap-BroadcastPLMNs-Item.h"
|
||||
|
||||
#include "X2ap-CapacityValue.h"
|
||||
#include "X2ap-Cause.h"
|
||||
#include "X2ap-CauseMisc.h"
|
||||
#include "X2ap-CauseProtocol.h"
|
||||
#include "X2ap-CauseRadioNetwork.h"
|
||||
#include "X2ap-CauseTransport.h"
|
||||
#include "X2ap-CellActivationFailure.h"
|
||||
#include "X2ap-CellActivationRequest.h"
|
||||
#include "X2ap-CellActivationResponse.h"
|
||||
#include "X2ap-CellBasedMDT.h"
|
||||
#include "X2ap-CellCapacityClassValue.h"
|
||||
#include "X2ap-CellIdListforMDT.h"
|
||||
#include "X2ap-CellInformation-Item.h"
|
||||
#include "X2ap-CellInformation-List.h"
|
||||
#include "X2ap-Cell-Size.h"
|
||||
#include "X2ap-CellToReport-Item.h"
|
||||
#include "X2ap-CellToReport-List.h"
|
||||
#include "X2ap-CellType.h"
|
||||
#include "X2ap-CellMeasurementResult-Item.h"
|
||||
#include "X2ap-CellMeasurementResult-List.h"
|
||||
#include "X2ap-CompleteFailureCauseInformation-Item.h"
|
||||
#include "X2ap-CompleteFailureCauseInformation-List.h"
|
||||
#include "X2ap-CompositeAvailableCapacityGroup.h"
|
||||
#include "X2ap-CompositeAvailableCapacity.h"
|
||||
#include "X2ap-COUNTvalue.h"
|
||||
#include "X2ap-CriticalityDiagnostics.h"
|
||||
#include "X2ap-CriticalityDiagnostics-IE-List.h"
|
||||
#include "X2ap-Criticality.h"
|
||||
#include "X2ap-CRNTI.h"
|
||||
#include "X2ap-CSG-Id.h"
|
||||
#include "X2ap-CSGMembershipStatus.h"
|
||||
#include "X2ap-CyclicPrefixDL.h"
|
||||
#include "X2ap-CyclicPrefixUL.h"
|
||||
#include "X2ap-DeactivationIndication.h"
|
||||
#include "X2ap-DL-ABS-status.h"
|
||||
#include "X2ap-DL-Forwarding.h"
|
||||
#include "X2ap-DL-GBR-PRB-usage.h"
|
||||
#include "X2ap-DL-non-GBR-PRB-usage.h"
|
||||
#include "X2ap-DL-Total-PRB-usage.h"
|
||||
#include "X2ap-EARFCN.h"
|
||||
#include "X2ap-ECGI.h"
|
||||
#include "X2ap-ENB-ID.h"
|
||||
#include "X2ap-ENBConfigurationUpdateFailure.h"
|
||||
#include "X2ap-ENBConfigurationUpdateAcknowledge.h"
|
||||
#include "X2ap-ENBConfigurationUpdate.h"
|
||||
#include "X2ap-EncryptionAlgorithms.h"
|
||||
#include "X2ap-EPLMNs.h"
|
||||
#include "X2ap-E-RAB-ID.h"
|
||||
#include "X2ap-E-RAB-Item.h"
|
||||
#include "X2ap-E-RABs-Admitted-List.h"
|
||||
#include "X2ap-E-RAB-Level-QoS-Parameters.h"
|
||||
#include "X2ap-E-RAB-List.h"
|
||||
#include "X2ap-E-RABs-SubjectToStatusTransfer-Item.h"
|
||||
#include "X2ap-E-RABs-Admitted-Item.h"
|
||||
#include "X2ap-E-RABs-SubjectToStatusTransfer-List.h"
|
||||
#include "X2ap-ErrorIndication.h"
|
||||
#include "X2ap-EUTRA-Mode-Info.h"
|
||||
#include "X2ap-EUTRANCellIdentifier.h"
|
||||
#include "X2ap-EUTRANTraceID.h"
|
||||
#include "X2ap-EventType.h"
|
||||
|
||||
#include "X2ap-FDD-Info.h"
|
||||
#include "X2ap-ForbiddenInterRATs.h"
|
||||
#include "X2ap-ForbiddenLACs.h"
|
||||
#include "X2ap-ForbiddenLAs.h"
|
||||
#include "X2ap-ForbiddenLAs-Item.h"
|
||||
#include "X2ap-ForbiddenTACs.h"
|
||||
#include "X2ap-ForbiddenTAs.h"
|
||||
#include "X2ap-ForbiddenTAs-Item.h"
|
||||
#include "X2ap-Fourframes.h"
|
||||
#include "X2ap-FreqBandIndicator.h"
|
||||
#include "X2ap-GBR-QosInformation.h"
|
||||
#include "X2ap-GlobalENB-ID.h"
|
||||
#include "X2ap-GTP-TEI.h"
|
||||
#include "X2ap-GTPtunnelEndpoint.h"
|
||||
#include "X2ap-GU-Group-ID.h"
|
||||
#include "X2ap-GUGroupIDList.h"
|
||||
#include "X2ap-GUMMEI.h"
|
||||
#include "X2ap-HandoverCancel.h"
|
||||
#include "X2ap-HandoverReportType.h"
|
||||
#include "X2ap-HandoverRequest.h"
|
||||
#include "X2ap-HandoverReport.h"
|
||||
#include "X2ap-HandoverRestrictionList.h"
|
||||
#include "X2ap-HandoverPreparationFailure.h"
|
||||
#include "X2ap-HandoverRequestAcknowledge.h"
|
||||
|
||||
#include "X2ap-HFN.h"
|
||||
#include "X2ap-HWLoadIndicator.h"
|
||||
#include "X2ap-IE-Extensions.h"
|
||||
#include "X2ap-IE.h"
|
||||
#include "X2ap-IntegrityProtectionAlgorithms.h"
|
||||
#include "X2ap-InterfacesToTrace.h"
|
||||
#include "X2ap-InvokeIndication.h"
|
||||
#include "X2ap-Key-eNodeB-Star.h"
|
||||
#include "X2ap-LAC.h"
|
||||
#include "X2ap-LastVisitedCell-Item.h"
|
||||
#include "X2ap-LastVisitedEUTRANCellInformation.h"
|
||||
#include "X2ap-LastVisitedGERANCellInformation.h"
|
||||
#include "X2ap-LastVisitedUTRANCellInformation.h"
|
||||
#include "X2ap-LoadIndicator.h"
|
||||
#include "X2ap-LoadInformation.h"
|
||||
#include "X2ap-LocationReportingInformation.h"
|
||||
#include "X2ap-ManagementBasedMDTallowed.h"
|
||||
#include "X2ap-MBMS-Service-Area-Identity.h"
|
||||
#include "X2ap-MBMS-Service-Area-Identity-List.h"
|
||||
#include "X2ap-MBSFN-Subframe-Info.h"
|
||||
#include "X2ap-MBSFN-Subframe-Infolist.h"
|
||||
#include "X2ap-MDT-Activation.h"
|
||||
#include "X2ap-MDT-Configuration.h"
|
||||
#include "X2ap-Measurement-ID.h"
|
||||
#include "X2ap-MeasurementsToActivate.h"
|
||||
#include "X2ap-MeasurementThresholdA2.h"
|
||||
#include "X2ap-MeasurementInitiationResult-Item.h"
|
||||
#include "X2ap-MeasurementInitiationResult-List.h"
|
||||
|
||||
#include "X2ap-MeasurementFailureCause-Item.h"
|
||||
#include "X2ap-MME-Code.h"
|
||||
#include "X2ap-MME-Group-ID.h"
|
||||
#include "X2ap-MobilityChangeAcknowledge.h"
|
||||
#include "X2ap-MobilityChangeFailure.h"
|
||||
#include "X2ap-MobilityChangeRequest.h"
|
||||
#include "X2ap-MobilityParametersInformation.h"
|
||||
#include "X2ap-MobilityParametersModificationRange.h"
|
||||
#include "X2ap-MultibandInfoList.h"
|
||||
#include "X2ap-Neighbour-Information.h"
|
||||
#include "X2ap-NextHopChainingCount.h"
|
||||
#include "X2ap-Number-of-Antennaports.h"
|
||||
#include "X2ap-Oneframe.h"
|
||||
#include "X2ap-Old-ECGIs.h"
|
||||
#include "X2ap-PartialSuccessIndicator.h"
|
||||
#include "X2ap-PCI.h"
|
||||
#include "X2ap-PDCP-SN.h"
|
||||
#include "X2AP-PDU.h"
|
||||
#include "X2ap-PeriodicReportingMDT.h"
|
||||
#include "X2ap-PLMN-Identity.h"
|
||||
#include "X2ap-PRACH-Configuration.h"
|
||||
#include "X2ap-Pre-emptionCapability.h"
|
||||
#include "X2ap-Pre-emptionVulnerability.h"
|
||||
#include "X2ap-Presence.h"
|
||||
#include "X2ap-PriorityLevel.h"
|
||||
#include "X2ap-PrivateIE-ID.h"
|
||||
#include "X2ap-ProcedureCode.h"
|
||||
#include "X2ap-ProtocolIE-ID.h"
|
||||
#include "X2ap-QCI.h"
|
||||
#include "X2ap-RadioframeAllocationOffset.h"
|
||||
#include "X2ap-RadioframeAllocationPeriod.h"
|
||||
#include "X2ap-RadioResourceStatus.h"
|
||||
#include "X2ap-ReceiveStatusofULPDCPSDUs.h"
|
||||
#include "X2ap-Registration-Request.h"
|
||||
#include "X2ap-RelativeNarrowbandTxPower.h"
|
||||
#include "X2ap-ReportAmountMDT.h"
|
||||
#include "X2ap-ReportArea.h"
|
||||
#include "X2ap-ReportCharacteristics.h"
|
||||
#include "X2ap-ReportingTriggerMDT.h"
|
||||
#include "X2ap-ReportIntervalMDT.h"
|
||||
#include "X2ap-ReportingPeriodicity.h"
|
||||
#include "X2ap-ResourceStatusFailure.h"
|
||||
#include "X2ap-ResourceStatusResponse.h"
|
||||
#include "X2ap-ResourceStatusUpdate.h"
|
||||
|
||||
#include "X2ap-RNTP-Threshold.h"
|
||||
#include "X2ap-RRCConnReestabIndicator.h"
|
||||
#include "X2ap-RRCConnSetupIndicator.h"
|
||||
#include "X2ap-RRC-Context.h"
|
||||
#include "X2ap-RLFIndication.h"
|
||||
#include "X2ap-ResourceStatusRequest.h"
|
||||
#include "X2ap-S1TNLLoadIndicator.h"
|
||||
//nclude "X2ap-ServedCellInformation.h"
|
||||
#include "X2ap-ServedCells.h"
|
||||
#include "X2ap-ServedCellsToModify.h"
|
||||
#include "X2ap-ServedCellsToActivate.h"
|
||||
#include "X2ap-ShortMAC-I.h"
|
||||
#include "X2ap-SpecialSubframe-Info.h"
|
||||
#include "X2ap-SpecialSubframePatterns.h"
|
||||
#include "X2ap-SRVCCOperationPossible.h"
|
||||
#include "X2ap-SubframeAllocation.h"
|
||||
#include "X2ap-SubframeAssignment.h"
|
||||
#include "X2ap-SubscriberProfileIDforRFP.h"
|
||||
#include "X2ap-SNStatusTransfer.h"
|
||||
|
||||
#include "X2ap-TABasedMDT.h"
|
||||
#include "X2ap-TAC.h"
|
||||
#include "X2ap-TAListforMDT.h"
|
||||
#include "X2ap-TargetCellInUTRAN.h"
|
||||
#include "X2ap-TargeteNBtoSource-eNBTransparentContainer.h"
|
||||
#include "X2ap-TDD-Info.h"
|
||||
#include "X2ap-ThresholdEventA2.h"
|
||||
#include "X2ap-Threshold-RSRP.h"
|
||||
#include "X2ap-Threshold-RSRQ.h"
|
||||
#include "X2ap-TimeToWait.h"
|
||||
#include "X2ap-Time-UE-StayedInCell-EnhancedGranularity.h"
|
||||
#include "X2ap-Time-UE-StayedInCell.h"
|
||||
#include "X2ap-E-RABs-ToBeSetup-Item.h"
|
||||
#include "X2ap-TraceActivation.h"
|
||||
#include "X2ap-TraceCollectionEntityIPAddress.h"
|
||||
#include "X2ap-TraceDepth.h"
|
||||
#include "X2ap-Transmission-Bandwidth.h"
|
||||
#include "X2ap-TransportLayerAddress.h"
|
||||
#include "X2ap-TriggeringMessage.h"
|
||||
#include "X2ap-TypeOfError.h"
|
||||
#include "X2ap-UEAggregateMaximumBitRate.h"
|
||||
#include "X2ap-UE-ContextInformation.h"
|
||||
#include "X2ap-UE-HistoryInformation.h"
|
||||
#include "X2ap-UE-RLF-Report-Container.h"
|
||||
#include "X2ap-UE-S1AP-ID.h"
|
||||
#include "X2ap-UE-X2AP-ID.h"
|
||||
#include "X2ap-UEContextRelease.h"
|
||||
#include "X2ap-UESecurityCapabilities.h"
|
||||
#include "X2ap-UL-GBR-PRB-usage.h"
|
||||
#include "X2ap-UL-HighInterferenceIndication.h"
|
||||
#include "X2ap-UL-HighInterferenceIndicationInfo.h"
|
||||
#include "X2ap-UL-HighInterferenceIndicationInfo-Item.h"
|
||||
#include "X2ap-UL-InterferenceOverloadIndication.h"
|
||||
#include "X2ap-UL-InterferenceOverloadIndication-Item.h"
|
||||
#include "X2ap-UL-non-GBR-PRB-usage.h"
|
||||
#include "X2ap-UL-Total-PRB-usage.h"
|
||||
#include "X2ap-UsableABSInformationFDD.h"
|
||||
#include "X2ap-UsableABSInformation.h"
|
||||
#include "X2ap-UsableABSInformationTDD.h"
|
||||
|
||||
#include "X2ap-ResetResponse.h"
|
||||
#include "X2ap-ResetRequest.h"
|
||||
#include "X2SetupFailure.h"
|
||||
#include "X2SetupRequest.h"
|
||||
#include "X2SetupResponse.h"
|
||||
|
||||
#include "X2ap-Old-ECGIs.h"
|
||||
#include "X2ap-Criticality.h"
|
||||
#include "X2ap-ProcedureCode.h"
|
||||
#include "X2AP_ProtocolIE-Field.h"
|
||||
#include "X2AP_X2AP-PDU.h"
|
||||
#include "X2AP_InitiatingMessage.h"
|
||||
#include "X2AP_SuccessfulOutcome.h"
|
||||
#include "X2AP_UnsuccessfulOutcome.h"
|
||||
#include "X2AP_ProtocolIE-Field.h"
|
||||
#include "X2AP_ProtocolIE-FieldPair.h"
|
||||
#include "X2AP_ProtocolIE-ContainerPair.h"
|
||||
#include "X2AP_ProtocolExtensionField.h"
|
||||
#include "X2AP_ProtocolExtensionContainer.h"
|
||||
#include "X2AP_asn_constant.h"
|
||||
|
||||
#ifndef X2AP_COMMON_H_
|
||||
#define X2AP_COMMON_H_
|
||||
@@ -301,6 +71,21 @@ extern int asn1_xer_print;
|
||||
# define X2AP_DEBUG(x, args...) do { fprintf(stdout, "[X2AP][D]"x, ##args); } while(0)
|
||||
#endif
|
||||
|
||||
#define X2AP_FIND_PROTOCOLIE_BY_ID(IE_TYPE, ie, container, IE_ID, mandatory) \
|
||||
do {\
|
||||
IE_TYPE **ptr; \
|
||||
ie = NULL; \
|
||||
for (ptr = container->protocolIEs.list.array; \
|
||||
ptr < &container->protocolIEs.list.array[container->protocolIEs.list.count]; \
|
||||
ptr++) { \
|
||||
if((*ptr)->id == IE_ID) { \
|
||||
ie = *ptr; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
if (mandatory) DevAssert(ie != NULL); \
|
||||
} while(0)
|
||||
|
||||
//Forward declaration
|
||||
struct x2ap_message_s;
|
||||
|
||||
@@ -323,8 +108,8 @@ typedef int (*x2ap_message_decoded_callback)(
|
||||
ssize_t x2ap_generate_successfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
X2ap_ProcedureCode_t procedureCode,
|
||||
X2ap_Criticality_t criticality,
|
||||
X2AP_ProcedureCode_t procedureCode,
|
||||
X2AP_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr);
|
||||
|
||||
@@ -340,8 +125,8 @@ ssize_t x2ap_generate_successfull_outcome(
|
||||
ssize_t x2ap_generate_initiating_message(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
X2ap_ProcedureCode_t procedureCode,
|
||||
X2ap_Criticality_t criticality,
|
||||
X2AP_ProcedureCode_t procedureCode,
|
||||
X2AP_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr);
|
||||
|
||||
@@ -357,28 +142,15 @@ ssize_t x2ap_generate_initiating_message(
|
||||
ssize_t x2ap_generate_unsuccessfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
X2ap_ProcedureCode_t procedureCode,
|
||||
X2ap_Criticality_t criticality,
|
||||
X2AP_ProcedureCode_t procedureCode,
|
||||
X2AP_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr);
|
||||
|
||||
/** \brief Generate a new IE
|
||||
\param id Protocol ie id of the IE
|
||||
\param criticality Criticality of the IE
|
||||
\param type ASN1 type descriptor of the IE value
|
||||
\param sptr Structure to be encoded in the value field
|
||||
@returns a pointer to the newly created IE structure or NULL in case of failure
|
||||
**/
|
||||
X2ap_IE_t *x2ap_new_ie(
|
||||
X2ap_ProtocolIE_ID_t id,
|
||||
X2ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *type,
|
||||
void *sptr);
|
||||
|
||||
/** \brief Handle criticality
|
||||
\param criticality Criticality of the IE
|
||||
@returns void
|
||||
**/
|
||||
void x2ap_handle_criticality(X2ap_Criticality_t criticality);
|
||||
void x2ap_handle_criticality(X2AP_Criticality_t criticality);
|
||||
|
||||
#endif /* X2AP_COMMON_H_ */
|
||||
|
||||
@@ -32,6 +32,7 @@ MESSAGE_DEF(S1AP_INITIAL_UE_MESSAGE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText
|
||||
MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_REQ_LOG, MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_req_log)
|
||||
MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_COMMAND_LOG, MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_command_log)
|
||||
MESSAGE_DEF(S1AP_UE_CONTEXT_RELEASE_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_ue_context_release_log)
|
||||
MESSAGE_DEF(S1AP_ERROR_INDICATION_LOG , MESSAGE_PRIORITY_MED, IttiMsgText , s1ap_error_indication_log)
|
||||
|
||||
MESSAGE_DEF(S1AP_UE_CAPABILITIES_IND , MESSAGE_PRIORITY_MED, s1ap_ue_cap_ind_t , s1ap_ue_cap_ind)
|
||||
MESSAGE_DEF(S1AP_ENB_DEREGISTERED_IND , MESSAGE_PRIORITY_MED, s1ap_eNB_deregistered_ind_t , s1ap_eNB_deregistered_ind)
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
*/
|
||||
|
||||
#include "hashtable.h"
|
||||
#include "asn1_constants.h"
|
||||
#include "asn_constant.h"
|
||||
|
||||
#ifndef GTPV1U_ENB_DEFS_H_
|
||||
#define GTPV1U_ENB_DEFS_H_
|
||||
|
||||
@@ -1,232 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
S1ap-Criticality ::= ENUMERATED { reject, ignore, notify }
|
||||
|
||||
S1ap-Presence ::= ENUMERATED { optional, conditional, mandatory }
|
||||
|
||||
S1ap-PrivateIE-ID ::= CHOICE {
|
||||
local INTEGER (0..65535),
|
||||
global OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
S1ap-ProcedureCode ::= INTEGER {
|
||||
id-HandoverPreparation(0),
|
||||
id-HandoverResourceAllocation(1),
|
||||
id-HandoverNotification(2),
|
||||
id-PathSwitchRequest(3),
|
||||
id-HandoverCancel(4),
|
||||
id-E-RABSetup(5),
|
||||
id-E-RABModify(6),
|
||||
id-E-RABRelease(7),
|
||||
id-E-RABReleaseIndication(8),
|
||||
id-InitialContextSetup(9),
|
||||
id-Paging(10),
|
||||
id-downlinkNASTransport(11),
|
||||
id-initialUEMessage(12),
|
||||
id-uplinkNASTransport(13),
|
||||
id-Reset(14),
|
||||
id-ErrorIndication(15),
|
||||
id-NASNonDeliveryIndication(16),
|
||||
id-S1Setup(17),
|
||||
id-UEContextReleaseRequest(18),
|
||||
id-DownlinkS1cdma2000tunneling(19),
|
||||
id-UplinkS1cdma2000tunneling(20),
|
||||
id-UEContextModification(21),
|
||||
id-UECapabilityInfoIndication(22),
|
||||
id-UEContextRelease(23),
|
||||
id-eNBStatusTransfer(24),
|
||||
id-MMEStatusTransfer(25),
|
||||
id-DeactivateTrace(26),
|
||||
id-TraceStart(27),
|
||||
id-TraceFailureIndication(28),
|
||||
id-ENBConfigurationUpdate(29),
|
||||
id-MMEConfigurationUpdate(30),
|
||||
id-LocationReportingControl(31),
|
||||
id-LocationReportingFailureIndication(32),
|
||||
id-LocationReport(33),
|
||||
id-OverloadStart(34),
|
||||
id-OverloadStop(35),
|
||||
id-WriteReplaceWarning(36),
|
||||
id-eNBDirectInformationTransfer(37),
|
||||
id-MMEDirectInformationTransfer(38),
|
||||
id-PrivateMessage(39),
|
||||
id-eNBConfigurationTransfer(40),
|
||||
id-MMEConfigurationTransfer(41),
|
||||
id-CellTrafficTrace(42),
|
||||
id-Kill(43),
|
||||
id-downlinkUEAssociatedLPPaTransport(44),
|
||||
id-uplinkUEAssociatedLPPaTransport(45),
|
||||
id-downlinkNonUEAssociatedLPPaTransport(46),
|
||||
id-uplinkNonUEAssociatedLPPaTransport(47)
|
||||
} (0..255)
|
||||
|
||||
S1ap-ProtocolExtensionID ::= INTEGER (0..65535)
|
||||
|
||||
S1ap-ProtocolIE-ID ::= INTEGER {
|
||||
id-MME-UE-S1AP-ID (0),
|
||||
id-HandoverType (1),
|
||||
id-Cause (2),
|
||||
id-SourceID (3),
|
||||
id-TargetID (4),
|
||||
id-eNB-UE-S1AP-ID (8),
|
||||
id-E-RABSubjecttoDataForwardingList (12),
|
||||
id-E-RABtoReleaseListHOCmd (13),
|
||||
id-E-RABDataForwardingItem (14),
|
||||
id-E-RABReleaseItemBearerRelComp (15),
|
||||
id-E-RABToBeSetupListBearerSUReq (16),
|
||||
id-E-RABToBeSetupItemBearerSUReq (17),
|
||||
id-E-RABAdmittedList (18),
|
||||
id-E-RABFailedToSetupListHOReqAck (19),
|
||||
id-E-RABAdmittedItem (20),
|
||||
id-E-RABFailedToSetupItemHOReqAck (21),
|
||||
id-E-RABToBeSwitchedDLList (22),
|
||||
id-E-RABToBeSwitchedDLItem (23),
|
||||
id-E-RABToBeSetupListCtxtSUReq (24),
|
||||
id-TraceActivation (25),
|
||||
id-NAS-PDU (26),
|
||||
id-E-RABToBeSetupItemHOReq (27),
|
||||
id-E-RABSetupListBearerSURes (28),
|
||||
id-E-RABFailedToSetupListBearerSURes (29),
|
||||
id-E-RABToBeModifiedListBearerModReq (30),
|
||||
id-E-RABModifyListBearerModRes (31),
|
||||
id-E-RABFailedToModifyList (32),
|
||||
id-E-RABToBeReleasedList (33),
|
||||
id-E-RABFailedToReleaseList (34),
|
||||
id-E-RABItem (35),
|
||||
id-E-RABToBeModifiedItemBearerModReq (36),
|
||||
id-E-RABModifyItemBearerModRes (37),
|
||||
id-E-RABReleaseItem (38),
|
||||
id-E-RABSetupItemBearerSURes (39),
|
||||
id-SecurityContext (40),
|
||||
id-HandoverRestrictionList (41),
|
||||
id-UEPagingID (43),
|
||||
id-pagingDRX (44),
|
||||
id-TAIList (46),
|
||||
id-TAIItem (47),
|
||||
id-E-RABFailedToSetupListCtxtSURes (48),
|
||||
id-E-RABReleaseItemHOCmd (49),
|
||||
id-E-RABSetupItemCtxtSURes (50),
|
||||
id-E-RABSetupListCtxtSURes (51),
|
||||
id-E-RABToBeSetupItemCtxtSUReq (52),
|
||||
id-E-RABToBeSetupListHOReq (53),
|
||||
id-GERANtoLTEHOInformationRes (55),
|
||||
id-UTRANtoLTEHOInformationRes (57),
|
||||
id-CriticalityDiagnostics (58),
|
||||
id-Global-ENB-ID (59),
|
||||
id-eNBname (60),
|
||||
id-MMEname (61),
|
||||
id-ServedPLMNs (63),
|
||||
id-SupportedTAs (64),
|
||||
id-TimeToWait (65),
|
||||
id-uEaggregateMaximumBitrate (66),
|
||||
id-TAI (67),
|
||||
id-E-RABReleaseListBearerRelComp (69),
|
||||
id-cdma2000PDU (70),
|
||||
id-cdma2000RATType (71),
|
||||
id-cdma2000SectorID (72),
|
||||
id-SecurityKey (73),
|
||||
id-UERadioCapability (74),
|
||||
id-GUMMEI-ID (75),
|
||||
id-E-RABInformationListItem (78),
|
||||
id-Direct-Forwarding-Path-Availability (79),
|
||||
id-UEIdentityIndexValue (80),
|
||||
id-cdma2000HOStatus (83),
|
||||
id-cdma2000HORequiredIndication (84),
|
||||
id-E-UTRAN-Trace-ID (86),
|
||||
id-RelativeMMECapacity (87),
|
||||
id-SourceMME-UE-S1AP-ID (88),
|
||||
id-Bearers-SubjectToStatusTransfer-Item (89),
|
||||
id-eNB-StatusTransfer-TransparentContainer (90),
|
||||
id-UE-associatedLogicalS1-ConnectionItem (91),
|
||||
id-ResetType (92),
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck (93),
|
||||
id-E-RABToBeSwitchedULItem (94),
|
||||
id-E-RABToBeSwitchedULList (95),
|
||||
id-S-TMSI (96),
|
||||
id-cdma2000OneXRAND (97),
|
||||
id-RequestType (98),
|
||||
id-UE-S1AP-IDs (99),
|
||||
id-EUTRAN-CGI (100),
|
||||
id-OverloadResponse (101),
|
||||
id-cdma2000OneXSRVCCInfo (102),
|
||||
id-E-RABFailedToBeReleasedList (103),
|
||||
id-Source-ToTarget-TransparentContainer (104),
|
||||
id-ServedGUMMEIs (105),
|
||||
id-SubscriberProfileIDforRFP (106),
|
||||
id-UESecurityCapabilities (107),
|
||||
id-CSFallbackIndicator (108),
|
||||
id-CNDomain (109),
|
||||
id-E-RABReleasedList (110),
|
||||
id-MessageIdentifier (111),
|
||||
id-SerialNumber (112),
|
||||
id-WarningAreaList (113),
|
||||
id-RepetitionPeriod (114),
|
||||
id-NumberofBroadcastRequest (115),
|
||||
id-WarningType (116),
|
||||
id-WarningSecurityInfo (117),
|
||||
id-DataCodingScheme (118),
|
||||
id-WarningMessageContents (119),
|
||||
id-BroadcastCompletedAreaList (120),
|
||||
id-Inter-SystemInformationTransferTypeEDT (121),
|
||||
id-Inter-SystemInformationTransferTypeMDT (122),
|
||||
id-Target-ToSource-TransparentContainer (123),
|
||||
id-SRVCCOperationPossible (124),
|
||||
id-SRVCCHOIndication (125),
|
||||
id-NAS-DownlinkCount (126),
|
||||
id-CSG-Id (127),
|
||||
id-CSG-IdList (128),
|
||||
id-SONConfigurationTransferECT (129),
|
||||
id-SONConfigurationTransferMCT (130),
|
||||
id-TraceCollectionEntityIPAddress (131),
|
||||
id-MSClassmark2 (132),
|
||||
id-MSClassmark3 (133),
|
||||
id-RRC-Establishment-Cause (134),
|
||||
id-NASSecurityParametersfromE-UTRAN (135),
|
||||
id-NASSecurityParameterstoE-UTRAN (136),
|
||||
id-DefaultPagingDRX (137),
|
||||
id-Source-ToTarget-TransparentContainer-Secondary (138),
|
||||
id-Target-ToSource-TransparentContainer-Secondary (139),
|
||||
id-EUTRANRoundTripDelayEstimationInfo (140),
|
||||
id-BroadcastCancelledAreaList (141),
|
||||
id-ConcurrentWarningMessageIndicator (142),
|
||||
id-Data-Forwarding-Not-Possible (143),
|
||||
id-ExtendedRepetitionPeriod (144),
|
||||
id-CellAccessMode (145),
|
||||
id-CSGMembershipStatus (146),
|
||||
id-LPPa-PDU (147),
|
||||
id-Routing-ID (148),
|
||||
id-Time-Synchronization-Info (149),
|
||||
id-PS-ServiceNotAvailable (150),
|
||||
id-PagingPriority (151),
|
||||
id-x2TNLConfigurationInfo (152),
|
||||
id-eNBX2ExtendedTransportLayerAddresses (153),
|
||||
id-GUMMEIList (154),
|
||||
id-GW-TransportLayerAddress (155),
|
||||
id-Correlation-ID (156),
|
||||
id-SourceMME-GUMMEI (157),
|
||||
id-MME-UE-S1AP-ID-2 (158),
|
||||
id-RegisteredLAI (159),
|
||||
id-RelayNode-Indicator (160),
|
||||
id-TrafficLoadReductionIndication (161),
|
||||
id-MDTConfiguration (162),
|
||||
id-MMERelaySupportIndicator (163),
|
||||
id-GWContextReleaseIndication (164),
|
||||
id-ManagementBasedMDTAllowed (165),
|
||||
id-PrivacyIndicator (166)
|
||||
} (0..65535)
|
||||
|
||||
S1ap-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
|
||||
|
||||
END
|
||||
@@ -1,283 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
S1ap-ProcedureCode,
|
||||
S1ap-ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-HandoverPreparation S1ap-ProcedureCode ::= 0
|
||||
id-HandoverResourceAllocation S1ap-ProcedureCode ::= 1
|
||||
id-HandoverNotification S1ap-ProcedureCode ::= 2
|
||||
id-PathSwitchRequest S1ap-ProcedureCode ::= 3
|
||||
id-HandoverCancel S1ap-ProcedureCode ::= 4
|
||||
id-E-RABSetup S1ap-ProcedureCode ::= 5
|
||||
id-E-RABModify S1ap-ProcedureCode ::= 6
|
||||
id-E-RABRelease S1ap-ProcedureCode ::= 7
|
||||
id-E-RABReleaseIndication S1ap-ProcedureCode ::= 8
|
||||
id-InitialContextSetup S1ap-ProcedureCode ::= 9
|
||||
id-Paging S1ap-ProcedureCode ::= 10
|
||||
id-downlinkNASTransport S1ap-ProcedureCode ::= 11
|
||||
id-initialUEMessage S1ap-ProcedureCode ::= 12
|
||||
id-uplinkNASTransport S1ap-ProcedureCode ::= 13
|
||||
id-Reset S1ap-ProcedureCode::= 14
|
||||
id-ErrorIndication S1ap-ProcedureCode ::= 15
|
||||
id-NASNonDeliveryIndication S1ap-ProcedureCode ::= 16
|
||||
id-S1Setup S1ap-ProcedureCode ::= 17
|
||||
id-UEContextReleaseRequest S1ap-ProcedureCode ::= 18
|
||||
id-DownlinkS1cdma2000tunneling S1ap-ProcedureCode ::= 19
|
||||
id-UplinkS1cdma2000tunneling S1ap-ProcedureCode ::= 20
|
||||
id-UEContextModification S1ap-ProcedureCode ::= 21
|
||||
id-UECapabilityInfoIndication S1ap-ProcedureCode ::= 22
|
||||
id-UEContextRelease S1ap-ProcedureCode ::= 23
|
||||
id-eNBStatusTransfer S1ap-ProcedureCode ::= 24
|
||||
id-MMEStatusTransfer S1ap-ProcedureCode ::= 25
|
||||
id-DeactivateTrace S1ap-ProcedureCode ::= 26
|
||||
id-TraceStart S1ap-ProcedureCode ::= 27
|
||||
id-TraceFailureIndication S1ap-ProcedureCode ::= 28
|
||||
id-ENBConfigurationUpdate S1ap-ProcedureCode ::= 29
|
||||
id-MMEConfigurationUpdate S1ap-ProcedureCode ::= 30
|
||||
id-LocationReportingControl S1ap-ProcedureCode ::= 31
|
||||
id-LocationReportingFailureIndication S1ap-ProcedureCode ::= 32
|
||||
id-LocationReport S1ap-ProcedureCode ::= 33
|
||||
id-OverloadStart S1ap-ProcedureCode ::= 34
|
||||
id-OverloadStop S1ap-ProcedureCode ::= 35
|
||||
id-WriteReplaceWarning S1ap-ProcedureCode ::= 36
|
||||
id-eNBDirectInformationTransfer S1ap-ProcedureCode ::= 37
|
||||
id-MMEDirectInformationTransfer S1ap-ProcedureCode ::= 38
|
||||
id-PrivateMessage S1ap-ProcedureCode ::= 39
|
||||
id-eNBConfigurationTransfer S1ap-ProcedureCode ::= 40
|
||||
id-MMEConfigurationTransfer S1ap-ProcedureCode ::= 41
|
||||
id-CellTrafficTrace S1ap-ProcedureCode ::= 42
|
||||
id-Kill S1ap-ProcedureCode ::= 43
|
||||
id-downlinkUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 44
|
||||
id-uplinkUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 45
|
||||
id-downlinkNonUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 46
|
||||
id-uplinkNonUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 47
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
s1ap-maxPrivateIEs INTEGER ::= 65535
|
||||
s1ap-maxProtocolExtensions INTEGER ::= 65535
|
||||
s1ap-maxProtocolIEs INTEGER ::= 65535
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
s1ap-maxNrOfCSGs INTEGER ::= 256
|
||||
s1ap-maxNrOfE-RABs INTEGER ::= 256
|
||||
s1ap-maxnoofTAIs INTEGER ::= 256
|
||||
s1ap-maxnoofTACs INTEGER ::= 256
|
||||
s1ap-maxNrOfErrors INTEGER ::= 256
|
||||
s1ap-maxnoofBPLMNs INTEGER ::= 6
|
||||
s1ap-maxnoofPLMNsPerMME INTEGER ::= 32
|
||||
s1ap-maxnoofEPLMNs INTEGER ::= 15
|
||||
s1ap-maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
s1ap-maxnoofForbLACs INTEGER ::= 4096
|
||||
s1ap-maxnoofForbTACs INTEGER ::= 4096
|
||||
s1ap-maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
|
||||
s1ap-maxnoofCells INTEGER ::= 16
|
||||
s1ap-maxnoofTAIforWarning INTEGER ::= 65535
|
||||
s1ap-maxnoofCellID INTEGER ::= 65535
|
||||
s1ap-maxnoofEmergencyAreaID INTEGER ::= 65535
|
||||
s1ap-maxnoofCellinTAI INTEGER ::= 65535
|
||||
s1ap-maxnoofCellinEAI INTEGER ::= 65535
|
||||
s1ap-maxnoofeNBX2TLAs INTEGER ::= 2
|
||||
s1ap-maxnoofeNBX2ExtTLAs INTEGER ::= 16
|
||||
s1ap-maxnoofeNBX2GTPTLAs INTEGER ::= 16
|
||||
s1ap-maxnoofRATs INTEGER ::= 8
|
||||
s1ap-maxnoofGroupIDs INTEGER ::= 65535
|
||||
s1ap-maxnoofMMECs INTEGER ::= 256
|
||||
s1ap-maxnoofCellIDforMDT INTEGER ::= 32
|
||||
s1ap-maxnoofTAforMDT INTEGER ::= 8
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-MME-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 0
|
||||
id-HandoverType S1ap-ProtocolIE-ID ::= 1
|
||||
id-Cause S1ap-ProtocolIE-ID ::= 2
|
||||
id-SourceID S1ap-ProtocolIE-ID ::= 3
|
||||
id-TargetID S1ap-ProtocolIE-ID ::= 4
|
||||
id-eNB-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 8
|
||||
id-E-RABSubjecttoDataForwardingList S1ap-ProtocolIE-ID ::= 12
|
||||
id-E-RABtoReleaseListHOCmd S1ap-ProtocolIE-ID ::= 13
|
||||
id-E-RABDataForwardingItem S1ap-ProtocolIE-ID ::= 14
|
||||
id-E-RABReleaseItemBearerRelComp S1ap-ProtocolIE-ID ::= 15
|
||||
id-E-RABToBeSetupListBearerSUReq S1ap-ProtocolIE-ID ::= 16
|
||||
id-E-RABToBeSetupItemBearerSUReq S1ap-ProtocolIE-ID ::= 17
|
||||
id-E-RABAdmittedList S1ap-ProtocolIE-ID ::= 18
|
||||
id-E-RABFailedToSetupListHOReqAck S1ap-ProtocolIE-ID ::= 19
|
||||
id-E-RABAdmittedItem S1ap-ProtocolIE-ID ::= 20
|
||||
id-E-RABFailedtoSetupItemHOReqAck S1ap-ProtocolIE-ID ::= 21
|
||||
id-E-RABToBeSwitchedDLList S1ap-ProtocolIE-ID ::= 22
|
||||
id-E-RABToBeSwitchedDLItem S1ap-ProtocolIE-ID ::= 23
|
||||
id-E-RABToBeSetupListCtxtSUReq S1ap-ProtocolIE-ID ::= 24
|
||||
id-TraceActivation S1ap-ProtocolIE-ID ::= 25
|
||||
id-NAS-PDU S1ap-ProtocolIE-ID ::= 26
|
||||
id-E-RABToBeSetupItemHOReq S1ap-ProtocolIE-ID ::= 27
|
||||
id-E-RABSetupListBearerSURes S1ap-ProtocolIE-ID ::= 28
|
||||
id-E-RABFailedToSetupListBearerSURes S1ap-ProtocolIE-ID ::= 29
|
||||
id-E-RABToBeModifiedListBearerModReq S1ap-ProtocolIE-ID ::= 30
|
||||
id-E-RABModifyListBearerModRes S1ap-ProtocolIE-ID ::= 31
|
||||
id-E-RABFailedToModifyList S1ap-ProtocolIE-ID ::= 32
|
||||
id-E-RABToBeReleasedList S1ap-ProtocolIE-ID ::= 33
|
||||
id-E-RABFailedToReleaseList S1ap-ProtocolIE-ID ::= 34
|
||||
id-E-RABItem S1ap-ProtocolIE-ID ::= 35
|
||||
id-E-RABToBeModifiedItemBearerModReq S1ap-ProtocolIE-ID ::= 36
|
||||
id-E-RABModifyItemBearerModRes S1ap-ProtocolIE-ID ::= 37
|
||||
id-E-RABReleaseItem S1ap-ProtocolIE-ID ::= 38
|
||||
id-E-RABSetupItemBearerSURes S1ap-ProtocolIE-ID ::= 39
|
||||
id-SecurityContext S1ap-ProtocolIE-ID ::= 40
|
||||
id-HandoverRestrictionList S1ap-ProtocolIE-ID ::= 41
|
||||
id-UEPagingID S1ap-ProtocolIE-ID ::= 43
|
||||
id-pagingDRX S1ap-ProtocolIE-ID ::= 44
|
||||
id-TAIList S1ap-ProtocolIE-ID ::= 46
|
||||
id-TAIItem S1ap-ProtocolIE-ID ::= 47
|
||||
id-E-RABFailedToSetupListCtxtSURes S1ap-ProtocolIE-ID ::= 48
|
||||
id-E-RABReleaseItemHOCmd S1ap-ProtocolIE-ID ::= 49
|
||||
id-E-RABSetupItemCtxtSURes S1ap-ProtocolIE-ID ::= 50
|
||||
id-E-RABSetupListCtxtSURes S1ap-ProtocolIE-ID ::= 51
|
||||
id-E-RABToBeSetupItemCtxtSUReq S1ap-ProtocolIE-ID ::= 52
|
||||
id-E-RABToBeSetupListHOReq S1ap-ProtocolIE-ID ::= 53
|
||||
id-GERANtoLTEHOInformationRes S1ap-ProtocolIE-ID ::= 55
|
||||
id-UTRANtoLTEHOInformationRes S1ap-ProtocolIE-ID ::= 57
|
||||
id-CriticalityDiagnostics S1ap-ProtocolIE-ID ::= 58
|
||||
id-Global-ENB-ID S1ap-ProtocolIE-ID ::= 59
|
||||
id-eNBname S1ap-ProtocolIE-ID ::= 60
|
||||
id-MMEname S1ap-ProtocolIE-ID ::= 61
|
||||
id-ServedPLMNs S1ap-ProtocolIE-ID ::= 63
|
||||
id-SupportedTAs S1ap-ProtocolIE-ID ::= 64
|
||||
id-TimeToWait S1ap-ProtocolIE-ID ::= 65
|
||||
id-uEaggregateMaximumBitrate S1ap-ProtocolIE-ID ::= 66
|
||||
id-TAI S1ap-ProtocolIE-ID ::= 67
|
||||
id-E-RABReleaseListBearerRelComp S1ap-ProtocolIE-ID ::= 69
|
||||
id-cdma2000PDU S1ap-ProtocolIE-ID ::= 70
|
||||
id-cdma2000RATType S1ap-ProtocolIE-ID ::= 71
|
||||
id-cdma2000SectorID S1ap-ProtocolIE-ID ::= 72
|
||||
id-SecurityKey S1ap-ProtocolIE-ID ::= 73
|
||||
id-UERadioCapability S1ap-ProtocolIE-ID ::= 74
|
||||
id-GUMMEI-ID S1ap-ProtocolIE-ID ::= 75
|
||||
id-E-RABInformationListItem S1ap-ProtocolIE-ID ::= 78
|
||||
id-Direct-Forwarding-Path-Availability S1ap-ProtocolIE-ID ::= 79
|
||||
id-UEIdentityIndexValue S1ap-ProtocolIE-ID ::= 80
|
||||
id-cdma2000HOStatus S1ap-ProtocolIE-ID ::= 83
|
||||
id-cdma2000HORequiredIndication S1ap-ProtocolIE-ID ::= 84
|
||||
id-E-UTRAN-Trace-ID S1ap-ProtocolIE-ID ::= 86
|
||||
id-RelativeMMECapacity S1ap-ProtocolIE-ID ::= 87
|
||||
id-SourceMME-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 88
|
||||
id-Bearers-SubjectToStatusTransfer-Item S1ap-ProtocolIE-ID ::= 89
|
||||
id-eNB-StatusTransfer-TransparentContainer S1ap-ProtocolIE-ID ::= 90
|
||||
id-UE-associatedLogicalS1-ConnectionItem S1ap-ProtocolIE-ID ::= 91
|
||||
id-ResetType S1ap-ProtocolIE-ID ::= 92
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck S1ap-ProtocolIE-ID ::= 93
|
||||
id-E-RABToBeSwitchedULItem S1ap-ProtocolIE-ID ::= 94
|
||||
id-E-RABToBeSwitchedULList S1ap-ProtocolIE-ID ::= 95
|
||||
id-S-TMSI S1ap-ProtocolIE-ID ::= 96
|
||||
id-cdma2000OneXRAND S1ap-ProtocolIE-ID ::= 97
|
||||
id-RequestType S1ap-ProtocolIE-ID ::= 98
|
||||
id-UE-S1AP-IDs S1ap-ProtocolIE-ID ::= 99
|
||||
id-EUTRAN-CGI S1ap-ProtocolIE-ID ::= 100
|
||||
id-OverloadResponse S1ap-ProtocolIE-ID ::= 101
|
||||
id-cdma2000OneXSRVCCInfo S1ap-ProtocolIE-ID ::= 102
|
||||
id-E-RABFailedToBeReleasedList S1ap-ProtocolIE-ID ::= 103
|
||||
id-Source-ToTarget-TransparentContainer S1ap-ProtocolIE-ID ::= 104
|
||||
id-ServedGUMMEIs S1ap-ProtocolIE-ID ::= 105
|
||||
id-SubscriberProfileIDforRFP S1ap-ProtocolIE-ID ::= 106
|
||||
id-UESecurityCapabilities S1ap-ProtocolIE-ID ::= 107
|
||||
id-CSFallbackIndicator S1ap-ProtocolIE-ID ::= 108
|
||||
id-CNDomain S1ap-ProtocolIE-ID ::= 109
|
||||
id-E-RABReleasedList S1ap-ProtocolIE-ID ::= 110
|
||||
id-MessageIdentifier S1ap-ProtocolIE-ID ::= 111
|
||||
id-SerialNumber S1ap-ProtocolIE-ID ::= 112
|
||||
id-WarningAreaList S1ap-ProtocolIE-ID ::= 113
|
||||
id-RepetitionPeriod S1ap-ProtocolIE-ID ::= 114
|
||||
id-NumberofBroadcastRequest S1ap-ProtocolIE-ID ::= 115
|
||||
id-WarningType S1ap-ProtocolIE-ID ::= 116
|
||||
id-WarningSecurityInfo S1ap-ProtocolIE-ID ::= 117
|
||||
id-DataCodingScheme S1ap-ProtocolIE-ID ::= 118
|
||||
id-WarningMessageContents S1ap-ProtocolIE-ID ::= 119
|
||||
id-BroadcastCompletedAreaList S1ap-ProtocolIE-ID ::= 120
|
||||
id-Inter-SystemInformationTransferTypeEDT S1ap-ProtocolIE-ID ::= 121
|
||||
id-Inter-SystemInformationTransferTypeMDT S1ap-ProtocolIE-ID ::= 122
|
||||
id-Target-ToSource-TransparentContainer S1ap-ProtocolIE-ID ::= 123
|
||||
id-SRVCCOperationPossible S1ap-ProtocolIE-ID ::= 124
|
||||
id-SRVCCHOIndication S1ap-ProtocolIE-ID ::= 125
|
||||
id-NAS-DownlinkCount S1ap-ProtocolIE-ID ::= 126
|
||||
id-CSG-Id S1ap-ProtocolIE-ID ::= 127
|
||||
id-CSG-IdList S1ap-ProtocolIE-ID ::= 128
|
||||
id-SONConfigurationTransferECT S1ap-ProtocolIE-ID ::= 129
|
||||
id-SONConfigurationTransferMCT S1ap-ProtocolIE-ID ::= 130
|
||||
id-TraceCollectionEntityIPAddress S1ap-ProtocolIE-ID ::= 131
|
||||
id-MSClassmark2 S1ap-ProtocolIE-ID ::= 132
|
||||
id-MSClassmark3 S1ap-ProtocolIE-ID ::= 133
|
||||
id-RRC-Establishment-Cause S1ap-ProtocolIE-ID ::= 134
|
||||
id-NASSecurityParametersfromE-UTRAN S1ap-ProtocolIE-ID ::= 135
|
||||
id-NASSecurityParameterstoE-UTRAN S1ap-ProtocolIE-ID ::= 136
|
||||
id-DefaultPagingDRX S1ap-ProtocolIE-ID ::= 137
|
||||
id-Source-ToTarget-TransparentContainer-Secondary S1ap-ProtocolIE-ID ::= 138
|
||||
id-Target-ToSource-TransparentContainer-Secondary S1ap-ProtocolIE-ID ::= 139
|
||||
id-EUTRANRoundTripDelayEstimationInfo S1ap-ProtocolIE-ID ::= 140
|
||||
id-BroadcastCancelledAreaList S1ap-ProtocolIE-ID ::= 141
|
||||
id-ConcurrentWarningMessageIndicator S1ap-ProtocolIE-ID ::= 142
|
||||
id-Data-Forwarding-Not-Possible S1ap-ProtocolIE-ID ::= 143
|
||||
id-ExtendedRepetitionPeriod S1ap-ProtocolIE-ID ::= 144
|
||||
id-CellAccessMode S1ap-ProtocolIE-ID ::= 145
|
||||
id-CSGMembershipStatus S1ap-ProtocolIE-ID ::= 146
|
||||
id-LPPa-PDU S1ap-ProtocolIE-ID ::= 147
|
||||
id-Routing-ID S1ap-ProtocolIE-ID ::= 148
|
||||
id-Time-Synchronization-Info S1ap-ProtocolIE-ID ::= 149
|
||||
id-PS-ServiceNotAvailable S1ap-ProtocolIE-ID ::= 150
|
||||
id-PagingPriority S1ap-ProtocolIE-ID ::= 151
|
||||
id-x2TNLConfigurationInfo S1ap-ProtocolIE-ID ::= 152
|
||||
id-eNBX2ExtendedTransportLayerAddresses S1ap-ProtocolIE-ID ::= 153
|
||||
id-GUMMEIList S1ap-ProtocolIE-ID ::= 154
|
||||
id-GW-TransportLayerAddress S1ap-ProtocolIE-ID ::= 155
|
||||
id-Correlation-ID S1ap-ProtocolIE-ID ::= 156
|
||||
id-SourceMME-GUMMEI S1ap-ProtocolIE-ID ::= 157
|
||||
id-MME-UE-S1AP-ID-2 S1ap-ProtocolIE-ID ::= 158
|
||||
id-RegisteredLAI S1ap-ProtocolIE-ID ::= 159
|
||||
id-RelayNode-Indicator S1ap-ProtocolIE-ID ::= 160
|
||||
id-TrafficLoadReductionIndication S1ap-ProtocolIE-ID ::= 161
|
||||
id-MDTConfiguration S1ap-ProtocolIE-ID ::= 162
|
||||
id-MMERelaySupportIndicator S1ap-ProtocolIE-ID ::= 163
|
||||
id-GWContextReleaseIndication S1ap-ProtocolIE-ID ::= 164
|
||||
id-ManagementBasedMDTAllowed S1ap-ProtocolIE-ID ::= 165
|
||||
id-PrivacyIndicator S1ap-ProtocolIE-ID ::= 166
|
||||
|
||||
END
|
||||
@@ -1,197 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Containers {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
S1ap-Criticality,
|
||||
S1ap-Presence,
|
||||
S1ap-PrivateIE-ID,
|
||||
S1ap-ProtocolExtensionID,
|
||||
S1ap-ProtocolIE-ID
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
s1ap-maxPrivateIEs,
|
||||
s1ap-maxProtocolExtensions,
|
||||
s1ap-maxProtocolIEs
|
||||
FROM S1AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-IES ::= CLASS {
|
||||
&id S1ap-ProtocolIE-ID UNIQUE,
|
||||
&criticality S1ap-Criticality,
|
||||
&Value,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-IES-PAIR ::= CLASS {
|
||||
&id S1ap-ProtocolIE-ID UNIQUE,
|
||||
&firstCriticality S1ap-Criticality,
|
||||
&FirstValue,
|
||||
&secondCriticality S1ap-Criticality,
|
||||
&SecondValue,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
FIRST CRITICALITY &firstCriticality
|
||||
FIRST TYPE &FirstValue
|
||||
SECOND CRITICALITY &secondCriticality
|
||||
SECOND TYPE &SecondValue
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-EXTENSION ::= CLASS {
|
||||
&id S1ap-ProtocolExtensionID UNIQUE,
|
||||
&criticality S1ap-Criticality,
|
||||
&Extension,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
EXTENSION &Extension
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PRIVATE-IES ::= CLASS {
|
||||
&id S1ap-PrivateIE-ID,
|
||||
&criticality S1ap-Criticality,
|
||||
&Value,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IE Pairs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-FieldPair {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
|
||||
firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
|
||||
firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
|
||||
secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
|
||||
secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container Lists for Protocol IE Containers
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-SingleContainer {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
|
||||
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
|
||||
ProtocolExtensionField {{ExtensionSetParam}}
|
||||
|
||||
ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
|
||||
criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
|
||||
extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
|
||||
SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
|
||||
PrivateIE-Field {{IEsSetParam}}
|
||||
|
||||
PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
END
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,590 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
S1ap-Criticality,
|
||||
S1ap-ProcedureCode
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
S1ap-CellTrafficTrace,
|
||||
S1ap-DeactivateTrace,
|
||||
S1ap-DownlinkUEAssociatedLPPaTransport,
|
||||
S1ap-DownlinkNASTransport,
|
||||
S1ap-DownlinkNonUEAssociatedLPPaTransport,
|
||||
S1ap-DownlinkS1cdma2000tunneling,
|
||||
S1ap-ENBDirectInformationTransfer,
|
||||
S1ap-ENBStatusTransfer,
|
||||
S1ap-ENBConfigurationUpdate,
|
||||
S1ap-ENBConfigurationUpdateAcknowledge,
|
||||
S1ap-ENBConfigurationUpdateFailure,
|
||||
S1ap-ErrorIndication,
|
||||
S1ap-HandoverCancel,
|
||||
S1ap-HandoverCancelAcknowledge,
|
||||
S1ap-HandoverCommand,
|
||||
S1ap-HandoverFailure,
|
||||
S1ap-HandoverNotify,
|
||||
S1ap-HandoverPreparationFailure,
|
||||
S1ap-HandoverRequest,
|
||||
S1ap-HandoverRequestAcknowledge,
|
||||
S1ap-HandoverRequired,
|
||||
S1ap-InitialContextSetupFailure,
|
||||
S1ap-InitialContextSetupRequest,
|
||||
S1ap-InitialContextSetupResponse,
|
||||
S1ap-InitialUEMessage,
|
||||
S1ap-KillRequest,
|
||||
S1ap-KillResponse,
|
||||
S1ap-LocationReportingControl,
|
||||
S1ap-LocationReportingFailureIndication,
|
||||
S1ap-LocationReport,
|
||||
S1ap-MMEConfigurationUpdate,
|
||||
S1ap-MMEConfigurationUpdateAcknowledge,
|
||||
S1ap-MMEConfigurationUpdateFailure,
|
||||
S1ap-MMEDirectInformationTransfer,
|
||||
S1ap-MMEStatusTransfer,
|
||||
S1ap-NASNonDeliveryIndication,
|
||||
S1ap-OverloadStart,
|
||||
S1ap-OverloadStop,
|
||||
S1ap-Paging,
|
||||
S1ap-PathSwitchRequest,
|
||||
S1ap-PathSwitchRequestAcknowledge,
|
||||
S1ap-PathSwitchRequestFailure,
|
||||
S1ap-PrivateMessage,
|
||||
S1ap-Reset,
|
||||
S1ap-ResetAcknowledge,
|
||||
S1ap-S1SetupFailure,
|
||||
S1ap-S1SetupRequest,
|
||||
S1ap-S1SetupResponse,
|
||||
E-S1ap-RABModifyRequest,
|
||||
E-S1ap-RABModifyResponse,
|
||||
E-S1ap-RABReleaseCommand,
|
||||
E-S1ap-RABReleaseResponse,
|
||||
E-S1ap-RABReleaseIndication,
|
||||
E-S1ap-RABSetupRequest,
|
||||
E-S1ap-RABSetupResponse,
|
||||
S1ap-TraceFailureIndication,
|
||||
S1ap-TraceStart,
|
||||
S1ap-UECapabilityInfoIndication,
|
||||
S1ap-UEContextModificationFailure,
|
||||
S1ap-UEContextModificationRequest,
|
||||
S1ap-UEContextModificationResponse,
|
||||
S1ap-UEContextReleaseCommand,
|
||||
S1ap-UEContextReleaseComplete,
|
||||
S1ap-UEContextReleaseRequest,
|
||||
S1ap-UplinkUEAssociatedLPPaTransport,
|
||||
S1ap-UplinkNASTransport,
|
||||
S1ap-UplinkNonUEAssociatedLPPaTransport,
|
||||
S1ap-UplinkS1cdma2000tunneling,
|
||||
S1ap-WriteReplaceWarningRequest,
|
||||
S1ap-WriteReplaceWarningResponse,
|
||||
S1ap-ENBConfigurationTransfer,
|
||||
S1ap-MMEConfigurationTransfer
|
||||
|
||||
FROM S1AP-PDU-Contents
|
||||
|
||||
id-CellTrafficTrace,
|
||||
id-DeactivateTrace,
|
||||
id-downlinkUEAssociatedLPPaTransport,
|
||||
id-downlinkNASTransport,
|
||||
id-downlinkNonUEAssociatedLPPaTransport,
|
||||
id-DownlinkS1cdma2000tunneling,
|
||||
id-eNBStatusTransfer,
|
||||
id-ErrorIndication,
|
||||
id-HandoverCancel,
|
||||
id-HandoverNotification,
|
||||
id-HandoverPreparation,
|
||||
id-HandoverResourceAllocation,
|
||||
id-InitialContextSetup,
|
||||
id-initialUEMessage,
|
||||
id-ENBConfigurationUpdate,
|
||||
id-Kill,
|
||||
id-LocationReportingControl,
|
||||
id-LocationReportingFailureIndication,
|
||||
id-LocationReport,
|
||||
id-eNBDirectInformationTransfer,
|
||||
id-MMEConfigurationUpdate,
|
||||
id-MMEDirectInformationTransfer,
|
||||
id-MMEStatusTransfer,
|
||||
id-NASNonDeliveryIndication,
|
||||
id-OverloadStart,
|
||||
id-OverloadStop,
|
||||
id-Paging,
|
||||
id-PathSwitchRequest,
|
||||
id-PrivateMessage,
|
||||
id-Reset,
|
||||
id-S1Setup,
|
||||
id-E-RABModify,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-TraceFailureIndication,
|
||||
id-TraceStart,
|
||||
id-UECapabilityInfoIndication,
|
||||
id-UEContextModification,
|
||||
id-UEContextRelease,
|
||||
id-UEContextReleaseRequest,
|
||||
id-uplinkUEAssociatedLPPaTransport,
|
||||
id-uplinkNASTransport,
|
||||
id-uplinkNonUEAssociatedLPPaTransport,
|
||||
id-UplinkS1cdma2000tunneling,
|
||||
id-WriteReplaceWarning,
|
||||
id-eNBConfigurationTransfer,
|
||||
id-MMEConfigurationTransfer
|
||||
FROM S1AP-Constants;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverPreparation |
|
||||
handoverResourceAllocation |
|
||||
pathSwitchRequest |
|
||||
e-RABSetup |
|
||||
e-RABModify |
|
||||
e-RABRelease |
|
||||
initialContextSetup |
|
||||
handoverCancel |
|
||||
kill |
|
||||
reset |
|
||||
s1Setup |
|
||||
uEContextModification |
|
||||
uEContextRelease |
|
||||
eNBConfigurationUpdate |
|
||||
mMEConfigurationUpdate |
|
||||
writeReplaceWarning ,
|
||||
...
|
||||
}
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverNotification |
|
||||
e-RABReleaseIndication |
|
||||
paging |
|
||||
downlinkNASTransport |
|
||||
initialUEMessage |
|
||||
uplinkNASTransport |
|
||||
errorIndication |
|
||||
nASNonDeliveryIndication |
|
||||
uEContextReleaseRequest |
|
||||
downlinkS1cdma2000tunneling |
|
||||
uplinkS1cdma2000tunneling |
|
||||
uECapabilityInfoIndication |
|
||||
eNBStatusTransfer |
|
||||
mMEStatusTransfer |
|
||||
deactivateTrace |
|
||||
traceStart |
|
||||
traceFailureIndication |
|
||||
cellTrafficTrace |
|
||||
locationReportingControl |
|
||||
locationReportingFailureIndication |
|
||||
locationReport |
|
||||
overloadStart |
|
||||
overloadStop |
|
||||
eNBDirectInformationTransfer |
|
||||
mMEDirectInformationTransfer |
|
||||
eNBConfigurationTransfer |
|
||||
mMEConfigurationTransfer |
|
||||
privateMessage ,
|
||||
...,
|
||||
downlinkUEAssociatedLPPaTransport |
|
||||
uplinkUEAssociatedLPPaTransport |
|
||||
downlinkNonUEAssociatedLPPaTransport |
|
||||
uplinkNonUEAssociatedLPPaTransport
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequired
|
||||
SUCCESSFUL OUTCOME HandoverCommand
|
||||
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
|
||||
PROCEDURE CODE id-HandoverPreparation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequest
|
||||
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME HandoverFailure
|
||||
PROCEDURE CODE id-HandoverResourceAllocation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverNotify
|
||||
PROCEDURE CODE id-HandoverNotification
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PathSwitchRequest
|
||||
SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
|
||||
PROCEDURE CODE id-PathSwitchRequest
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABSetupRequest
|
||||
SUCCESSFUL OUTCOME E-RABSetupResponse
|
||||
PROCEDURE CODE id-E-RABSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABModifyRequest
|
||||
SUCCESSFUL OUTCOME E-RABModifyResponse
|
||||
PROCEDURE CODE id-E-RABModify
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseCommand
|
||||
SUCCESSFUL OUTCOME E-RABReleaseResponse
|
||||
PROCEDURE CODE id-E-RABRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseIndication
|
||||
PROCEDURE CODE id-E-RABReleaseIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialContextSetupRequest
|
||||
SUCCESSFUL OUTCOME InitialContextSetupResponse
|
||||
UNSUCCESSFUL OUTCOME InitialContextSetupFailure
|
||||
PROCEDURE CODE id-InitialContextSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseRequest
|
||||
PROCEDURE CODE id-UEContextReleaseRequest
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
paging S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Paging
|
||||
PROCEDURE CODE id-Paging
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNASTransport
|
||||
PROCEDURE CODE id-downlinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialUEMessage
|
||||
PROCEDURE CODE id-initialUEMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNASTransport
|
||||
PROCEDURE CODE id-uplinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE NASNonDeliveryIndication
|
||||
PROCEDURE CODE id-NASNonDeliveryIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverCancel
|
||||
SUCCESSFUL OUTCOME HandoverCancelAcknowledge
|
||||
PROCEDURE CODE id-HandoverCancel
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
reset S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Reset
|
||||
SUCCESSFUL OUTCOME ResetAcknowledge
|
||||
PROCEDURE CODE id-Reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-ErrorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE S1SetupRequest
|
||||
SUCCESSFUL OUTCOME S1SetupResponse
|
||||
UNSUCCESSFUL OUTCOME S1SetupFailure
|
||||
PROCEDURE CODE id-S1Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-ENBConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-MMEConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-DownlinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-UplinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextModificationRequest
|
||||
SUCCESSFUL OUTCOME UEContextModificationResponse
|
||||
UNSUCCESSFUL OUTCOME UEContextModificationFailure
|
||||
|
||||
PROCEDURE CODE id-UEContextModification
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UECapabilityInfoIndication
|
||||
PROCEDURE CODE id-UECapabilityInfoIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseCommand
|
||||
SUCCESSFUL OUTCOME UEContextReleaseComplete
|
||||
PROCEDURE CODE id-UEContextRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBStatusTransfer
|
||||
PROCEDURE CODE id-eNBStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEStatusTransfer
|
||||
PROCEDURE CODE id-MMEStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DeactivateTrace
|
||||
PROCEDURE CODE id-DeactivateTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceStart
|
||||
PROCEDURE CODE id-TraceStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceFailureIndication
|
||||
PROCEDURE CODE id-TraceFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
|
||||
INITIATING MESSAGE CellTrafficTrace
|
||||
PROCEDURE CODE id-CellTrafficTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingControl
|
||||
PROCEDURE CODE id-LocationReportingControl
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingFailureIndication
|
||||
PROCEDURE CODE id-LocationReportingFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReport
|
||||
PROCEDURE CODE id-LocationReport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStart
|
||||
PROCEDURE CODE id-OverloadStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStop
|
||||
PROCEDURE CODE id-OverloadStop
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE WriteReplaceWarningRequest
|
||||
SUCCESSFUL OUTCOME WriteReplaceWarningResponse
|
||||
PROCEDURE CODE id-WriteReplaceWarning
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBDirectInformationTransfer
|
||||
PROCEDURE CODE id-eNBDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEDirectInformationTransfer
|
||||
PROCEDURE CODE id-MMEDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationTransfer
|
||||
PROCEDURE CODE id-eNBConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationTransfer
|
||||
PROCEDURE CODE id-MMEConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
|
||||
privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-PrivateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
kill S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE KillRequest
|
||||
SUCCESSFUL OUTCOME KillResponse
|
||||
PROCEDURE CODE id-Kill
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
END
|
||||
@@ -1,412 +0,0 @@
|
||||
S1AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1)
|
||||
}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
S1ap-Criticality,
|
||||
S1ap-ProcedureCode,
|
||||
S1ap-ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
s1ap-maxProtocolIEs
|
||||
|
||||
FROM S1AP-Constants;
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage S1ap-InitiatingMessage,
|
||||
successfulOutcome S1ap-SuccessfulOutcome,
|
||||
unsuccessfulOutcome S1ap-UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode S1ap-ProcedureCode,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
S1ap-SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1ap-ProcedureCode,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
S1ap-UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1ap-ProcedureCode,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
S1ap-HandoverRequired ::= SEQUENCE {
|
||||
s1ap-HandoverRequired-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverCommand ::= SEQUENCE {
|
||||
s1ap-HandoverCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverPreparationFailure ::= SEQUENCE {
|
||||
s1ap-HandoverPreparationFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverRequest ::= SEQUENCE {
|
||||
s1ap-HandoverRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
s1ap-HandoverRequestAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverFailure ::= SEQUENCE {
|
||||
s1ap-HandoverFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverNotify ::= SEQUENCE {
|
||||
s1ap-HandoverNotify-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PathSwitchRequest ::= SEQUENCE {
|
||||
s1ap-PathSwitchRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PathSwitchRequestAcknowledge ::= SEQUENCE {
|
||||
s1ap-PathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PathSwitchRequestFailure ::= SEQUENCE {
|
||||
s1ap-PathSwitchRequestFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABSetupRequest ::= SEQUENCE {
|
||||
s1ap-E-RABSetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABSetupResponse ::= SEQUENCE {
|
||||
s1ap-E-RABSetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABModifyRequest ::= SEQUENCE {
|
||||
s1ap-E-RABModifyRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABModifyResponse ::= SEQUENCE {
|
||||
s1ap-E-RABModifyResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABReleaseIndication ::= SEQUENCE {
|
||||
s1ap-E-RABReleaseIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABReleaseCommand ::= SEQUENCE {
|
||||
s1ap-E-RABReleaseCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABReleaseResponse ::= SEQUENCE {
|
||||
s1ap-E-RABReleaseResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialContextSetupRequest ::= SEQUENCE {
|
||||
s1ap-InitialContextSetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialContextSetupResponse ::= SEQUENCE {
|
||||
s1ap-InitialContextSetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialContextSetupFailure ::= SEQUENCE {
|
||||
s1ap-InitialContextSetupFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextReleaseRequest ::= SEQUENCE {
|
||||
s1ap-UEContextReleaseRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-Paging ::= SEQUENCE {
|
||||
s1ap-Paging-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkNASTransport ::= SEQUENCE {
|
||||
s1ap-DownlinkNASTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialUEMessage ::= SEQUENCE {
|
||||
s1ap-InitialUEMessage-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkNASTransport ::= SEQUENCE {
|
||||
s1ap-UplinkNASTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-NASNonDeliveryIndication ::= SEQUENCE {
|
||||
s1ap-NASNonDeliveryIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverCancel ::= SEQUENCE {
|
||||
s1ap-HandoverCancel-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverCancelAcknowledge ::= SEQUENCE {
|
||||
s1ap-HandoverCancelAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-Reset ::= SEQUENCE {
|
||||
s1ap-Reset-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ResetAcknowledge ::= SEQUENCE {
|
||||
s1ap-ResetAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-S1SetupResponse ::= SEQUENCE {
|
||||
s1ap-S1SetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-S1SetupRequest ::= SEQUENCE {
|
||||
s1ap-S1SetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-S1SetupFailure ::= SEQUENCE {
|
||||
s1ap-S1SetupFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ErrorIndication ::= SEQUENCE {
|
||||
s1ap-ErrorIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationUpdate ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationUpdate-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationUpdate ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationUpdate-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationUpdateFailure ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
s1ap-DownlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
s1ap-UplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextModificationRequest ::= SEQUENCE {
|
||||
s1ap-UEContextModificationRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextModificationResponse ::= SEQUENCE {
|
||||
s1ap-UEContextModificationResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextModificationFailure ::= SEQUENCE {
|
||||
s1ap-UEContextModificationFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UECapabilityInfoIndication ::= SEQUENCE {
|
||||
s1ap-UECapabilityInfoIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextReleaseCommand ::= SEQUENCE {
|
||||
s1ap-UEContextReleaseCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextReleaseComplete ::= SEQUENCE {
|
||||
s1ap-UEContextReleaseComplete-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBStatusTransfer ::= SEQUENCE {
|
||||
s1ap-ENBStatusTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEStatusTransfer ::= SEQUENCE {
|
||||
s1ap-MMEStatusTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DeactivateTrace ::= SEQUENCE {
|
||||
s1ap-DeactivateTrace-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-TraceStart ::= SEQUENCE {
|
||||
s1ap-TraceStart-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-TraceFailureIndication ::= SEQUENCE {
|
||||
s1ap-TraceFailureIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-CellTrafficTrace ::= SEQUENCE {
|
||||
s1ap-CellTrafficTrace-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-LocationReportingControl ::= SEQUENCE {
|
||||
s1ap-LocationReportingControl-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-LocationReportingFailureIndication ::= SEQUENCE {
|
||||
s1ap-LocationReportingFailureIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-LocationReport ::= SEQUENCE {
|
||||
s1ap-LocationReport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-OverloadStart ::= SEQUENCE {
|
||||
s1ap-OverloadStart-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-OverloadStop ::= SEQUENCE {
|
||||
s1ap-OverloadStop-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-WriteReplaceWarningRequest ::= SEQUENCE {
|
||||
s1ap-WriteReplaceWarningRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-WriteReplaceWarningResponse ::= SEQUENCE {
|
||||
s1ap-WriteReplaceWarningResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBDirectInformationTransfer ::= SEQUENCE {
|
||||
s1ap-ENBDirectInformationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEDirectInformationTransfer ::= SEQUENCE {
|
||||
s1ap-MMEDirectInformationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationTransfer ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationTransfer ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PrivateMessage ::= SEQUENCE {
|
||||
s1ap-PrivateMessage-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-KillRequest ::= SEQUENCE {
|
||||
s1ap-KillRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-KillResponse ::= SEQUENCE {
|
||||
s1ap-KillResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-DownlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-UplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-DownlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-UplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-IE ::= SEQUENCE {
|
||||
id S1ap-ProtocolIE-ID,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
END
|
||||
+5097
File diff suppressed because it is too large
Load Diff
+5422
File diff suppressed because it is too large
Load Diff
+5947
File diff suppressed because it is too large
Load Diff
+6679
File diff suppressed because it is too large
Load Diff
+6986
File diff suppressed because it is too large
Load Diff
+7241
File diff suppressed because it is too large
Load Diff
@@ -1,201 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-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)
|
||||
ProcedureCode ::= INTEGER {
|
||||
id-HandoverPreparation(0),
|
||||
id-HandoverResourceAllocation(1),
|
||||
id-HandoverNotification(2),
|
||||
id-PathSwitchRequest(3),
|
||||
id-HandoverCancel(4),
|
||||
id-E-RABSetup(5),
|
||||
id-E-RABModify(6),
|
||||
id-E-RABRelease(7),
|
||||
id-E-RABReleaseIndication(8),
|
||||
id-InitialContextSetup(9),
|
||||
id-Paging(10),
|
||||
id-downlinkNASTransport(11),
|
||||
id-initialUEMessage(12),
|
||||
id-uplinkNASTransport(13),
|
||||
id-Reset(14),
|
||||
id-ErrorIndication(15),
|
||||
id-NASNonDeliveryIndication(16),
|
||||
id-S1Setup(17),
|
||||
id-UEContextReleaseRequest(18),
|
||||
id-DownlinkS1cdma2000tunneling(19),
|
||||
id-UplinkS1cdma2000tunneling(20),
|
||||
id-UEContextModification(21),
|
||||
id-UECapabilityInfoIndication(22),
|
||||
id-UEContextRelease(23),
|
||||
id-eNBStatusTransfer(24),
|
||||
id-MMEStatusTransfer(25),
|
||||
id-DeactivateTrace(26),
|
||||
id-TraceStart(27),
|
||||
id-TraceFailureIndication(28),
|
||||
id-ENBConfigurationUpdate(29),
|
||||
id-MMEConfigurationUpdate(30),
|
||||
id-LocationReportingControl(31),
|
||||
id-LocationReportingFailureIndication(32),
|
||||
id-LocationReport(33),
|
||||
id-OverloadStart(34),
|
||||
id-OverloadStop(35),
|
||||
id-WriteReplaceWarning(36),
|
||||
id-eNBDirectInformationTransfer(37),
|
||||
id-MMEDirectInformationTransfer(38),
|
||||
id-PrivateMessage(39),
|
||||
id-eNBConfigurationTransfer(40),
|
||||
id-MMEConfigurationTransfer(41),
|
||||
id-CellTrafficTrace(42)
|
||||
} (0..255)
|
||||
|
||||
ProtocolExtensionID ::= INTEGER (0..65535)
|
||||
|
||||
ProtocolIE-ID ::= INTEGER {
|
||||
id-MME-UE-S1AP-ID(0),
|
||||
id-HandoverType(1),
|
||||
id-Cause(2),
|
||||
id-SourceID(3),
|
||||
id-TargetID (4),
|
||||
id-eNB-UE-S1AP-ID(8),
|
||||
id-E-RABSubjecttoDataForwardingList(12),
|
||||
id-E-RABtoReleaseListHOCmd(13),
|
||||
id-E-RABDataForwardingItem(14),
|
||||
id-E-RABReleaseItemBearerRelComp(15),
|
||||
id-E-RABToBeSetupListBearerSUReq(16),
|
||||
id-E-RABToBeSetupItemBearerSUReq(17),
|
||||
id-E-RABAdmittedList(18),
|
||||
id-E-RABFailedToSetupListHOReqAck(19),
|
||||
id-E-RABAdmittedItem(20),
|
||||
id-E-RABFailedtoSetupItemHOReqAck(21),
|
||||
id-E-RABToBeSwitchedDLList(22),
|
||||
id-E-RABToBeSwitchedDLItem(23),
|
||||
id-E-RABToBeSetupListCtxtSUReq(24),
|
||||
id-TraceActivation(25),
|
||||
id-NAS-PDU(26),
|
||||
id-E-RABToBeSetupItemHOReq(27),
|
||||
id-E-RABSetupListBearerSURes(28),
|
||||
id-E-RABFailedToSetupListBearerSURes(29),
|
||||
id-E-RABToBeModifiedListBearerModReq(30),
|
||||
id-E-RABModifyListBearerModRes(31),
|
||||
id-E-RABFailedToModifyList(32),
|
||||
id-E-RABToBeReleasedList(33),
|
||||
id-E-RABFailedToReleaseList(34),
|
||||
id-E-RABItem(35),
|
||||
id-E-RABToBeModifiedItemBearerModReq(36),
|
||||
id-E-RABModifyItemBearerModRes(37),
|
||||
id-E-RABReleaseItem(38),
|
||||
id-E-RABSetupItemBearerSURes(39),
|
||||
id-SecurityContext(40),
|
||||
id-HandoverRestrictionList(41),
|
||||
id-UEPagingID(43),
|
||||
id-pagingDRX(44),
|
||||
id-TAIList(46),
|
||||
id-TAIItem(47),
|
||||
id-E-RABFailedToSetupListCtxtSURes(48),
|
||||
id-E-RABReleaseItemHOCmd(49),
|
||||
id-E-RABSetupItemCtxtSURes(50),
|
||||
id-E-RABSetupListCtxtSURes(51),
|
||||
id-E-RABToBeSetupItemCtxtSUReq(52),
|
||||
id-E-RABToBeSetupListHOReq(53),
|
||||
id-GERANtoLTEHOInformationRes(55),
|
||||
id-UTRANtoLTEHOInformationRes(57),
|
||||
id-CriticalityDiagnostics(58),
|
||||
id-Global-ENB-ID(59),
|
||||
id-eNBname(60),
|
||||
id-MMEname(61),
|
||||
id-ServedPLMNs(63),
|
||||
id-SupportedTAs(64),
|
||||
id-TimeToWait(65),
|
||||
id-uEaggregateMaximumBitrate(66),
|
||||
id-TAI(67),
|
||||
id-E-RABReleaseListBearerRelComp(69),
|
||||
id-cdma2000PDU(70),
|
||||
id-cdma2000RATType(71),
|
||||
id-cdma2000SectorID(72),
|
||||
id-SecurityKey(73),
|
||||
id-UERadioCapability(74),
|
||||
id-GUMMEI-ID(75),
|
||||
id-E-RABInformationListItem(78),
|
||||
id-Direct-Forwarding-Path-Availability(79),
|
||||
id-UEIdentityIndexValue(80),
|
||||
id-cdma2000HOStatus(83),
|
||||
id-cdma2000HORequiredIndication(84),
|
||||
id-E-UTRAN-Trace-ID(86),
|
||||
id-RelativeMMECapacity(87),
|
||||
id-SourceMME-UE-S1AP-ID(88),
|
||||
id-Bearers-SubjectToStatusTransfer-Item(89),
|
||||
id-eNB-StatusTransfer-TransparentContainer(90),
|
||||
id-UE-associatedLogicalS1-ConnectionItem(91),
|
||||
id-ResetType(92),
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck(93),
|
||||
id-E-RABToBeSwitchedULItem(94),
|
||||
id-E-RABToBeSwitchedULList(95),
|
||||
id-S-TMSI(96),
|
||||
id-cdma2000OneXRAND(97),
|
||||
id-RequestType(98),
|
||||
id-UE-S1AP-IDs(99),
|
||||
id-EUTRAN-CGI(100),
|
||||
id-OverloadResponse(101),
|
||||
id-cdma2000OneXSRVCCInfo(102),
|
||||
id-E-RABFailedToBeReleasedList(103),
|
||||
id-Source-ToTarget-TransparentContainer(104),
|
||||
id-ServedGUMMEIs(105),
|
||||
id-SubscriberProfileIDforRFP(106),
|
||||
id-UESecurityCapabilities(107),
|
||||
id-CSFallbackIndicator(108),
|
||||
id-CNDomain(109),
|
||||
id-E-RABReleasedList(110),
|
||||
id-MessageIdentifier(111),
|
||||
id-SerialNumber(112),
|
||||
id-WarningAreaList(113),
|
||||
id-RepetitionPeriod(114),
|
||||
id-NumberofBroadcastRequest(115),
|
||||
id-WarningType(116),
|
||||
id-WarningSecurityInfo(117),
|
||||
id-DataCodingScheme(118),
|
||||
id-WarningMessageContents(119),
|
||||
id-BroadcastCompletedAreaList(120),
|
||||
id-Inter-SystemInformationTransferTypeEDT(121),
|
||||
id-Inter-SystemInformationTransferTypeMDT(122),
|
||||
id-Target-ToSource-TransparentContainer(123),
|
||||
id-SRVCCOperationPossible(124),
|
||||
id-SRVCCHOIndication(125),
|
||||
id-NAS-DownlinkCount(126),
|
||||
id-CSG-Id(127),
|
||||
id-CSG-IdList(128),
|
||||
id-SONConfigurationTransferECT(129),
|
||||
id-SONConfigurationTransferMCT(130),
|
||||
id-TraceCollectionEntityIPAddress(131),
|
||||
id-MSClassmark2(132),
|
||||
id-MSClassmark3(133),
|
||||
id-RRC-Establishment-Cause(134),
|
||||
id-NASSecurityParametersfromE-UTRAN(135),
|
||||
id-NASSecurityParameterstoE-UTRAN(136),
|
||||
id-DefaultPagingDRX(137),
|
||||
id-Source-ToTarget-TransparentContainer-Secondary(138),
|
||||
id-Target-ToSource-TransparentContainer-Secondary(139)
|
||||
} (0..65535)
|
||||
|
||||
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
|
||||
|
||||
END
|
||||
@@ -1,249 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
|
||||
IMPORTS
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-HandoverPreparation ProcedureCode ::= 0
|
||||
id-HandoverResourceAllocation ProcedureCode ::= 1
|
||||
id-HandoverNotification ProcedureCode ::= 2
|
||||
id-PathSwitchRequest ProcedureCode ::= 3
|
||||
id-HandoverCancel ProcedureCode ::= 4
|
||||
id-E-RABSetup ProcedureCode ::= 5
|
||||
id-E-RABModify ProcedureCode ::= 6
|
||||
id-E-RABRelease ProcedureCode ::= 7
|
||||
id-E-RABReleaseIndication ProcedureCode ::= 8
|
||||
id-InitialContextSetup ProcedureCode ::= 9
|
||||
id-Paging ProcedureCode ::= 10
|
||||
id-downlinkNASTransport ProcedureCode ::= 11
|
||||
id-initialUEMessage ProcedureCode ::= 12
|
||||
id-uplinkNASTransport ProcedureCode ::= 13
|
||||
id-Reset ProcedureCode ::= 14
|
||||
id-ErrorIndication ProcedureCode ::= 15
|
||||
id-NASNonDeliveryIndication ProcedureCode ::= 16
|
||||
id-S1Setup ProcedureCode ::= 17
|
||||
id-UEContextReleaseRequest ProcedureCode ::= 18
|
||||
id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
|
||||
id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
|
||||
id-UEContextModification ProcedureCode ::= 21
|
||||
id-UECapabilityInfoIndication ProcedureCode ::= 22
|
||||
id-UEContextRelease ProcedureCode ::= 23
|
||||
id-eNBStatusTransfer ProcedureCode ::= 24
|
||||
id-MMEStatusTransfer ProcedureCode ::= 25
|
||||
id-DeactivateTrace ProcedureCode ::= 26
|
||||
id-TraceStart ProcedureCode ::= 27
|
||||
id-TraceFailureIndication ProcedureCode ::= 28
|
||||
id-ENBConfigurationUpdate ProcedureCode ::= 29
|
||||
id-MMEConfigurationUpdate ProcedureCode ::= 30
|
||||
id-LocationReportingControl ProcedureCode ::= 31
|
||||
id-LocationReportingFailureIndication ProcedureCode ::= 32
|
||||
id-LocationReport ProcedureCode ::= 33
|
||||
id-OverloadStart ProcedureCode ::= 34
|
||||
id-OverloadStop ProcedureCode ::= 35
|
||||
id-WriteReplaceWarning ProcedureCode ::= 36
|
||||
id-eNBDirectInformationTransfer ProcedureCode ::= 37
|
||||
id-MMEDirectInformationTransfer ProcedureCode ::= 38
|
||||
id-PrivateMessage ProcedureCode ::= 39
|
||||
id-eNBConfigurationTransfer ProcedureCode ::= 40
|
||||
id-MMEConfigurationTransfer ProcedureCode ::= 41
|
||||
id-CellTrafficTrace ProcedureCode ::= 42
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxPrivateIEs INTEGER ::= 65535
|
||||
maxProtocolExtensions INTEGER ::= 65535
|
||||
maxProtocolIEs INTEGER ::= 65535
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxNrOfCSGs INTEGER ::= 256
|
||||
maxNrOfE-RABs INTEGER ::= 256
|
||||
maxnoofTAIs INTEGER ::= 256
|
||||
maxnoofTACs INTEGER ::= 256
|
||||
maxNrOfErrors INTEGER ::= 256
|
||||
maxnoofBPLMNs INTEGER ::= 6
|
||||
maxnoofPLMNsPerMME INTEGER ::= 32
|
||||
maxnoofEPLMNs INTEGER ::= 15
|
||||
maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
maxnoofForbLACs INTEGER ::= 4096
|
||||
maxnoofForbTACs INTEGER ::= 4096
|
||||
maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
|
||||
maxnoofCells INTEGER ::= 16
|
||||
maxnoofTAIforWarning INTEGER ::= 65535
|
||||
maxnoofCellID INTEGER ::= 65535
|
||||
maxnoofEmergencyAreaID INTEGER ::= 65535
|
||||
maxnoofCellinTAI INTEGER ::= 65535
|
||||
maxnoofCellinEAI INTEGER ::= 65535
|
||||
maxnoofeNBX2TLAs INTEGER ::= 2
|
||||
maxnoofRATs INTEGER ::= 8
|
||||
maxnoofGroupIDs INTEGER ::= 65535
|
||||
maxnoofMMECs INTEGER ::= 256
|
||||
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
|
||||
id-HandoverType ProtocolIE-ID ::= 1
|
||||
id-Cause ProtocolIE-ID ::= 2
|
||||
id-SourceID ProtocolIE-ID ::= 3
|
||||
id-TargetID ProtocolIE-ID ::= 4
|
||||
id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
|
||||
id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
|
||||
id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
|
||||
id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
|
||||
id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
|
||||
id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
|
||||
id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
|
||||
id-E-RABAdmittedList ProtocolIE-ID ::= 18
|
||||
id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
|
||||
id-E-RABAdmittedItem ProtocolIE-ID ::= 20
|
||||
id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
|
||||
id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
|
||||
id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
|
||||
id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
|
||||
id-TraceActivation ProtocolIE-ID ::= 25
|
||||
id-NAS-PDU ProtocolIE-ID ::= 26
|
||||
id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
|
||||
id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
|
||||
id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
|
||||
id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
|
||||
id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
|
||||
id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
|
||||
id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
|
||||
id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
|
||||
id-E-RABItem ProtocolIE-ID ::= 35
|
||||
id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
|
||||
id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
|
||||
id-E-RABReleaseItem ProtocolIE-ID ::= 38
|
||||
id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
|
||||
id-SecurityContext ProtocolIE-ID ::= 40
|
||||
id-HandoverRestrictionList ProtocolIE-ID ::= 41
|
||||
id-UEPagingID ProtocolIE-ID ::= 43
|
||||
id-pagingDRX ProtocolIE-ID ::= 44
|
||||
id-TAIList ProtocolIE-ID ::= 46
|
||||
id-TAIItem ProtocolIE-ID ::= 47
|
||||
id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
|
||||
id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
|
||||
id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
|
||||
id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
|
||||
id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
|
||||
id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
|
||||
id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
|
||||
id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
|
||||
id-CriticalityDiagnostics ProtocolIE-ID ::= 58
|
||||
id-Global-ENB-ID ProtocolIE-ID ::= 59
|
||||
id-eNBname ProtocolIE-ID ::= 60
|
||||
id-MMEname ProtocolIE-ID ::= 61
|
||||
id-ServedPLMNs ProtocolIE-ID ::= 63
|
||||
id-SupportedTAs ProtocolIE-ID ::= 64
|
||||
id-TimeToWait ProtocolIE-ID ::= 65
|
||||
id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
|
||||
id-TAI ProtocolIE-ID ::= 67
|
||||
id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
|
||||
id-cdma2000PDU ProtocolIE-ID ::= 70
|
||||
id-cdma2000RATType ProtocolIE-ID ::= 71
|
||||
id-cdma2000SectorID ProtocolIE-ID ::= 72
|
||||
id-SecurityKey ProtocolIE-ID ::= 73
|
||||
id-UERadioCapability ProtocolIE-ID ::= 74
|
||||
id-GUMMEI-ID ProtocolIE-ID ::= 75
|
||||
id-E-RABInformationListItem ProtocolIE-ID ::= 78
|
||||
id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
|
||||
id-UEIdentityIndexValue ProtocolIE-ID ::= 80
|
||||
id-cdma2000HOStatus ProtocolIE-ID ::= 83
|
||||
id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
|
||||
id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
|
||||
id-RelativeMMECapacity ProtocolIE-ID ::= 87
|
||||
id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
|
||||
id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
|
||||
id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
|
||||
id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
|
||||
id-ResetType ProtocolIE-ID ::= 92
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
|
||||
id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
|
||||
id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
|
||||
id-S-TMSI ProtocolIE-ID ::= 96
|
||||
id-cdma2000OneXRAND ProtocolIE-ID ::= 97
|
||||
id-RequestType ProtocolIE-ID ::= 98
|
||||
id-UE-S1AP-IDs ProtocolIE-ID ::= 99
|
||||
id-EUTRAN-CGI ProtocolIE-ID ::= 100
|
||||
id-OverloadResponse ProtocolIE-ID ::= 101
|
||||
id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
|
||||
id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
|
||||
id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
|
||||
id-ServedGUMMEIs ProtocolIE-ID ::= 105
|
||||
id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
|
||||
id-UESecurityCapabilities ProtocolIE-ID ::= 107
|
||||
id-CSFallbackIndicator ProtocolIE-ID ::= 108
|
||||
id-CNDomain ProtocolIE-ID ::= 109
|
||||
id-E-RABReleasedList ProtocolIE-ID ::= 110
|
||||
id-MessageIdentifier ProtocolIE-ID ::= 111
|
||||
id-SerialNumber ProtocolIE-ID ::= 112
|
||||
id-WarningAreaList ProtocolIE-ID ::= 113
|
||||
id-RepetitionPeriod ProtocolIE-ID ::= 114
|
||||
id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
|
||||
id-WarningType ProtocolIE-ID ::= 116
|
||||
id-WarningSecurityInfo ProtocolIE-ID ::= 117
|
||||
id-DataCodingScheme ProtocolIE-ID ::= 118
|
||||
id-WarningMessageContents ProtocolIE-ID ::= 119
|
||||
id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
|
||||
id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
|
||||
id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
|
||||
id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
|
||||
id-SRVCCOperationPossible ProtocolIE-ID ::= 124
|
||||
id-SRVCCHOIndication ProtocolIE-ID ::= 125
|
||||
id-NAS-DownlinkCount ProtocolIE-ID ::= 126
|
||||
id-CSG-Id ProtocolIE-ID ::= 127
|
||||
id-CSG-IdList ProtocolIE-ID ::= 128
|
||||
id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
|
||||
id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
|
||||
id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
|
||||
id-MSClassmark2 ProtocolIE-ID ::= 132
|
||||
id-MSClassmark3 ProtocolIE-ID ::= 133
|
||||
id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
|
||||
id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
|
||||
id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
|
||||
id-DefaultPagingDRX ProtocolIE-ID ::= 137
|
||||
id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
|
||||
id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
|
||||
END
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,663 +0,0 @@
|
||||
S1AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1)
|
||||
}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
UEAggregateMaximumBitrate,
|
||||
Cause,
|
||||
Cdma2000HORequiredIndication,
|
||||
Cdma2000HOStatus,
|
||||
Cdma2000OneXSRVCCInfo,
|
||||
Cdma2000OneXRAND,
|
||||
Cdma2000PDU,
|
||||
Cdma2000RATType,
|
||||
Cdma2000SectorID,
|
||||
CNDomain,
|
||||
CriticalityDiagnostics,
|
||||
CSFallbackIndicator,
|
||||
CSG-Id,
|
||||
CSG-IdList,
|
||||
Direct-Forwarding-Path-Availability,
|
||||
Global-ENB-ID,
|
||||
EUTRAN-CGI,
|
||||
ENBname,
|
||||
ENB-StatusTransfer-TransparentContainer,
|
||||
ENB-UE-S1AP-ID,
|
||||
GTP-TEID,
|
||||
GUMMEI,
|
||||
HandoverRestrictionList,
|
||||
HandoverType,
|
||||
MMEname,
|
||||
MME-UE-S1AP-ID,
|
||||
MSClassmark2,
|
||||
MSClassmark3,
|
||||
NAS-PDU,
|
||||
NASSecurityParametersfromE-UTRAN,
|
||||
NASSecurityParameterstoE-UTRAN,
|
||||
OverloadResponse,
|
||||
PagingDRX,
|
||||
PLMNidentity,
|
||||
RIMTransfer,
|
||||
RelativeMMECapacity,
|
||||
RequestType,
|
||||
E-RAB-ID,
|
||||
E-RABLevelQoSParameters,
|
||||
E-RABList,
|
||||
SecurityKey,
|
||||
SecurityContext,
|
||||
ServedGUMMEIs,
|
||||
SONConfigurationTransfer,
|
||||
Source-ToTarget-TransparentContainer,
|
||||
SourceBSS-ToTargetBSS-TransparentContainer,
|
||||
SourceeNB-ToTargeteNB-TransparentContainer,
|
||||
SourceRNC-ToTargetRNC-TransparentContainer,
|
||||
SubscriberProfileIDforRFP,
|
||||
SRVCCOperationPossible,
|
||||
SRVCCHOIndication,
|
||||
SupportedTAs,
|
||||
TAI,
|
||||
Target-ToSource-TransparentContainer,
|
||||
TargetBSS-ToSourceBSS-TransparentContainer,
|
||||
TargeteNB-ToSourceeNB-TransparentContainer,
|
||||
TargetID,
|
||||
TargetRNC-ToSourceRNC-TransparentContainer,
|
||||
TimeToWait,
|
||||
TraceActivation,
|
||||
E-UTRAN-Trace-ID,
|
||||
TransportLayerAddress,
|
||||
UEIdentityIndexValue,
|
||||
UEPagingID,
|
||||
UERadioCapability,
|
||||
UE-S1AP-IDs,
|
||||
UE-associatedLogicalS1-ConnectionItem,
|
||||
UESecurityCapabilities,
|
||||
S-TMSI,
|
||||
MessageIdentifier,
|
||||
SerialNumber,
|
||||
WarningAreaList,
|
||||
RepetitionPeriod,
|
||||
NumberofBroadcastRequest,
|
||||
WarningType,
|
||||
WarningSecurityInfo,
|
||||
DataCodingScheme,
|
||||
WarningMessageContents,
|
||||
BroadcastCompletedAreaList,
|
||||
RRC-Establishment-Cause
|
||||
|
||||
FROM S1AP-IEs
|
||||
|
||||
ProcedureCode,
|
||||
Criticality,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
|
||||
id-uEaggregateMaximumBitrate,
|
||||
id-Cause,
|
||||
id-cdma2000HORequiredIndication,
|
||||
id-cdma2000HOStatus,
|
||||
id-cdma2000OneXSRVCCInfo,
|
||||
id-cdma2000OneXRAND,
|
||||
id-cdma2000PDU,
|
||||
id-cdma2000RATType,
|
||||
id-cdma2000SectorID,
|
||||
id-CNDomain,
|
||||
id-CriticalityDiagnostics,
|
||||
id-CSFallbackIndicator,
|
||||
id-CSG-Id,
|
||||
id-CSG-IdList,
|
||||
id-DefaultPagingDRX,
|
||||
id-Direct-Forwarding-Path-Availability,
|
||||
id-Global-ENB-ID,
|
||||
id-EUTRAN-CGI,
|
||||
id-eNBname,
|
||||
id-eNB-StatusTransfer-TransparentContainer,
|
||||
id-eNB-UE-S1AP-ID,
|
||||
id-GERANtoLTEHOInformationRes,
|
||||
id-GUMMEI-ID,
|
||||
id-HandoverRestrictionList,
|
||||
id-HandoverType,
|
||||
id-InitialContextSetup,
|
||||
id-Inter-SystemInformationTransferTypeEDT,
|
||||
id-Inter-SystemInformationTransferTypeMDT,
|
||||
id-NAS-DownlinkCount,
|
||||
id-MMEname,
|
||||
id-MME-UE-S1AP-ID,
|
||||
id-MSClassmark2,
|
||||
id-MSClassmark3,
|
||||
id-NAS-PDU,
|
||||
id-NASSecurityParametersfromE-UTRAN,
|
||||
id-NASSecurityParameterstoE-UTRAN,
|
||||
id-OverloadResponse,
|
||||
id-pagingDRX,
|
||||
id-RelativeMMECapacity,
|
||||
id-RequestType,
|
||||
id-E-RABAdmittedItem,
|
||||
id-E-RABAdmittedList,
|
||||
id-E-RABDataForwardingItem,
|
||||
id-E-RABFailedToModifyList,
|
||||
id-E-RABFailedToReleaseList,
|
||||
id-E-RABFailedtoSetupItemHOReqAck,
|
||||
id-E-RABFailedToSetupListBearerSURes,
|
||||
id-E-RABFailedToSetupListCtxtSURes,
|
||||
id-E-RABFailedToSetupListHOReqAck,
|
||||
id-E-RABFailedToBeReleasedList,
|
||||
id-E-RABModify,
|
||||
id-E-RABModifyItemBearerModRes,
|
||||
id-E-RABModifyListBearerModRes,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseItemBearerRelComp,
|
||||
id-E-RABReleaseItemHOCmd,
|
||||
id-E-RABReleaseListBearerRelComp,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-E-RABSetupItemBearerSURes,
|
||||
id-E-RABSetupItemCtxtSURes,
|
||||
id-E-RABSetupListBearerSURes,
|
||||
id-E-RABSetupListCtxtSURes,
|
||||
id-E-RABSubjecttoDataForwardingList,
|
||||
id-E-RABToBeModifiedItemBearerModReq,
|
||||
id-E-RABToBeModifiedListBearerModReq,
|
||||
id-E-RABToBeReleasedList,
|
||||
id-E-RABReleasedList,
|
||||
id-E-RABToBeSetupItemBearerSUReq,
|
||||
id-E-RABToBeSetupItemCtxtSUReq,
|
||||
id-E-RABToBeSetupItemHOReq,
|
||||
id-E-RABToBeSetupListBearerSUReq,
|
||||
id-E-RABToBeSetupListCtxtSUReq,
|
||||
id-E-RABToBeSetupListHOReq,
|
||||
id-E-RABToBeSwitchedDLItem,
|
||||
id-E-RABToBeSwitchedDLList,
|
||||
id-E-RABToBeSwitchedULList,
|
||||
id-E-RABToBeSwitchedULItem,
|
||||
id-E-RABtoReleaseListHOCmd,
|
||||
id-SecurityKey,
|
||||
id-SecurityContext,
|
||||
id-ServedGUMMEIs,
|
||||
id-SONConfigurationTransferECT,
|
||||
id-SONConfigurationTransferMCT,
|
||||
id-Source-ToTarget-TransparentContainer,
|
||||
id-Source-ToTarget-TransparentContainer-Secondary,
|
||||
id-SourceMME-UE-S1AP-ID,
|
||||
id-SRVCCOperationPossible,
|
||||
id-SRVCCHOIndication,
|
||||
id-SubscriberProfileIDforRFP,
|
||||
id-SupportedTAs,
|
||||
id-S-TMSI,
|
||||
id-TAI,
|
||||
id-TAIItem,
|
||||
id-TAIList,
|
||||
id-Target-ToSource-TransparentContainer,
|
||||
id-Target-ToSource-TransparentContainer-Secondary,
|
||||
id-TargetID,
|
||||
id-TimeToWait,
|
||||
id-TraceActivation,
|
||||
id-E-UTRAN-Trace-ID,
|
||||
id-UEIdentityIndexValue,
|
||||
id-UEPagingID,
|
||||
id-UERadioCapability,
|
||||
id-UTRANtoLTEHOInformationRes,
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck,
|
||||
id-UE-associatedLogicalS1-ConnectionItem,
|
||||
id-UESecurityCapabilities,
|
||||
id-UE-S1AP-IDs,
|
||||
id-ResetType,
|
||||
id-MessageIdentifier,
|
||||
id-SerialNumber,
|
||||
id-WarningAreaList,
|
||||
id-RepetitionPeriod,
|
||||
id-NumberofBroadcastRequest,
|
||||
id-WarningType,
|
||||
id-WarningSecurityInfo,
|
||||
id-DataCodingScheme,
|
||||
id-WarningMessageContents,
|
||||
id-BroadcastCompletedAreaList,
|
||||
id-RRC-Establishment-Cause,
|
||||
id-TraceCollectionEntityIPAddress,
|
||||
maxnoofTAIs,
|
||||
maxNrOfErrors,
|
||||
maxNrOfE-RABs,
|
||||
maxNrOfIndividualS1ConnectionsToReset,
|
||||
maxnoofEmergencyAreaID,
|
||||
maxnoofCellID,
|
||||
maxnoofTAIforWarning,
|
||||
maxnoofCellinTAI,
|
||||
maxnoofCellinEAI,
|
||||
|
||||
id-CellTrafficTrace,
|
||||
id-DeactivateTrace,
|
||||
id-downlinkNASTransport,
|
||||
id-DownlinkS1cdma2000tunneling,
|
||||
id-eNBStatusTransfer,
|
||||
id-ErrorIndication,
|
||||
id-HandoverCancel,
|
||||
id-HandoverNotification,
|
||||
id-HandoverPreparation,
|
||||
id-HandoverResourceAllocation,
|
||||
id-InitialContextSetup,
|
||||
id-initialUEMessage,
|
||||
id-ENBConfigurationUpdate,
|
||||
id-LocationReportingControl,
|
||||
id-LocationReportingFailureIndication,
|
||||
id-LocationReport,
|
||||
id-eNBDirectInformationTransfer,
|
||||
id-MMEConfigurationUpdate,
|
||||
id-MMEDirectInformationTransfer,
|
||||
id-MMEStatusTransfer,
|
||||
id-NASNonDeliveryIndication,
|
||||
id-OverloadStart,
|
||||
id-OverloadStop,
|
||||
id-Paging,
|
||||
id-PathSwitchRequest,
|
||||
id-PrivateMessage,
|
||||
id-Reset,
|
||||
id-S1Setup,
|
||||
id-E-RABModify,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-TraceFailureIndication,
|
||||
id-TraceStart,
|
||||
id-UECapabilityInfoIndication,
|
||||
id-UEContextModification,
|
||||
id-UEContextRelease,
|
||||
id-UEContextReleaseRequest,
|
||||
id-uplinkNASTransport,
|
||||
id-UplinkS1cdma2000tunneling,
|
||||
id-WriteReplaceWarning,
|
||||
id-eNBConfigurationTransfer,
|
||||
id-MMEConfigurationTransfer,
|
||||
maxProtocolIEs
|
||||
FROM S1AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- S1 SETUP ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-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]
|
||||
}
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
HandoverRequired ::= SEQUENCE {
|
||||
handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCommand ::= SEQUENCE {
|
||||
handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverPreparationFailure ::= SEQUENCE {
|
||||
handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequest ::= SEQUENCE {
|
||||
handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverFailure ::= SEQUENCE {
|
||||
handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverNotify ::= SEQUENCE {
|
||||
handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequest ::= SEQUENCE {
|
||||
pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestAcknowledge ::= SEQUENCE {
|
||||
pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestFailure ::= SEQUENCE {
|
||||
pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupRequest ::= SEQUENCE {
|
||||
e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupResponse ::= SEQUENCE {
|
||||
e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyRequest ::= SEQUENCE {
|
||||
e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyResponse ::= SEQUENCE {
|
||||
e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseIndication ::= SEQUENCE {
|
||||
e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseCommand ::= SEQUENCE {
|
||||
e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseResponse ::= SEQUENCE {
|
||||
e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupRequest ::= SEQUENCE {
|
||||
initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupResponse ::= SEQUENCE {
|
||||
initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupFailure ::= SEQUENCE {
|
||||
initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseRequest ::= SEQUENCE {
|
||||
ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Paging ::= SEQUENCE {
|
||||
paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkNASTransport ::= SEQUENCE {
|
||||
downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialUEMessage ::= SEQUENCE {
|
||||
initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkNASTransport ::= SEQUENCE {
|
||||
uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
NASNonDeliveryIndication ::= SEQUENCE {
|
||||
nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancel ::= SEQUENCE {
|
||||
handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancelAcknowledge ::= SEQUENCE {
|
||||
handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Reset ::= SEQUENCE {
|
||||
reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResetAcknowledge ::= SEQUENCE {
|
||||
resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupResponse ::= SEQUENCE {
|
||||
s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupRequest ::= SEQUENCE {
|
||||
s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupFailure ::= SEQUENCE
|
||||
{
|
||||
s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ErrorIndication ::= SEQUENCE {
|
||||
errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdate ::= SEQUENCE {
|
||||
eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdate ::= SEQUENCE {
|
||||
mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateFailure ::= SEQUENCE {
|
||||
mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationRequest ::= SEQUENCE {
|
||||
ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationResponse ::= SEQUENCE {
|
||||
ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationFailure ::= SEQUENCE {
|
||||
ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UECapabilityInfoIndication ::= SEQUENCE {
|
||||
ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseCommand ::= SEQUENCE {
|
||||
ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseComplete ::= SEQUENCE {
|
||||
ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBStatusTransfer ::= SEQUENCE {
|
||||
eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEStatusTransfer ::= SEQUENCE {
|
||||
mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DeactivateTrace ::= SEQUENCE {
|
||||
deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceStart ::= SEQUENCE {
|
||||
traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceFailureIndication ::= SEQUENCE {
|
||||
traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
CellTrafficTrace ::= SEQUENCE {
|
||||
cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingControl ::= SEQUENCE {
|
||||
locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingFailureIndication ::= SEQUENCE {
|
||||
locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReport ::= SEQUENCE {
|
||||
locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStart ::= SEQUENCE {
|
||||
overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStop ::= SEQUENCE {
|
||||
overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningRequest ::= SEQUENCE {
|
||||
writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningResponse ::= SEQUENCE {
|
||||
writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBDirectInformationTransfer ::= SEQUENCE {
|
||||
eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEDirectInformationTransfer ::= SEQUENCE {
|
||||
mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationTransfer ::= SEQUENCE {
|
||||
eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationTransfer ::= SEQUENCE {
|
||||
mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PrivateMessage ::= SEQUENCE {
|
||||
privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
IE ::= SEQUENCE {
|
||||
id ProtocolIE-ID,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
END
|
||||
Regular → Executable
+2272
-48
File diff suppressed because it is too large
Load Diff
@@ -1,217 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-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 {
|
||||
id-HandoverPreparation(0),
|
||||
id-HandoverResourceAllocation(1),
|
||||
id-HandoverNotification(2),
|
||||
id-PathSwitchRequest(3),
|
||||
id-HandoverCancel(4),
|
||||
id-E-RABSetup(5),
|
||||
id-E-RABModify(6),
|
||||
id-E-RABRelease(7),
|
||||
id-E-RABReleaseIndication(8),
|
||||
id-InitialContextSetup(9),
|
||||
id-Paging(10),
|
||||
id-downlinkNASTransport(11),
|
||||
id-initialUEMessage(12),
|
||||
id-uplinkNASTransport(13),
|
||||
id-Reset(14),
|
||||
id-ErrorIndication(15),
|
||||
id-NASNonDeliveryIndication(16),
|
||||
id-S1Setup(17),
|
||||
id-UEContextReleaseRequest(18),
|
||||
id-DownlinkS1cdma2000tunneling(19),
|
||||
id-UplinkS1cdma2000tunneling(20),
|
||||
id-UEContextModification(21),
|
||||
id-UECapabilityInfoIndication(22),
|
||||
id-UEContextRelease(23),
|
||||
id-eNBStatusTransfer(24),
|
||||
id-MMEStatusTransfer(25),
|
||||
id-DeactivateTrace(26),
|
||||
id-TraceStart(27),
|
||||
id-TraceFailureIndication(28),
|
||||
id-ENBConfigurationUpdate(29),
|
||||
id-MMEConfigurationUpdate(30),
|
||||
id-LocationReportingControl(31),
|
||||
id-LocationReportingFailureIndication(32),
|
||||
id-LocationReport(33),
|
||||
id-OverloadStart(34),
|
||||
id-OverloadStop(35),
|
||||
id-WriteReplaceWarning(36),
|
||||
id-eNBDirectInformationTransfer(37),
|
||||
id-MMEDirectInformationTransfer(38),
|
||||
id-PrivateMessage(39),
|
||||
id-eNBConfigurationTransfer(40),
|
||||
id-MMEConfigurationTransfer(41),
|
||||
id-CellTrafficTrace(42),
|
||||
id-Kill(43),
|
||||
id-downlinkUEAssociatedLPPaTransport(44),
|
||||
id-uplinkUEAssociatedLPPaTransport(45),
|
||||
id-downlinkNonUEAssociatedLPPaTransport(46),
|
||||
id-uplinkNonUEAssociatedLPPaTransport(47)
|
||||
} (0..255)
|
||||
|
||||
ProtocolExtensionID ::= INTEGER (0..65535)
|
||||
|
||||
ProtocolIE-ID ::= INTEGER {
|
||||
id-MME-UE-S1AP-ID(0),
|
||||
id-HandoverType(1),
|
||||
id-Cause(2),
|
||||
id-SourceID(3),
|
||||
id-TargetID (4),
|
||||
id-eNB-UE-S1AP-ID(8),
|
||||
id-E-RABSubjecttoDataForwardingList(12),
|
||||
id-E-RABtoReleaseListHOCmd(13),
|
||||
id-E-RABDataForwardingItem(14),
|
||||
id-E-RABReleaseItemBearerRelComp(15),
|
||||
id-E-RABToBeSetupListBearerSUReq(16),
|
||||
id-E-RABToBeSetupItemBearerSUReq(17),
|
||||
id-E-RABAdmittedList(18),
|
||||
id-E-RABFailedToSetupListHOReqAck(19),
|
||||
id-E-RABAdmittedItem(20),
|
||||
id-E-RABFailedtoSetupItemHOReqAck(21),
|
||||
id-E-RABToBeSwitchedDLList(22),
|
||||
id-E-RABToBeSwitchedDLItem(23),
|
||||
id-E-RABToBeSetupListCtxtSUReq(24),
|
||||
id-TraceActivation(25),
|
||||
id-NAS-PDU(26),
|
||||
id-E-RABToBeSetupItemHOReq(27),
|
||||
id-E-RABSetupListBearerSURes(28),
|
||||
id-E-RABFailedToSetupListBearerSURes(29),
|
||||
id-E-RABToBeModifiedListBearerModReq(30),
|
||||
id-E-RABModifyListBearerModRes(31),
|
||||
id-E-RABFailedToModifyList(32),
|
||||
id-E-RABToBeReleasedList(33),
|
||||
id-E-RABFailedToReleaseList(34),
|
||||
id-E-RABItem(35),
|
||||
id-E-RABToBeModifiedItemBearerModReq(36),
|
||||
id-E-RABModifyItemBearerModRes(37),
|
||||
id-E-RABReleaseItem(38),
|
||||
id-E-RABSetupItemBearerSURes(39),
|
||||
id-SecurityContext(40),
|
||||
id-HandoverRestrictionList(41),
|
||||
id-UEPagingID(43),
|
||||
id-pagingDRX(44),
|
||||
id-TAIList(46),
|
||||
id-TAIItem(47),
|
||||
id-E-RABFailedToSetupListCtxtSURes(48),
|
||||
id-E-RABReleaseItemHOCmd(49),
|
||||
id-E-RABSetupItemCtxtSURes(50),
|
||||
id-E-RABSetupListCtxtSURes(51),
|
||||
id-E-RABToBeSetupItemCtxtSUReq(52),
|
||||
id-E-RABToBeSetupListHOReq(53),
|
||||
id-GERANtoLTEHOInformationRes(55),
|
||||
id-UTRANtoLTEHOInformationRes(57),
|
||||
id-CriticalityDiagnostics(58),
|
||||
id-Global-ENB-ID(59),
|
||||
id-eNBname(60),
|
||||
id-MMEname(61),
|
||||
id-ServedPLMNs(63),
|
||||
id-SupportedTAs(64),
|
||||
id-TimeToWait(65),
|
||||
id-uEaggregateMaximumBitrate(66),
|
||||
id-TAI(67),
|
||||
id-E-RABReleaseListBearerRelComp(69),
|
||||
id-cdma2000PDU(70),
|
||||
id-cdma2000RATType(71),
|
||||
id-cdma2000SectorID(72),
|
||||
id-SecurityKey(73),
|
||||
id-UERadioCapability(74),
|
||||
id-GUMMEI-ID(75),
|
||||
id-E-RABInformationListItem(78),
|
||||
id-Direct-Forwarding-Path-Availability(79),
|
||||
id-UEIdentityIndexValue(80),
|
||||
id-cdma2000HOStatus(83),
|
||||
id-cdma2000HORequiredIndication(84),
|
||||
id-E-UTRAN-Trace-ID(86),
|
||||
id-RelativeMMECapacity(87),
|
||||
id-SourceMME-UE-S1AP-ID(88),
|
||||
id-Bearers-SubjectToStatusTransfer-Item(89),
|
||||
id-eNB-StatusTransfer-TransparentContainer(90),
|
||||
id-UE-associatedLogicalS1-ConnectionItem(91),
|
||||
id-ResetType(92),
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck(93),
|
||||
id-E-RABToBeSwitchedULItem(94),
|
||||
id-E-RABToBeSwitchedULList(95),
|
||||
id-S-TMSI(96),
|
||||
id-cdma2000OneXRAND(97),
|
||||
id-RequestType(98),
|
||||
id-UE-S1AP-IDs(99),
|
||||
id-EUTRAN-CGI(100),
|
||||
id-OverloadResponse(101),
|
||||
id-cdma2000OneXSRVCCInfo(102),
|
||||
id-E-RABFailedToBeReleasedList(103),
|
||||
id-Source-ToTarget-TransparentContainer(104),
|
||||
id-ServedGUMMEIs(105),
|
||||
id-SubscriberProfileIDforRFP(106),
|
||||
id-UESecurityCapabilities(107),
|
||||
id-CSFallbackIndicator(108),
|
||||
id-CNDomain(109),
|
||||
id-E-RABReleasedList(110),
|
||||
id-MessageIdentifier(111),
|
||||
id-SerialNumber(112),
|
||||
id-WarningAreaList(113),
|
||||
id-RepetitionPeriod(114),
|
||||
id-NumberofBroadcastRequest(115),
|
||||
id-WarningType(116),
|
||||
id-WarningSecurityInfo(117),
|
||||
id-DataCodingScheme(118),
|
||||
id-WarningMessageContents(119),
|
||||
id-BroadcastCompletedAreaList(120),
|
||||
id-Inter-SystemInformationTransferTypeEDT(121),
|
||||
id-Inter-SystemInformationTransferTypeMDT(122),
|
||||
id-Target-ToSource-TransparentContainer(123),
|
||||
id-SRVCCOperationPossible(124),
|
||||
id-SRVCCHOIndication(125),
|
||||
id-NAS-DownlinkCount(126),
|
||||
id-CSG-Id(127),
|
||||
id-CSG-IdList(128),
|
||||
id-SONConfigurationTransferECT(129),
|
||||
id-SONConfigurationTransferMCT(130),
|
||||
id-TraceCollectionEntityIPAddress(131),
|
||||
id-MSClassmark2(132),
|
||||
id-MSClassmark3(133),
|
||||
id-RRC-Establishment-Cause(134),
|
||||
id-NASSecurityParametersfromE-UTRAN(135),
|
||||
id-NASSecurityParameterstoE-UTRAN(136),
|
||||
id-DefaultPagingDRX(137),
|
||||
id-Source-ToTarget-TransparentContainer-Secondary(138),
|
||||
id-Target-ToSource-TransparentContainer-Secondary(139),
|
||||
id-EUTRANRoundTripDelayEstimationInfo(140),
|
||||
id-BroadcastCancelledAreaList(141),
|
||||
id-ConcurrentWarningMessageIndicator(142),
|
||||
id-Data-Forwarding-Not-Possible(143),
|
||||
id-ExtendedRepetitionPeriod(144),
|
||||
id-CellAccessMode(145),
|
||||
id-CSGMembershipStatus(146),
|
||||
id-LPPa-PDU(147),
|
||||
id-Routing-ID(148),
|
||||
id-Time-Synchronization-Info(149),
|
||||
id-PS-ServiceNotAvailable(150),
|
||||
id-RegisteredLAI(159)
|
||||
} (0..65535)
|
||||
|
||||
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
|
||||
|
||||
END
|
||||
@@ -1,265 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-HandoverPreparation ProcedureCode ::= 0
|
||||
id-HandoverResourceAllocation ProcedureCode ::= 1
|
||||
id-HandoverNotification ProcedureCode ::= 2
|
||||
id-PathSwitchRequest ProcedureCode ::= 3
|
||||
id-HandoverCancel ProcedureCode ::= 4
|
||||
id-E-RABSetup ProcedureCode ::= 5
|
||||
id-E-RABModify ProcedureCode ::= 6
|
||||
id-E-RABRelease ProcedureCode ::= 7
|
||||
id-E-RABReleaseIndication ProcedureCode ::= 8
|
||||
id-InitialContextSetup ProcedureCode ::= 9
|
||||
id-Paging ProcedureCode ::= 10
|
||||
id-downlinkNASTransport ProcedureCode ::= 11
|
||||
id-initialUEMessage ProcedureCode ::= 12
|
||||
id-uplinkNASTransport ProcedureCode ::= 13
|
||||
id-Reset ProcedureCode::= 14
|
||||
id-ErrorIndication ProcedureCode ::= 15
|
||||
id-NASNonDeliveryIndication ProcedureCode ::= 16
|
||||
id-S1Setup ProcedureCode ::= 17
|
||||
id-UEContextReleaseRequest ProcedureCode ::= 18
|
||||
id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
|
||||
id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
|
||||
id-UEContextModification ProcedureCode ::= 21
|
||||
id-UECapabilityInfoIndication ProcedureCode ::= 22
|
||||
id-UEContextRelease ProcedureCode ::= 23
|
||||
id-eNBStatusTransfer ProcedureCode ::= 24
|
||||
id-MMEStatusTransfer ProcedureCode ::= 25
|
||||
id-DeactivateTrace ProcedureCode ::= 26
|
||||
id-TraceStart ProcedureCode ::= 27
|
||||
id-TraceFailureIndication ProcedureCode ::= 28
|
||||
id-ENBConfigurationUpdate ProcedureCode ::= 29
|
||||
id-MMEConfigurationUpdate ProcedureCode ::= 30
|
||||
id-LocationReportingControl ProcedureCode ::= 31
|
||||
id-LocationReportingFailureIndication ProcedureCode ::= 32
|
||||
id-LocationReport ProcedureCode ::= 33
|
||||
id-OverloadStart ProcedureCode ::= 34
|
||||
id-OverloadStop ProcedureCode ::= 35
|
||||
id-WriteReplaceWarning ProcedureCode ::= 36
|
||||
id-eNBDirectInformationTransfer ProcedureCode ::= 37
|
||||
id-MMEDirectInformationTransfer ProcedureCode ::= 38
|
||||
id-PrivateMessage ProcedureCode ::= 39
|
||||
id-eNBConfigurationTransfer ProcedureCode ::= 40
|
||||
id-MMEConfigurationTransfer ProcedureCode ::= 41
|
||||
id-CellTrafficTrace ProcedureCode ::= 42
|
||||
id-Kill ProcedureCode ::= 43
|
||||
id-downlinkUEAssociatedLPPaTransport ProcedureCode ::= 44
|
||||
id-uplinkUEAssociatedLPPaTransport ProcedureCode ::= 45
|
||||
id-downlinkNonUEAssociatedLPPaTransport ProcedureCode ::= 46
|
||||
id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxPrivateIEs INTEGER ::= 65535
|
||||
maxProtocolExtensions INTEGER ::= 65535
|
||||
maxProtocolIEs INTEGER ::= 65535
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxNrOfCSGs INTEGER ::= 256
|
||||
maxNrOfE-RABs INTEGER ::= 256
|
||||
maxnoofTAIs INTEGER ::= 256
|
||||
maxnoofTACs INTEGER ::= 256
|
||||
maxNrOfErrors INTEGER ::= 256
|
||||
maxnoofBPLMNs INTEGER ::= 6
|
||||
maxnoofPLMNsPerMME INTEGER ::= 32
|
||||
maxnoofEPLMNs INTEGER ::= 15
|
||||
maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
maxnoofForbLACs INTEGER ::= 4096
|
||||
maxnoofForbTACs INTEGER ::= 4096
|
||||
maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
|
||||
maxnoofCells INTEGER ::= 16
|
||||
maxnoofTAIforWarning INTEGER ::= 65535
|
||||
maxnoofCellID INTEGER ::= 65535
|
||||
maxnoofEmergencyAreaID INTEGER ::= 65535
|
||||
maxnoofCellinTAI INTEGER ::= 65535
|
||||
maxnoofCellinEAI INTEGER ::= 65535
|
||||
maxnoofeNBX2TLAs INTEGER ::= 2
|
||||
maxnoofRATs INTEGER ::= 8
|
||||
maxnoofGroupIDs INTEGER ::= 65535
|
||||
maxnoofMMECs INTEGER ::= 256
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
|
||||
id-HandoverType ProtocolIE-ID ::= 1
|
||||
id-Cause ProtocolIE-ID ::= 2
|
||||
id-SourceID ProtocolIE-ID ::= 3
|
||||
id-TargetID ProtocolIE-ID ::= 4
|
||||
id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
|
||||
id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
|
||||
id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
|
||||
id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
|
||||
id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
|
||||
id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
|
||||
id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
|
||||
id-E-RABAdmittedList ProtocolIE-ID ::= 18
|
||||
id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
|
||||
id-E-RABAdmittedItem ProtocolIE-ID ::= 20
|
||||
id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
|
||||
id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
|
||||
id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
|
||||
id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
|
||||
id-TraceActivation ProtocolIE-ID ::= 25
|
||||
id-NAS-PDU ProtocolIE-ID ::= 26
|
||||
id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
|
||||
id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
|
||||
id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
|
||||
id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
|
||||
id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
|
||||
id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
|
||||
id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
|
||||
id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
|
||||
id-E-RABItem ProtocolIE-ID ::= 35
|
||||
id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
|
||||
id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
|
||||
id-E-RABReleaseItem ProtocolIE-ID ::= 38
|
||||
id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
|
||||
id-SecurityContext ProtocolIE-ID ::= 40
|
||||
id-HandoverRestrictionList ProtocolIE-ID ::= 41
|
||||
id-UEPagingID ProtocolIE-ID ::= 43
|
||||
id-pagingDRX ProtocolIE-ID ::= 44
|
||||
id-TAIList ProtocolIE-ID ::= 46
|
||||
id-TAIItem ProtocolIE-ID ::= 47
|
||||
id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
|
||||
id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
|
||||
id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
|
||||
id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
|
||||
id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
|
||||
id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
|
||||
id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
|
||||
id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
|
||||
id-CriticalityDiagnostics ProtocolIE-ID ::= 58
|
||||
id-Global-ENB-ID ProtocolIE-ID ::= 59
|
||||
id-eNBname ProtocolIE-ID ::= 60
|
||||
id-MMEname ProtocolIE-ID ::= 61
|
||||
id-ServedPLMNs ProtocolIE-ID ::= 63
|
||||
id-SupportedTAs ProtocolIE-ID ::= 64
|
||||
id-TimeToWait ProtocolIE-ID ::= 65
|
||||
id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
|
||||
id-TAI ProtocolIE-ID ::= 67
|
||||
id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
|
||||
id-cdma2000PDU ProtocolIE-ID ::= 70
|
||||
id-cdma2000RATType ProtocolIE-ID ::= 71
|
||||
id-cdma2000SectorID ProtocolIE-ID ::= 72
|
||||
id-SecurityKey ProtocolIE-ID ::= 73
|
||||
id-UERadioCapability ProtocolIE-ID ::= 74
|
||||
id-GUMMEI-ID ProtocolIE-ID ::= 75
|
||||
id-E-RABInformationListItem ProtocolIE-ID ::= 78
|
||||
id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
|
||||
id-UEIdentityIndexValue ProtocolIE-ID ::= 80
|
||||
id-cdma2000HOStatus ProtocolIE-ID ::= 83
|
||||
id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
|
||||
id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
|
||||
id-RelativeMMECapacity ProtocolIE-ID ::= 87
|
||||
id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
|
||||
id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
|
||||
id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
|
||||
id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
|
||||
id-ResetType ProtocolIE-ID ::= 92
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
|
||||
id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
|
||||
id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
|
||||
id-S-TMSI ProtocolIE-ID ::= 96
|
||||
id-cdma2000OneXRAND ProtocolIE-ID ::= 97
|
||||
id-RequestType ProtocolIE-ID ::= 98
|
||||
id-UE-S1AP-IDs ProtocolIE-ID ::= 99
|
||||
id-EUTRAN-CGI ProtocolIE-ID ::= 100
|
||||
id-OverloadResponse ProtocolIE-ID ::= 101
|
||||
id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
|
||||
id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
|
||||
id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
|
||||
id-ServedGUMMEIs ProtocolIE-ID ::= 105
|
||||
id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
|
||||
id-UESecurityCapabilities ProtocolIE-ID ::= 107
|
||||
id-CSFallbackIndicator ProtocolIE-ID ::= 108
|
||||
id-CNDomain ProtocolIE-ID ::= 109
|
||||
id-E-RABReleasedList ProtocolIE-ID ::= 110
|
||||
id-MessageIdentifier ProtocolIE-ID ::= 111
|
||||
id-SerialNumber ProtocolIE-ID ::= 112
|
||||
id-WarningAreaList ProtocolIE-ID ::= 113
|
||||
id-RepetitionPeriod ProtocolIE-ID ::= 114
|
||||
id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
|
||||
id-WarningType ProtocolIE-ID ::= 116
|
||||
id-WarningSecurityInfo ProtocolIE-ID ::= 117
|
||||
id-DataCodingScheme ProtocolIE-ID ::= 118
|
||||
id-WarningMessageContents ProtocolIE-ID ::= 119
|
||||
id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
|
||||
id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
|
||||
id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
|
||||
id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
|
||||
id-SRVCCOperationPossible ProtocolIE-ID ::= 124
|
||||
id-SRVCCHOIndication ProtocolIE-ID ::= 125
|
||||
id-NAS-DownlinkCount ProtocolIE-ID ::= 126
|
||||
id-CSG-Id ProtocolIE-ID ::= 127
|
||||
id-CSG-IdList ProtocolIE-ID ::= 128
|
||||
id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
|
||||
id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
|
||||
id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
|
||||
id-MSClassmark2 ProtocolIE-ID ::= 132
|
||||
id-MSClassmark3 ProtocolIE-ID ::= 133
|
||||
id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
|
||||
id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
|
||||
id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
|
||||
id-DefaultPagingDRX ProtocolIE-ID ::= 137
|
||||
id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
|
||||
id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
|
||||
id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID ::= 140
|
||||
id-BroadcastCancelledAreaList ProtocolIE-ID ::= 141
|
||||
id-ConcurrentWarningMessageIndicator ProtocolIE-ID ::= 142
|
||||
id-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143
|
||||
id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144
|
||||
id-CellAccessMode ProtocolIE-ID ::= 145
|
||||
id-CSGMembershipStatus ProtocolIE-ID ::= 146
|
||||
id-LPPa-PDU ProtocolIE-ID ::= 147
|
||||
id-Routing-ID ProtocolIE-ID ::= 148
|
||||
id-Time-Synchronization-Info ProtocolIE-ID ::= 149
|
||||
id-PS-ServiceNotAvailable ProtocolIE-ID ::= 150
|
||||
id-RegisteredLAI ProtocolIE-ID ::= 159
|
||||
|
||||
END
|
||||
@@ -1,197 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Containers {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
Presence,
|
||||
PrivateIE-ID,
|
||||
ProtocolExtensionID,
|
||||
ProtocolIE-ID
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
maxPrivateIEs,
|
||||
maxProtocolExtensions,
|
||||
maxProtocolIEs
|
||||
FROM S1AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-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 {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IE Pairs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-FieldPair {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
|
||||
firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
|
||||
firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
|
||||
secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
|
||||
secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container Lists for Protocol IE Containers
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-SingleContainer {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
|
||||
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
|
||||
ProtocolExtensionField {{ExtensionSetParam}}
|
||||
|
||||
ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
|
||||
criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
|
||||
extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
|
||||
SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
|
||||
PrivateIE-Field {{IEsSetParam}}
|
||||
|
||||
PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
END
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,591 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
ProcedureCode
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
CellTrafficTrace,
|
||||
DeactivateTrace,
|
||||
DownlinkUEAssociatedLPPaTransport,
|
||||
DownlinkNASTransport,
|
||||
DownlinkNonUEAssociatedLPPaTransport,
|
||||
DownlinkS1cdma2000tunneling,
|
||||
ENBDirectInformationTransfer,
|
||||
ENBStatusTransfer,
|
||||
ENBConfigurationUpdate,
|
||||
ENBConfigurationUpdateAcknowledge,
|
||||
ENBConfigurationUpdateFailure,
|
||||
ErrorIndication,
|
||||
HandoverCancel,
|
||||
HandoverCancelAcknowledge,
|
||||
HandoverCommand,
|
||||
HandoverFailure,
|
||||
HandoverNotify,
|
||||
HandoverPreparationFailure,
|
||||
HandoverRequest,
|
||||
HandoverRequestAcknowledge,
|
||||
HandoverRequired,
|
||||
InitialContextSetupFailure,
|
||||
InitialContextSetupRequest,
|
||||
InitialContextSetupResponse,
|
||||
InitialUEMessage,
|
||||
KillRequest,
|
||||
KillResponse,
|
||||
LocationReportingControl,
|
||||
LocationReportingFailureIndication,
|
||||
LocationReport,
|
||||
MMEConfigurationUpdate,
|
||||
MMEConfigurationUpdateAcknowledge,
|
||||
MMEConfigurationUpdateFailure,
|
||||
MMEDirectInformationTransfer,
|
||||
MMEStatusTransfer,
|
||||
NASNonDeliveryIndication,
|
||||
OverloadStart,
|
||||
OverloadStop,
|
||||
Paging,
|
||||
PathSwitchRequest,
|
||||
PathSwitchRequestAcknowledge,
|
||||
PathSwitchRequestFailure,
|
||||
PrivateMessage,
|
||||
Reset,
|
||||
ResetAcknowledge,
|
||||
S1SetupFailure,
|
||||
S1SetupRequest,
|
||||
S1SetupResponse,
|
||||
E-RABModifyRequest,
|
||||
E-RABModifyResponse,
|
||||
E-RABReleaseCommand,
|
||||
E-RABReleaseResponse,
|
||||
E-RABReleaseIndication,
|
||||
E-RABSetupRequest,
|
||||
E-RABSetupResponse,
|
||||
TraceFailureIndication,
|
||||
TraceStart,
|
||||
UECapabilityInfoIndication,
|
||||
UEContextModificationFailure,
|
||||
UEContextModificationRequest,
|
||||
UEContextModificationResponse,
|
||||
UEContextReleaseCommand,
|
||||
UEContextReleaseComplete,
|
||||
UEContextReleaseRequest,
|
||||
UplinkUEAssociatedLPPaTransport,
|
||||
UplinkNASTransport,
|
||||
UplinkNonUEAssociatedLPPaTransport,
|
||||
UplinkS1cdma2000tunneling,
|
||||
WriteReplaceWarningRequest,
|
||||
WriteReplaceWarningResponse,
|
||||
ENBConfigurationTransfer,
|
||||
MMEConfigurationTransfer
|
||||
|
||||
|
||||
FROM S1AP-PDU-Contents
|
||||
|
||||
id-CellTrafficTrace,
|
||||
id-DeactivateTrace,
|
||||
id-downlinkUEAssociatedLPPaTransport,
|
||||
id-downlinkNASTransport,
|
||||
id-downlinkNonUEAssociatedLPPaTransport,
|
||||
id-DownlinkS1cdma2000tunneling,
|
||||
id-eNBStatusTransfer,
|
||||
id-ErrorIndication,
|
||||
id-HandoverCancel,
|
||||
id-HandoverNotification,
|
||||
id-HandoverPreparation,
|
||||
id-HandoverResourceAllocation,
|
||||
id-InitialContextSetup,
|
||||
id-initialUEMessage,
|
||||
id-ENBConfigurationUpdate,
|
||||
id-Kill,
|
||||
id-LocationReportingControl,
|
||||
id-LocationReportingFailureIndication,
|
||||
id-LocationReport,
|
||||
id-eNBDirectInformationTransfer,
|
||||
id-MMEConfigurationUpdate,
|
||||
id-MMEDirectInformationTransfer,
|
||||
id-MMEStatusTransfer,
|
||||
id-NASNonDeliveryIndication,
|
||||
id-OverloadStart,
|
||||
id-OverloadStop,
|
||||
id-Paging,
|
||||
id-PathSwitchRequest,
|
||||
id-PrivateMessage,
|
||||
id-Reset,
|
||||
id-S1Setup,
|
||||
id-E-RABModify,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-TraceFailureIndication,
|
||||
id-TraceStart,
|
||||
id-UECapabilityInfoIndication,
|
||||
id-UEContextModification,
|
||||
id-UEContextRelease,
|
||||
id-UEContextReleaseRequest,
|
||||
id-uplinkUEAssociatedLPPaTransport,
|
||||
id-uplinkNASTransport,
|
||||
id-uplinkNonUEAssociatedLPPaTransport,
|
||||
id-UplinkS1cdma2000tunneling,
|
||||
id-WriteReplaceWarning,
|
||||
id-eNBConfigurationTransfer,
|
||||
id-MMEConfigurationTransfer
|
||||
FROM S1AP-Constants;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-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
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverPreparation |
|
||||
handoverResourceAllocation |
|
||||
pathSwitchRequest |
|
||||
e-RABSetup |
|
||||
e-RABModify |
|
||||
e-RABRelease |
|
||||
initialContextSetup |
|
||||
handoverCancel |
|
||||
kill |
|
||||
reset |
|
||||
s1Setup |
|
||||
uEContextModification |
|
||||
uEContextRelease |
|
||||
eNBConfigurationUpdate |
|
||||
mMEConfigurationUpdate |
|
||||
writeReplaceWarning ,
|
||||
...
|
||||
}
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverNotification |
|
||||
e-RABReleaseIndication |
|
||||
paging |
|
||||
downlinkNASTransport |
|
||||
initialUEMessage |
|
||||
uplinkNASTransport |
|
||||
errorIndication |
|
||||
nASNonDeliveryIndication |
|
||||
uEContextReleaseRequest |
|
||||
downlinkS1cdma2000tunneling |
|
||||
uplinkS1cdma2000tunneling |
|
||||
uECapabilityInfoIndication |
|
||||
eNBStatusTransfer |
|
||||
mMEStatusTransfer |
|
||||
deactivateTrace |
|
||||
traceStart |
|
||||
traceFailureIndication |
|
||||
cellTrafficTrace |
|
||||
locationReportingControl |
|
||||
locationReportingFailureIndication |
|
||||
locationReport |
|
||||
overloadStart |
|
||||
overloadStop |
|
||||
eNBDirectInformationTransfer |
|
||||
mMEDirectInformationTransfer |
|
||||
eNBConfigurationTransfer |
|
||||
mMEConfigurationTransfer |
|
||||
privateMessage ,
|
||||
...,
|
||||
downlinkUEAssociatedLPPaTransport |
|
||||
uplinkUEAssociatedLPPaTransport |
|
||||
downlinkNonUEAssociatedLPPaTransport |
|
||||
uplinkNonUEAssociatedLPPaTransport
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequired
|
||||
SUCCESSFUL OUTCOME HandoverCommand
|
||||
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
|
||||
PROCEDURE CODE id-HandoverPreparation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequest
|
||||
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME HandoverFailure
|
||||
PROCEDURE CODE id-HandoverResourceAllocation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverNotify
|
||||
PROCEDURE CODE id-HandoverNotification
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PathSwitchRequest
|
||||
SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
|
||||
PROCEDURE CODE id-PathSwitchRequest
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABSetupRequest
|
||||
SUCCESSFUL OUTCOME E-RABSetupResponse
|
||||
PROCEDURE CODE id-E-RABSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABModifyRequest
|
||||
SUCCESSFUL OUTCOME E-RABModifyResponse
|
||||
PROCEDURE CODE id-E-RABModify
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseCommand
|
||||
SUCCESSFUL OUTCOME E-RABReleaseResponse
|
||||
PROCEDURE CODE id-E-RABRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseIndication
|
||||
PROCEDURE CODE id-E-RABReleaseIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialContextSetupRequest
|
||||
SUCCESSFUL OUTCOME InitialContextSetupResponse
|
||||
UNSUCCESSFUL OUTCOME InitialContextSetupFailure
|
||||
PROCEDURE CODE id-InitialContextSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseRequest
|
||||
PROCEDURE CODE id-UEContextReleaseRequest
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
paging S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Paging
|
||||
PROCEDURE CODE id-Paging
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNASTransport
|
||||
PROCEDURE CODE id-downlinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialUEMessage
|
||||
PROCEDURE CODE id-initialUEMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNASTransport
|
||||
PROCEDURE CODE id-uplinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE NASNonDeliveryIndication
|
||||
PROCEDURE CODE id-NASNonDeliveryIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverCancel
|
||||
SUCCESSFUL OUTCOME HandoverCancelAcknowledge
|
||||
PROCEDURE CODE id-HandoverCancel
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
reset S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Reset
|
||||
SUCCESSFUL OUTCOME ResetAcknowledge
|
||||
PROCEDURE CODE id-Reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-ErrorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE S1SetupRequest
|
||||
SUCCESSFUL OUTCOME S1SetupResponse
|
||||
UNSUCCESSFUL OUTCOME S1SetupFailure
|
||||
PROCEDURE CODE id-S1Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-ENBConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-MMEConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-DownlinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-UplinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextModificationRequest
|
||||
SUCCESSFUL OUTCOME UEContextModificationResponse
|
||||
UNSUCCESSFUL OUTCOME UEContextModificationFailure
|
||||
|
||||
PROCEDURE CODE id-UEContextModification
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UECapabilityInfoIndication
|
||||
PROCEDURE CODE id-UECapabilityInfoIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseCommand
|
||||
SUCCESSFUL OUTCOME UEContextReleaseComplete
|
||||
PROCEDURE CODE id-UEContextRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBStatusTransfer
|
||||
PROCEDURE CODE id-eNBStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEStatusTransfer
|
||||
PROCEDURE CODE id-MMEStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DeactivateTrace
|
||||
PROCEDURE CODE id-DeactivateTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceStart
|
||||
PROCEDURE CODE id-TraceStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceFailureIndication
|
||||
PROCEDURE CODE id-TraceFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
|
||||
INITIATING MESSAGE CellTrafficTrace
|
||||
PROCEDURE CODE id-CellTrafficTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingControl
|
||||
PROCEDURE CODE id-LocationReportingControl
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingFailureIndication
|
||||
PROCEDURE CODE id-LocationReportingFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReport
|
||||
PROCEDURE CODE id-LocationReport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStart
|
||||
PROCEDURE CODE id-OverloadStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStop
|
||||
PROCEDURE CODE id-OverloadStop
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE WriteReplaceWarningRequest
|
||||
SUCCESSFUL OUTCOME WriteReplaceWarningResponse
|
||||
PROCEDURE CODE id-WriteReplaceWarning
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBDirectInformationTransfer
|
||||
PROCEDURE CODE id-eNBDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEDirectInformationTransfer
|
||||
PROCEDURE CODE id-MMEDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationTransfer
|
||||
PROCEDURE CODE id-eNBConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationTransfer
|
||||
PROCEDURE CODE id-MMEConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
|
||||
privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-PrivateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
kill S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE KillRequest
|
||||
SUCCESSFUL OUTCOME KillResponse
|
||||
PROCEDURE CODE id-Kill
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
END
|
||||
@@ -1,413 +0,0 @@
|
||||
S1AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1)
|
||||
}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
maxProtocolIEs
|
||||
|
||||
FROM S1AP-Constants;
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
HandoverRequired ::= SEQUENCE {
|
||||
handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCommand ::= SEQUENCE {
|
||||
handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverPreparationFailure ::= SEQUENCE {
|
||||
handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequest ::= SEQUENCE {
|
||||
handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverFailure ::= SEQUENCE {
|
||||
handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverNotify ::= SEQUENCE {
|
||||
handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequest ::= SEQUENCE {
|
||||
pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestAcknowledge ::= SEQUENCE {
|
||||
pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestFailure ::= SEQUENCE {
|
||||
pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupRequest ::= SEQUENCE {
|
||||
e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupResponse ::= SEQUENCE {
|
||||
e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyRequest ::= SEQUENCE {
|
||||
e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyResponse ::= SEQUENCE {
|
||||
e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseIndication ::= SEQUENCE {
|
||||
e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseCommand ::= SEQUENCE {
|
||||
e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseResponse ::= SEQUENCE {
|
||||
e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupRequest ::= SEQUENCE {
|
||||
initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupResponse ::= SEQUENCE {
|
||||
initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupFailure ::= SEQUENCE {
|
||||
initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseRequest ::= SEQUENCE {
|
||||
ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Paging ::= SEQUENCE {
|
||||
paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkNASTransport ::= SEQUENCE {
|
||||
downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialUEMessage ::= SEQUENCE {
|
||||
initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkNASTransport ::= SEQUENCE {
|
||||
uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
NASNonDeliveryIndication ::= SEQUENCE {
|
||||
nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancel ::= SEQUENCE {
|
||||
handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancelAcknowledge ::= SEQUENCE {
|
||||
handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Reset ::= SEQUENCE {
|
||||
reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResetAcknowledge ::= SEQUENCE {
|
||||
resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupResponse ::= SEQUENCE {
|
||||
s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupRequest ::= SEQUENCE {
|
||||
s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupFailure ::= SEQUENCE
|
||||
{
|
||||
s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ErrorIndication ::= SEQUENCE {
|
||||
errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdate ::= SEQUENCE {
|
||||
eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdate ::= SEQUENCE {
|
||||
mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateFailure ::= SEQUENCE {
|
||||
mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationRequest ::= SEQUENCE {
|
||||
ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationResponse ::= SEQUENCE {
|
||||
ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationFailure ::= SEQUENCE {
|
||||
ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UECapabilityInfoIndication ::= SEQUENCE {
|
||||
ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseCommand ::= SEQUENCE {
|
||||
ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseComplete ::= SEQUENCE {
|
||||
ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBStatusTransfer ::= SEQUENCE {
|
||||
eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEStatusTransfer ::= SEQUENCE {
|
||||
mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DeactivateTrace ::= SEQUENCE {
|
||||
deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceStart ::= SEQUENCE {
|
||||
traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceFailureIndication ::= SEQUENCE {
|
||||
traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
CellTrafficTrace ::= SEQUENCE {
|
||||
cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingControl ::= SEQUENCE {
|
||||
locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingFailureIndication ::= SEQUENCE {
|
||||
locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReport ::= SEQUENCE {
|
||||
locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStart ::= SEQUENCE {
|
||||
overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStop ::= SEQUENCE {
|
||||
overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningRequest ::= SEQUENCE {
|
||||
writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningResponse ::= SEQUENCE {
|
||||
writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBDirectInformationTransfer ::= SEQUENCE {
|
||||
eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEDirectInformationTransfer ::= SEQUENCE {
|
||||
mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationTransfer ::= SEQUENCE {
|
||||
eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationTransfer ::= SEQUENCE {
|
||||
mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PrivateMessage ::= SEQUENCE {
|
||||
privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
KillRequest ::= SEQUENCE {
|
||||
killRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
KillResponse ::= SEQUENCE {
|
||||
killResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
downlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
uplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
downlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
uplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
IE ::= SEQUENCE {
|
||||
id ProtocolIE-ID,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
END
|
||||
+4698
File diff suppressed because it is too large
Load Diff
+3
-141
@@ -22,7 +22,7 @@
|
||||
/*! \file s1ap_common.c
|
||||
* \brief s1ap procedures for both eNB and MME
|
||||
* \author Sebastien ROUX and Navid Nikaein
|
||||
* \email navid.nikaein@eurecom.fr
|
||||
* \email navid.nikaein@eurecom.fr
|
||||
* \date 2012-2015
|
||||
* \version 0.1
|
||||
*/
|
||||
@@ -30,7 +30,7 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#include "s1ap_common.h"
|
||||
#include "S1AP-PDU.h"
|
||||
#include "S1AP_S1AP-PDU.h"
|
||||
|
||||
int asn_debug = 0;
|
||||
int asn1_xer_print = 0;
|
||||
@@ -53,144 +53,6 @@ inline void ASN_DEBUG(const char *fmt, ...)
|
||||
}
|
||||
#endif
|
||||
|
||||
ssize_t s1ap_generate_initiating_message(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
e_S1ap_ProcedureCode procedureCode,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr)
|
||||
void s1ap_handle_criticality(S1AP_Criticality_t criticality)
|
||||
{
|
||||
S1AP_PDU_t pdu;
|
||||
ssize_t encoded;
|
||||
|
||||
memset(&pdu, 0, sizeof(S1AP_PDU_t));
|
||||
|
||||
pdu.present = S1AP_PDU_PR_initiatingMessage;
|
||||
pdu.choice.initiatingMessage.procedureCode = procedureCode;
|
||||
pdu.choice.initiatingMessage.criticality = criticality;
|
||||
ANY_fromType_aper(&pdu.choice.initiatingMessage.value, td, sptr);
|
||||
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_S1AP_PDU, (void *)&pdu);
|
||||
}
|
||||
|
||||
/* We can safely free list of IE from sptr */
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(*td, sptr);
|
||||
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu,
|
||||
(void **)buffer)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
*length = encoded;
|
||||
return encoded;
|
||||
}
|
||||
|
||||
ssize_t s1ap_generate_successfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
e_S1ap_ProcedureCode procedureCode,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr)
|
||||
{
|
||||
S1AP_PDU_t pdu;
|
||||
ssize_t encoded;
|
||||
|
||||
memset(&pdu, 0, sizeof(S1AP_PDU_t));
|
||||
|
||||
pdu.present = S1AP_PDU_PR_successfulOutcome;
|
||||
pdu.choice.successfulOutcome.procedureCode = procedureCode;
|
||||
pdu.choice.successfulOutcome.criticality = criticality;
|
||||
ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr);
|
||||
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_S1AP_PDU, (void *)&pdu);
|
||||
}
|
||||
|
||||
/* We can safely free list of IE from sptr */
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(*td, sptr);
|
||||
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu,
|
||||
(void **)buffer)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
*length = encoded;
|
||||
|
||||
return encoded;
|
||||
}
|
||||
|
||||
ssize_t s1ap_generate_unsuccessfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
e_S1ap_ProcedureCode procedureCode,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr)
|
||||
{
|
||||
S1AP_PDU_t pdu;
|
||||
ssize_t encoded;
|
||||
|
||||
memset(&pdu, 0, sizeof(S1AP_PDU_t));
|
||||
|
||||
pdu.present = S1AP_PDU_PR_unsuccessfulOutcome;
|
||||
pdu.choice.successfulOutcome.procedureCode = procedureCode;
|
||||
pdu.choice.successfulOutcome.criticality = criticality;
|
||||
ANY_fromType_aper(&pdu.choice.successfulOutcome.value, td, sptr);
|
||||
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_S1AP_PDU, (void *)&pdu);
|
||||
}
|
||||
|
||||
/* We can safely free list of IE from sptr */
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(*td, sptr);
|
||||
|
||||
if ((encoded = aper_encode_to_new_buffer(&asn_DEF_S1AP_PDU, 0, &pdu,
|
||||
(void **)buffer)) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
*length = encoded;
|
||||
|
||||
return encoded;
|
||||
}
|
||||
|
||||
S1ap_IE_t *s1ap_new_ie(
|
||||
S1ap_ProtocolIE_ID_t id,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *type,
|
||||
void *sptr)
|
||||
{
|
||||
S1ap_IE_t *buff;
|
||||
|
||||
if ((buff = malloc(sizeof(S1ap_IE_t))) == NULL) {
|
||||
// Possible error on malloc
|
||||
return NULL;
|
||||
}
|
||||
|
||||
memset((void *)buff, 0, sizeof(S1ap_IE_t));
|
||||
|
||||
buff->id = id;
|
||||
buff->criticality = criticality;
|
||||
|
||||
if (ANY_fromType_aper(&buff->value, type, sptr) < 0) {
|
||||
fprintf(stderr, "Encoding of %s failed\n", type->name);
|
||||
free(buff);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (asn1_xer_print)
|
||||
if (xer_fprint(stdout, &asn_DEF_S1ap_IE, buff) < 0) {
|
||||
free(buff);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return buff;
|
||||
}
|
||||
|
||||
void s1ap_handle_criticality(S1ap_Criticality_t criticality)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
+31
-406
@@ -39,343 +39,19 @@ extern int asn_debug;
|
||||
inline void ASN_DEBUG(const char *fmt, ...);
|
||||
#endif
|
||||
|
||||
#include "S1ap-Criticality.h"
|
||||
#include "S1ap-Presence.h"
|
||||
#include "S1ap-PrivateIE-ID.h"
|
||||
#include "S1ap-ProcedureCode.h"
|
||||
#include "S1ap-ProtocolExtensionID.h"
|
||||
#include "S1ap-ProtocolIE-ID.h"
|
||||
#include "S1ap-TriggeringMessage.h"
|
||||
#include "S1ap-AllocationAndRetentionPriority.h"
|
||||
#include "S1ap-Bearers-SubjectToStatusTransfer-List.h"
|
||||
#include "S1ap-Bearers-SubjectToStatusTransfer-Item.h"
|
||||
#include "S1ap-BitRate.h"
|
||||
#include "S1ap-BPLMNs.h"
|
||||
#include "S1ap-BroadcastCompletedAreaList.h"
|
||||
#include "S1ap-Cause.h"
|
||||
#include "S1ap-CauseMisc.h"
|
||||
#include "S1ap-CauseProtocol.h"
|
||||
#include "S1ap-CauseRadioNetwork.h"
|
||||
#include "S1ap-CauseTransport.h"
|
||||
#include "S1ap-CauseNas.h"
|
||||
#include "S1ap-CellIdentity.h"
|
||||
#include "S1ap-CellID-Broadcast.h"
|
||||
#include "S1ap-CellID-Broadcast-Item.h"
|
||||
#include "S1ap-Cdma2000PDU.h"
|
||||
#include "S1ap-Cdma2000RATType.h"
|
||||
#include "S1ap-Cdma2000SectorID.h"
|
||||
#include "S1ap-Cdma2000HOStatus.h"
|
||||
#include "S1ap-Cdma2000HORequiredIndication.h"
|
||||
#include "S1ap-Cdma2000OneXSRVCCInfo.h"
|
||||
#include "S1ap-Cdma2000OneXMEID.h"
|
||||
#include "S1ap-Cdma2000OneXMSI.h"
|
||||
#include "S1ap-Cdma2000OneXPilot.h"
|
||||
#include "S1ap-Cdma2000OneXRAND.h"
|
||||
#include "S1ap-Cell-Size.h"
|
||||
#include "S1ap-CellType.h"
|
||||
#include "S1ap-CGI.h"
|
||||
#include "S1ap-CI.h"
|
||||
#include "S1ap-CNDomain.h"
|
||||
#include "S1ap-CSFallbackIndicator.h"
|
||||
#include "S1ap-CSG-Id.h"
|
||||
#include "S1ap-CSG-IdList.h"
|
||||
#include "S1ap-CSG-IdList-Item.h"
|
||||
#include "S1ap-COUNTvalue.h"
|
||||
#include "S1ap-DataCodingScheme.h"
|
||||
#include "S1ap-DL-Forwarding.h"
|
||||
#include "S1ap-Direct-Forwarding-Path-Availability.h"
|
||||
#include "S1ap-ECGIList.h"
|
||||
#include "S1ap-EmergencyAreaIDList.h"
|
||||
#include "S1ap-EmergencyAreaID.h"
|
||||
#include "S1ap-EmergencyAreaID-Broadcast.h"
|
||||
#include "S1ap-EmergencyAreaID-Broadcast-Item.h"
|
||||
#include "S1ap-CompletedCellinEAI.h"
|
||||
#include "S1ap-CompletedCellinEAI-Item.h"
|
||||
#include "S1ap-ENB-ID.h"
|
||||
#include "S1ap-GERAN-Cell-ID.h"
|
||||
#include "S1ap-Global-ENB-ID.h"
|
||||
#include "S1ap-ENB-StatusTransfer-TransparentContainer.h"
|
||||
#include "S1ap-ENBname.h"
|
||||
#include "S1ap-ENBX2TLAs.h"
|
||||
#include "S1ap-EncryptionAlgorithms.h"
|
||||
#include "S1ap-EPLMNs.h"
|
||||
#include "S1ap-EventType.h"
|
||||
#include "S1ap-E-RAB-ID.h"
|
||||
#include "S1ap-E-RABInformationList.h"
|
||||
#include "S1ap-E-RABInformationListItem.h"
|
||||
#include "S1ap-E-RABList.h"
|
||||
#include "S1ap-E-RABItem.h"
|
||||
#include "S1ap-E-RABLevelQoSParameters.h"
|
||||
#include "S1ap-EUTRAN-CGI.h"
|
||||
#include "S1ap-ExtendedRNC-ID.h"
|
||||
#include "S1ap-ForbiddenInterRATs.h"
|
||||
#include "S1ap-ForbiddenTAs.h"
|
||||
#include "S1ap-ForbiddenTAs-Item.h"
|
||||
#include "S1ap-ForbiddenTACs.h"
|
||||
#include "S1ap-ForbiddenLAs.h"
|
||||
#include "S1ap-ForbiddenLAs-Item.h"
|
||||
#include "S1ap-ForbiddenLACs.h"
|
||||
#include "S1ap-GBR-QosInformation.h"
|
||||
#include "S1ap-GTP-TEID.h"
|
||||
#include "S1ap-GUMMEI.h"
|
||||
#include "S1ap-HandoverRestrictionList.h"
|
||||
#include "S1ap-HandoverType.h"
|
||||
#include "S1ap-HFN.h"
|
||||
#include "S1ap-IMSI.h"
|
||||
#include "S1ap-IntegrityProtectionAlgorithms.h"
|
||||
#include "S1ap-InterfacesToTrace.h"
|
||||
#include "S1ap-LAC.h"
|
||||
#include "S1ap-LAI.h"
|
||||
#include "S1ap-LastVisitedCell-Item.h"
|
||||
#include "S1ap-LastVisitedEUTRANCellInformation.h"
|
||||
#include "S1ap-LastVisitedUTRANCellInformation.h"
|
||||
#include "S1ap-LastVisitedGERANCellInformation.h"
|
||||
#include "S1ap-L3-Information.h"
|
||||
#include "S1ap-MessageIdentifier.h"
|
||||
#include "S1ap-MMEname.h"
|
||||
#include "S1ap-MME-Group-ID.h"
|
||||
#include "S1ap-MME-Code.h"
|
||||
#include "S1ap-M-TMSI.h"
|
||||
#include "S1ap-MSClassmark2.h"
|
||||
#include "S1ap-MSClassmark3.h"
|
||||
#include "S1ap-NAS-PDU.h"
|
||||
#include "S1ap-NASSecurityParametersfromE-UTRAN.h"
|
||||
#include "S1ap-NASSecurityParameterstoE-UTRAN.h"
|
||||
#include "S1ap-NumberofBroadcastRequest.h"
|
||||
#include "S1ap-NumberOfBroadcasts.h"
|
||||
#include "S1ap-OldBSS-ToNewBSS-Information.h"
|
||||
#include "S1ap-OverloadAction.h"
|
||||
#include "S1ap-OverloadResponse.h"
|
||||
#include "S1ap-PagingDRX.h"
|
||||
#include "S1ap-PDCP-SN.h"
|
||||
#include "S1ap-PLMNidentity.h"
|
||||
#include "S1ap-Pre-emptionCapability.h"
|
||||
#include "S1ap-Pre-emptionVulnerability.h"
|
||||
#include "S1ap-PriorityLevel.h"
|
||||
#include "S1ap-QCI.h"
|
||||
#include "S1ap-ReceiveStatusofULPDCPSDUs.h"
|
||||
#include "S1ap-RelativeMMECapacity.h"
|
||||
#include "S1ap-RAC.h"
|
||||
#include "S1ap-RequestType.h"
|
||||
#include "S1ap-RIMTransfer.h"
|
||||
#include "S1ap-RIMInformation.h"
|
||||
#include "S1ap-RIMRoutingAddress.h"
|
||||
#include "S1ap-ReportArea.h"
|
||||
#include "S1ap-RepetitionPeriod.h"
|
||||
#include "S1ap-RNC-ID.h"
|
||||
#include "S1ap-RRC-Container.h"
|
||||
#include "S1ap-RRC-Establishment-Cause.h"
|
||||
#include "S1ap-SecurityKey.h"
|
||||
#include "S1ap-SecurityContext.h"
|
||||
#include "S1ap-SerialNumber.h"
|
||||
#include "S1ap-SONInformation.h"
|
||||
#include "S1ap-SONInformationRequest.h"
|
||||
#include "S1ap-SONInformationReply.h"
|
||||
#include "S1ap-SONConfigurationTransfer.h"
|
||||
#include "S1ap-Source-ToTarget-TransparentContainer.h"
|
||||
#include "S1ap-SourceBSS-ToTargetBSS-TransparentContainer.h"
|
||||
#include "S1ap-SourceeNB-ID.h"
|
||||
#include "S1ap-SRVCCOperationPossible.h"
|
||||
#include "S1ap-SRVCCHOIndication.h"
|
||||
#include "S1ap-SourceeNB-ToTargeteNB-TransparentContainer.h"
|
||||
#include "S1ap-SourceRNC-ToTargetRNC-TransparentContainer.h"
|
||||
#include "S1ap-ServedGUMMEIs.h"
|
||||
#include "S1ap-ServedGUMMEIsItem.h"
|
||||
#include "S1ap-ServedGroupIDs.h"
|
||||
#include "S1ap-ServedMMECs.h"
|
||||
#include "S1ap-ServedPLMNs.h"
|
||||
#include "S1ap-SubscriberProfileIDforRFP.h"
|
||||
#include "S1ap-SupportedTAs.h"
|
||||
#include "S1ap-SupportedTAs-Item.h"
|
||||
#include "S1ap-S-TMSI.h"
|
||||
#include "S1ap-TAC.h"
|
||||
#include "S1ap-TAIItem.h"
|
||||
#include "S1ap-TAIList.h"
|
||||
#include "S1ap-TAIListforWarning.h"
|
||||
#include "S1ap-TAI.h"
|
||||
#include "S1ap-TAI-Broadcast.h"
|
||||
#include "S1ap-TAI-Broadcast-Item.h"
|
||||
#include "S1ap-CompletedCellinTAI.h"
|
||||
#include "S1ap-CompletedCellinTAI-Item.h"
|
||||
#include "S1ap-TargetID.h"
|
||||
#include "S1ap-TargeteNB-ID.h"
|
||||
#include "S1ap-TargetRNC-ID.h"
|
||||
#include "S1ap-TargeteNB-ToSourceeNB-TransparentContainer.h"
|
||||
#include "S1ap-Target-ToSource-TransparentContainer.h"
|
||||
#include "S1ap-TargetRNC-ToSourceRNC-TransparentContainer.h"
|
||||
#include "S1ap-TargetBSS-ToSourceBSS-TransparentContainer.h"
|
||||
#include "S1ap-TimeToWait.h"
|
||||
#include "S1ap-Time-UE-StayedInCell.h"
|
||||
#include "S1ap-TransportLayerAddress.h"
|
||||
#include "S1ap-TraceActivation.h"
|
||||
#include "S1ap-TraceDepth.h"
|
||||
#include "S1ap-E-UTRAN-Trace-ID.h"
|
||||
#include "S1ap-TypeOfError.h"
|
||||
#include "S1ap-UEAggregateMaximumBitrate.h"
|
||||
#include "S1ap-UE-associatedLogicalS1-ConnectionItem.h"
|
||||
#include "S1ap-UEIdentityIndexValue.h"
|
||||
#include "S1ap-UE-HistoryInformation.h"
|
||||
#include "S1ap-UEPagingID.h"
|
||||
#include "S1ap-UERadioCapability.h"
|
||||
#include "S1ap-UESecurityCapabilities.h"
|
||||
#include "S1ap-WarningAreaList.h"
|
||||
#include "S1ap-WarningType.h"
|
||||
#include "S1ap-WarningSecurityInfo.h"
|
||||
#include "S1ap-WarningMessageContents.h"
|
||||
#include "S1ap-X2TNLConfigurationInfo.h"
|
||||
#include "S1ap-CriticalityDiagnostics.h"
|
||||
#include "S1ap-CriticalityDiagnostics-IE-List.h"
|
||||
#include "S1ap-CriticalityDiagnostics-IE-Item.h"
|
||||
#include "S1ap-ResetType.h"
|
||||
#include "S1ap-Inter-SystemInformationTransferType.h"
|
||||
#include "S1ap-UE-S1AP-IDs.h"
|
||||
#include "S1ap-UE-S1AP-ID-pair.h"
|
||||
#include "S1ap-MME-UE-S1AP-ID.h"
|
||||
#include "S1ap-ENB-UE-S1AP-ID.h"
|
||||
#include "S1ap-TBCD-STRING.h"
|
||||
#include "S1ap-InitiatingMessage.h"
|
||||
#include "S1ap-SuccessfulOutcome.h"
|
||||
#include "S1ap-UnsuccessfulOutcome.h"
|
||||
#include "S1ap-HandoverRequired.h"
|
||||
#include "S1ap-HandoverCommand.h"
|
||||
#include "S1ap-HandoverNotify.h"
|
||||
#include "S1ap-HandoverPreparationFailure.h"
|
||||
#include "S1ap-HandoverRequest.h"
|
||||
#include "S1ap-HandoverRequestAcknowledge.h"
|
||||
#include "S1ap-HandoverFailure.h"
|
||||
#include "S1ap-PathSwitchRequest.h"
|
||||
#include "S1ap-PathSwitchRequestAcknowledge.h"
|
||||
#include "S1ap-PathSwitchRequestFailure.h"
|
||||
#include "S1ap-E-RABSetupRequest.h"
|
||||
#include "S1ap-E-RABSetupResponse.h"
|
||||
#include "S1ap-E-RABModifyRequest.h"
|
||||
#include "S1ap-E-RABModifyResponse.h"
|
||||
#include "S1ap-E-RABReleaseIndication.h"
|
||||
#include "S1ap-E-RABReleaseCommand.h"
|
||||
#include "S1ap-E-RABReleaseResponse.h"
|
||||
#include "S1ap-InitialContextSetupRequest.h"
|
||||
#include "S1ap-InitialContextSetupResponse.h"
|
||||
#include "S1ap-InitialContextSetupFailure.h"
|
||||
#include "S1ap-UEContextReleaseRequest.h"
|
||||
#include "S1ap-Paging.h"
|
||||
#include "S1ap-DownlinkNASTransport.h"
|
||||
#include "S1ap-InitialUEMessage.h"
|
||||
#include "S1ap-UplinkNASTransport.h"
|
||||
#include "S1ap-NASNonDeliveryIndication.h"
|
||||
#include "S1ap-HandoverCancel.h"
|
||||
#include "S1ap-HandoverCancelAcknowledge.h"
|
||||
#include "S1ap-Reset.h"
|
||||
#include "S1ap-ResetAcknowledge.h"
|
||||
#include "S1ap-S1SetupResponse.h"
|
||||
#include "S1ap-S1SetupRequest.h"
|
||||
#include "S1ap-S1SetupFailure.h"
|
||||
#include "S1ap-ErrorIndication.h"
|
||||
#include "S1ap-ENBConfigurationUpdate.h"
|
||||
#include "S1ap-ENBConfigurationUpdateAcknowledge.h"
|
||||
#include "S1ap-ENBConfigurationUpdateFailure.h"
|
||||
#include "S1ap-MMEConfigurationUpdate.h"
|
||||
#include "S1ap-MMEConfigurationUpdateAcknowledge.h"
|
||||
#include "S1ap-MMEConfigurationUpdateFailure.h"
|
||||
#include "S1ap-DownlinkS1cdma2000tunneling.h"
|
||||
#include "S1ap-UplinkS1cdma2000tunneling.h"
|
||||
#include "S1ap-UEContextModificationRequest.h"
|
||||
#include "S1ap-UEContextModificationResponse.h"
|
||||
#include "S1ap-UEContextModificationFailure.h"
|
||||
#include "S1ap-UECapabilityInfoIndication.h"
|
||||
#include "S1ap-UEContextReleaseCommand.h"
|
||||
#include "S1ap-UEContextReleaseComplete.h"
|
||||
#include "S1ap-ENBStatusTransfer.h"
|
||||
#include "S1ap-MMEStatusTransfer.h"
|
||||
#include "S1ap-DeactivateTrace.h"
|
||||
#include "S1ap-TraceStart.h"
|
||||
#include "S1ap-TraceFailureIndication.h"
|
||||
#include "S1ap-CellTrafficTrace.h"
|
||||
#include "S1ap-LocationReportingControl.h"
|
||||
#include "S1ap-LocationReportingFailureIndication.h"
|
||||
#include "S1ap-LocationReport.h"
|
||||
#include "S1ap-OverloadStart.h"
|
||||
#include "S1ap-OverloadStop.h"
|
||||
#include "S1ap-WriteReplaceWarningRequest.h"
|
||||
#include "S1ap-WriteReplaceWarningResponse.h"
|
||||
#include "S1ap-ENBDirectInformationTransfer.h"
|
||||
#include "S1ap-MMEDirectInformationTransfer.h"
|
||||
#include "S1ap-ENBConfigurationTransfer.h"
|
||||
#include "S1ap-MMEConfigurationTransfer.h"
|
||||
#include "S1ap-PrivateMessage.h"
|
||||
#include "S1ap-E-RABReleaseItemBearerRelComp.h"
|
||||
#include "S1ap-E-RABToBeSwitchedDLList.h"
|
||||
#include "S1ap-E-RABToBeSwitchedDLItem.h"
|
||||
#include "S1ap-E-RABToBeSwitchedULList.h"
|
||||
#include "S1ap-E-RABToBeSwitchedULItem.h"
|
||||
#include "S1ap-E-RABToBeSetupListBearerSUReq.h"
|
||||
#include "S1ap-E-RABToBeSetupItemBearerSUReq.h"
|
||||
#include "S1ap-E-RABDataForwardingList.h"
|
||||
#include "S1ap-E-RABDataForwardingItem.h"
|
||||
#include "S1ap-E-RABToBeSetupListHOReq.h"
|
||||
#include "S1ap-E-RABToBeSetupItemHOReq.h"
|
||||
#include "S1ap-E-RABAdmittedList.h"
|
||||
#include "S1ap-E-RABAdmittedItem.h"
|
||||
#include "S1ap-E-RABFailedToSetupListHOReqAck.h"
|
||||
#include "S1ap-E-RABToBeSetupItemCtxtSUReq.h"
|
||||
#include "S1ap-E-RABToBeSetupListCtxtSUReq.h"
|
||||
#include "S1ap-E-RABSetupItemBearerSURes.h"
|
||||
#include "S1ap-E-RABSetupListBearerSURes.h"
|
||||
#include "S1ap-E-RABSetupItemCtxtSURes.h"
|
||||
#include "S1ap-E-RABSetupListCtxtSURes.h"
|
||||
#include "S1ap-E-RABReleaseListBearerRelComp.h"
|
||||
#include "S1ap-E-RABModifyItemBearerModRes.h"
|
||||
#include "S1ap-E-RABModifyListBearerModRes.h"
|
||||
#include "S1ap-E-RABFailedToSetupItemHOReqAck.h"
|
||||
#include "S1ap-E-RABFailedToSetupListHOReqAck.h"
|
||||
#include "S1ap-E-RABToBeModifiedItemBearerModReq.h"
|
||||
#include "S1ap-E-RABToBeModifiedListBearerModReq.h"
|
||||
#include "S1ap-UE-associatedLogicalS1-ConnectionListResAck.h"
|
||||
#include "S1ap-IE.h"
|
||||
#include "S1AP-PDU.h"
|
||||
|
||||
#if (S1AP_VERSION >= MAKE_VERSION(9, 0, 0))
|
||||
# include "S1ap-BroadcastCancelledAreaList.h"
|
||||
# include "S1ap-CancelledCellinEAI.h"
|
||||
# include "S1ap-CancelledCellinEAI-Item.h"
|
||||
# include "S1ap-CancelledCellinTAI.h"
|
||||
# include "S1ap-CancelledCellinTAI-Item.h"
|
||||
# include "S1ap-CellAccessMode.h"
|
||||
# include "S1ap-CellID-Cancelled.h"
|
||||
# include "S1ap-CellID-Cancelled-Item.h"
|
||||
# include "S1ap-ConcurrentWarningMessageIndicator.h"
|
||||
# include "S1ap-CSGMembershipStatus.h"
|
||||
# include "S1ap-Data-Forwarding-Not-Possible.h"
|
||||
# include "S1ap-EmergencyAreaID-Cancelled.h"
|
||||
# include "S1ap-EmergencyAreaID-Cancelled-Item.h"
|
||||
# include "S1ap-E-RABList.h"
|
||||
# include "S1ap-EUTRANRoundTripDelayEstimationInfo.h"
|
||||
# include "S1ap-ExtendedRepetitionPeriod.h"
|
||||
# include "S1ap-LPPa-PDU.h"
|
||||
# include "S1ap-PS-ServiceNotAvailable.h"
|
||||
# include "S1ap-Routing-ID.h"
|
||||
# include "S1ap-StratumLevel.h"
|
||||
# include "S1ap-SynchronizationStatus.h"
|
||||
# include "S1ap-TimeSynchronizationInfo.h"
|
||||
# include "S1ap-TAI-Cancelled.h"
|
||||
# include "S1ap-TAI-Cancelled-Item.h"
|
||||
# include "S1ap-KillRequest.h"
|
||||
# include "S1ap-KillResponse.h"
|
||||
# include "S1ap-DownlinkUEAssociatedLPPaTransport.h"
|
||||
# include "S1ap-UplinkUEAssociatedLPPaTransport.h"
|
||||
# include "S1ap-DownlinkNonUEAssociatedLPPaTransport.h"
|
||||
# include "S1ap-UplinkNonUEAssociatedLPPaTransport.h"
|
||||
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(9, 0, 0)) */
|
||||
|
||||
#if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0))
|
||||
# include "S1ap-PagingPriority.h"
|
||||
# include "S1ap-RelayNode-Indicator.h"
|
||||
# include "S1ap-GWContextReleaseIndication.h"
|
||||
# include "S1ap-MMERelaySupportIndicator.h"
|
||||
# include "S1ap-ManagementBasedMDTAllowed.h"
|
||||
# include "S1ap-PrivacyIndicator.h"
|
||||
# include "S1ap-TrafficLoadReductionIndication.h"
|
||||
# include "S1ap-GUMMEIList.h"
|
||||
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0)) */
|
||||
#include "S1AP_ProtocolIE-Field.h"
|
||||
#include "S1AP_S1AP-PDU.h"
|
||||
#include "S1AP_InitiatingMessage.h"
|
||||
#include "S1AP_SuccessfulOutcome.h"
|
||||
#include "S1AP_UnsuccessfulOutcome.h"
|
||||
#include "S1AP_ProtocolIE-Field.h"
|
||||
#include "S1AP_ProtocolIE-FieldPair.h"
|
||||
#include "S1AP_ProtocolIE-ContainerPair.h"
|
||||
#include "S1AP_ProtocolExtensionField.h"
|
||||
#include "S1AP_ProtocolExtensionContainer.h"
|
||||
#include "S1AP_asn_constant.h"
|
||||
#include "S1AP_SupportedTAs-Item.h"
|
||||
#include "S1AP_ServedGUMMEIsItem.h"
|
||||
|
||||
/* Checking version of ASN1C compiler */
|
||||
#if (ASN1C_ENVIRONMENT_VERSION < ASN1C_MINIMUM_VERSION)
|
||||
@@ -411,84 +87,33 @@ extern int asn1_xer_print;
|
||||
# define S1AP_DEBUG(x, args...) do { fprintf(stdout, "[S1AP][D]"x, ##args); } while(0)
|
||||
#endif
|
||||
|
||||
//Forward declaration
|
||||
struct s1ap_message_s;
|
||||
#define S1AP_FIND_PROTOCOLIE_BY_ID(IE_TYPE, ie, container, IE_ID, mandatory) \
|
||||
do {\
|
||||
IE_TYPE **ptr; \
|
||||
ie = NULL; \
|
||||
for (ptr = container->protocolIEs.list.array; \
|
||||
ptr < &container->protocolIEs.list.array[container->protocolIEs.list.count]; \
|
||||
ptr++) { \
|
||||
if((*ptr)->id == IE_ID) { \
|
||||
ie = *ptr; \
|
||||
break; \
|
||||
} \
|
||||
} \
|
||||
if (mandatory) DevAssert(ie != NULL); \
|
||||
} while(0)
|
||||
|
||||
/** \brief Function callback prototype.
|
||||
**/
|
||||
typedef int (*s1ap_message_decoded_callback)(
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu
|
||||
);
|
||||
|
||||
/** \brief Encode a successfull outcome message
|
||||
\param buffer pointer to buffer in which data will be encoded
|
||||
\param length pointer to the length of buffer
|
||||
\param procedureCode Procedure code for the message
|
||||
\param criticality Criticality of the message
|
||||
\param td ASN1C type descriptor of the sptr
|
||||
\param sptr Deferenced pointer to the structure to encode
|
||||
@returns size in bytes encded on success or 0 on failure
|
||||
**/
|
||||
ssize_t s1ap_generate_successfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
e_S1ap_ProcedureCode procedureCode,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr);
|
||||
|
||||
/** \brief Encode an initiating message
|
||||
\param buffer pointer to buffer in which data will be encoded
|
||||
\param length pointer to the length of buffer
|
||||
\param procedureCode Procedure code for the message
|
||||
\param criticality Criticality of the message
|
||||
\param td ASN1C type descriptor of the sptr
|
||||
\param sptr Deferenced pointer to the structure to encode
|
||||
@returns size in bytes encded on success or 0 on failure
|
||||
**/
|
||||
ssize_t s1ap_generate_initiating_message(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
e_S1ap_ProcedureCode procedureCode,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr);
|
||||
|
||||
/** \brief Encode an unsuccessfull outcome message
|
||||
\param buffer pointer to buffer in which data will be encoded
|
||||
\param length pointer to the length of buffer
|
||||
\param procedureCode Procedure code for the message
|
||||
\param criticality Criticality of the message
|
||||
\param td ASN1C type descriptor of the sptr
|
||||
\param sptr Deferenced pointer to the structure to encode
|
||||
@returns size in bytes encded on success or 0 on failure
|
||||
**/
|
||||
ssize_t s1ap_generate_unsuccessfull_outcome(
|
||||
uint8_t **buffer,
|
||||
uint32_t *length,
|
||||
e_S1ap_ProcedureCode procedureCode,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *td,
|
||||
void *sptr);
|
||||
|
||||
/** \brief Generate a new IE
|
||||
\param id Protocol ie id of the IE
|
||||
\param criticality Criticality of the IE
|
||||
\param type ASN1 type descriptor of the IE value
|
||||
\param sptr Structure to be encoded in the value field
|
||||
@returns a pointer to the newly created IE structure or NULL in case of failure
|
||||
**/
|
||||
S1ap_IE_t *s1ap_new_ie(S1ap_ProtocolIE_ID_t id,
|
||||
S1ap_Criticality_t criticality,
|
||||
asn_TYPE_descriptor_t *type,
|
||||
void *sptr);
|
||||
|
||||
/** \brief Handle criticality
|
||||
\param criticality Criticality of the IE
|
||||
@returns void
|
||||
**/
|
||||
void s1ap_handle_criticality(S1ap_Criticality_t criticality);
|
||||
void s1ap_handle_criticality(S1AP_Criticality_t criticality);
|
||||
|
||||
#endif /* S1AP_COMMON_H_ */
|
||||
|
||||
+118
-65
@@ -20,8 +20,8 @@
|
||||
*/
|
||||
|
||||
/*! \file s1ap_eNB.c
|
||||
* \brief S1AP eNB task
|
||||
* \author S. Roux and Navid Nikaein
|
||||
* \brief S1AP eNB task
|
||||
* \author S. Roux and Navid Nikaein
|
||||
* \date 2010 - 2015
|
||||
* \email: navid.nikaein@eurecom.fr
|
||||
* \version 1.0
|
||||
@@ -42,7 +42,6 @@
|
||||
#include "s1ap_eNB_default_values.h"
|
||||
|
||||
#include "s1ap_common.h"
|
||||
#include "s1ap_ies_defs.h"
|
||||
|
||||
#include "s1ap_eNB_defs.h"
|
||||
#include "s1ap_eNB.h"
|
||||
@@ -104,7 +103,7 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
|
||||
sctp_new_association_req_t *sctp_new_association_req_p = NULL;
|
||||
s1ap_eNB_mme_data_t *s1ap_mme_data_p = NULL;
|
||||
struct s1ap_eNB_mme_data_s *mme = NULL;
|
||||
|
||||
|
||||
DevAssert(instance_p != NULL);
|
||||
DevAssert(mme_ip_address != NULL);
|
||||
|
||||
@@ -125,25 +124,25 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
|
||||
memcpy(&sctp_new_association_req_p->local_address,
|
||||
local_ip_addr,
|
||||
sizeof(*local_ip_addr));
|
||||
|
||||
|
||||
S1AP_INFO("[eNB %d] check the mme registration state\n",instance_p->instance);
|
||||
|
||||
|
||||
mme = s1ap_eNB_get_MME_from_instance(instance_p);
|
||||
|
||||
if ( mme == NULL ) {
|
||||
|
||||
|
||||
/* Create new MME descriptor */
|
||||
s1ap_mme_data_p = calloc(1, sizeof(*s1ap_mme_data_p));
|
||||
DevAssert(s1ap_mme_data_p != NULL);
|
||||
|
||||
|
||||
s1ap_mme_data_p->cnx_id = s1ap_eNB_fetch_add_global_cnx_id();
|
||||
sctp_new_association_req_p->ulp_cnx_id = s1ap_mme_data_p->cnx_id;
|
||||
|
||||
|
||||
s1ap_mme_data_p->assoc_id = -1;
|
||||
s1ap_mme_data_p->s1ap_eNB_instance = instance_p;
|
||||
|
||||
|
||||
STAILQ_INIT(&s1ap_mme_data_p->served_gummei);
|
||||
|
||||
|
||||
/* Insert the new descriptor in list of known MME
|
||||
* but not yet associated.
|
||||
*/
|
||||
@@ -156,25 +155,23 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
|
||||
sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id;
|
||||
|
||||
S1AP_INFO("[eNB %d] MME already registered, retrive the data (state %d, cnx %d, mme_nb %d, mme_pending_nb %d)\n",
|
||||
instance_p->instance,
|
||||
mme->state, mme->cnx_id,
|
||||
instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
|
||||
instance_p->instance,
|
||||
mme->state, mme->cnx_id,
|
||||
instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
|
||||
|
||||
/*s1ap_mme_data_p->cnx_id = mme->cnx_id;
|
||||
sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id;
|
||||
|
||||
|
||||
s1ap_mme_data_p->assoc_id = -1;
|
||||
s1ap_mme_data_p->s1ap_eNB_instance = instance_p;
|
||||
*/
|
||||
*/
|
||||
} else {
|
||||
|
||||
S1AP_WARN("[eNB %d] MME already registered but not in the waiting state, retrive the data (state %d, cnx %d, mme_nb %d, mme_pending_nb %d)\n",
|
||||
instance_p->instance,
|
||||
mme->state, mme->cnx_id,
|
||||
instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
|
||||
|
||||
instance_p->instance,
|
||||
mme->state, mme->cnx_id,
|
||||
instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
|
||||
}
|
||||
|
||||
|
||||
itti_send_msg_to_task(TASK_SCTP, instance_p->instance, message_p);
|
||||
}
|
||||
|
||||
@@ -188,9 +185,8 @@ void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *
|
||||
|
||||
/* Look if the provided instance already exists */
|
||||
new_instance = s1ap_eNB_get_instance(instance);
|
||||
|
||||
|
||||
if (new_instance != NULL) {
|
||||
|
||||
if (new_instance != NULL) {
|
||||
/* Checks if it is a retry on the same eNB */
|
||||
DevCheck(new_instance->eNB_id == s1ap_register_eNB->eNB_id, new_instance->eNB_id, s1ap_register_eNB->eNB_id, 0);
|
||||
DevCheck(new_instance->cell_type == s1ap_register_eNB->cell_type, new_instance->cell_type, s1ap_register_eNB->cell_type, 0);
|
||||
@@ -221,9 +217,9 @@ void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *
|
||||
s1ap_eNB_insert_new_instance(new_instance);
|
||||
|
||||
S1AP_INFO("Registered new eNB[%d] and %s eNB id %u\n",
|
||||
instance,
|
||||
s1ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
|
||||
s1ap_register_eNB->eNB_id);
|
||||
instance,
|
||||
s1ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
|
||||
s1ap_register_eNB->eNB_id);
|
||||
}
|
||||
|
||||
DevCheck(s1ap_register_eNB->nb_mme <= S1AP_MAX_NB_MME_IP_ADDRESS,
|
||||
@@ -232,7 +228,7 @@ void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *
|
||||
/* Trying to connect to provided list of MME ip address */
|
||||
for (index = 0; index < s1ap_register_eNB->nb_mme; index++) {
|
||||
s1ap_eNB_register_mme(new_instance,
|
||||
&s1ap_register_eNB->mme_ip_address[index],
|
||||
&s1ap_register_eNB->mme_ip_address[index],
|
||||
&s1ap_register_eNB->enb_ip_address,
|
||||
s1ap_register_eNB->sctp_in_streams,
|
||||
s1ap_register_eNB->sctp_out_streams);
|
||||
@@ -425,12 +421,11 @@ void *s1ap_eNB_task(void *arg)
|
||||
static int s1ap_eNB_generate_s1_setup_request(
|
||||
s1ap_eNB_instance_t *instance_p, s1ap_eNB_mme_data_t *s1ap_mme_data_p)
|
||||
{
|
||||
s1ap_message message;
|
||||
|
||||
S1ap_S1SetupRequestIEs_t *s1SetupRequest_p;
|
||||
S1ap_PLMNidentity_t plmnIdentity;
|
||||
S1ap_SupportedTAs_Item_t ta;
|
||||
|
||||
S1AP_S1AP_PDU_t pdu;
|
||||
S1AP_S1SetupRequest_t *out;
|
||||
S1AP_S1SetupRequestIEs_t *ie;
|
||||
S1AP_SupportedTAs_Item_t *ta;
|
||||
S1AP_PLMNidentity_t *plmn;
|
||||
uint8_t *buffer;
|
||||
uint32_t len;
|
||||
int ret = 0;
|
||||
@@ -438,43 +433,101 @@ static int s1ap_eNB_generate_s1_setup_request(
|
||||
DevAssert(instance_p != NULL);
|
||||
DevAssert(s1ap_mme_data_p != NULL);
|
||||
|
||||
memset(&message, 0, sizeof(s1ap_message));
|
||||
|
||||
message.direction = S1AP_PDU_PR_initiatingMessage;
|
||||
message.procedureCode = S1ap_ProcedureCode_id_S1Setup;
|
||||
message.criticality = S1ap_Criticality_reject;
|
||||
|
||||
s1SetupRequest_p = &message.msg.s1ap_S1SetupRequestIEs;
|
||||
memset((void *)&plmnIdentity, 0, sizeof(S1ap_PLMNidentity_t));
|
||||
|
||||
memset((void *)&ta, 0, sizeof(S1ap_SupportedTAs_Item_t));
|
||||
|
||||
s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING;
|
||||
|
||||
s1SetupRequest_p->global_ENB_ID.eNB_ID.present = S1ap_ENB_ID_PR_macroENB_ID;
|
||||
MACRO_ENB_ID_TO_BIT_STRING(instance_p->eNB_id,
|
||||
&s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID);
|
||||
/* Prepare the S1AP message to encode */
|
||||
memset(&pdu, 0, sizeof(pdu));
|
||||
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
|
||||
pdu.choice.initiatingMessage.procedureCode = S1AP_ProcedureCode_id_S1Setup;
|
||||
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_reject;
|
||||
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_S1SetupRequest;
|
||||
out = &pdu.choice.initiatingMessage.value.choice.S1SetupRequest;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_Global_ENB_ID;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_Global_ENB_ID;
|
||||
MCC_MNC_TO_PLMNID(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length,
|
||||
&s1SetupRequest_p->global_ENB_ID.pLMNidentity);
|
||||
&ie->value.choice.Global_ENB_ID.pLMNidentity);
|
||||
ie->value.choice.Global_ENB_ID.eNB_ID.present = S1AP_ENB_ID_PR_macroENB_ID;
|
||||
MACRO_ENB_ID_TO_BIT_STRING(instance_p->eNB_id,
|
||||
&ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID);
|
||||
S1AP_INFO("%d -> %02x%02x%02x\n", instance_p->eNB_id,
|
||||
ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[0],
|
||||
ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[1],
|
||||
ie->value.choice.Global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[2]);
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
S1AP_INFO("%d -> %02x%02x%02x\n", instance_p->eNB_id, s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[0], s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[1],
|
||||
s1SetupRequest_p->global_ENB_ID.eNB_ID.choice.macroENB_ID.buf[2]);
|
||||
|
||||
INT16_TO_OCTET_STRING(instance_p->tac, &ta.tAC);
|
||||
MCC_MNC_TO_TBCD(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, &plmnIdentity);
|
||||
|
||||
ASN_SEQUENCE_ADD(&ta.broadcastPLMNs.list, &plmnIdentity);
|
||||
ASN_SEQUENCE_ADD(&s1SetupRequest_p->supportedTAs.list, &ta);
|
||||
|
||||
s1SetupRequest_p->defaultPagingDRX = instance_p->default_drx;
|
||||
|
||||
if (instance_p->eNB_name != NULL) {
|
||||
s1SetupRequest_p->presenceMask |= S1AP_S1SETUPREQUESTIES_ENBNAME_PRESENT;
|
||||
OCTET_STRING_fromBuf(&s1SetupRequest_p->eNBname, instance_p->eNB_name,
|
||||
/* optional */
|
||||
if (instance_p->eNB_name) {
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNBname;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_ENBname;
|
||||
OCTET_STRING_fromBuf(&ie->value.choice.ENBname, instance_p->eNB_name,
|
||||
strlen(instance_p->eNB_name));
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&message, &buffer, &len) < 0) {
|
||||
/* mandatory */
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_SupportedTAs;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_SupportedTAs;
|
||||
{
|
||||
ta = (S1AP_SupportedTAs_Item_t *)calloc(1, sizeof(S1AP_SupportedTAs_Item_t));
|
||||
INT16_TO_OCTET_STRING(instance_p->tac, &ta->tAC);
|
||||
{
|
||||
plmn = (S1AP_PLMNidentity_t *)calloc(1, sizeof(S1AP_PLMNidentity_t));
|
||||
MCC_MNC_TO_TBCD(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn);
|
||||
ASN_SEQUENCE_ADD(&ta->broadcastPLMNs.list, plmn);
|
||||
}
|
||||
ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAs.list, ta);
|
||||
}
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_PagingDRX;
|
||||
ie->value.choice.PagingDRX = instance_p->default_drx;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
/* optional */
|
||||
if (0) {
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_CSG_IdList;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_CSG_IdList;
|
||||
// ie->value.choice.CSG_IdList = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
|
||||
/* optional */
|
||||
#if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0))
|
||||
if (0) {
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_UE_RetentionInformation;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_UE_RetentionInformation;
|
||||
// ie->value.choice.UE_RetentionInformation = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
|
||||
/* optional */
|
||||
if (0) {
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_NB_IoT_DefaultPagingDRX;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_NB_IoT_DefaultPagingDRX;
|
||||
// ie->value.choice.NB_IoT_DefaultPagingDRX = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0)) */
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &len) < 0) {
|
||||
S1AP_ERROR("Failed to encode S1 setup request\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
*/
|
||||
|
||||
/*! \file s1ap_eNB_context_management_procedures.c
|
||||
* \brief S1AP context management procedures
|
||||
* \author S. Roux and Navid Nikaein
|
||||
* \brief S1AP context management procedures
|
||||
* \author S. Roux and Navid Nikaein
|
||||
* \date 2010 - 2015
|
||||
* \email: navid.nikaein@eurecom.fr
|
||||
* \version 1.0
|
||||
@@ -41,7 +41,6 @@
|
||||
|
||||
#include "s1ap_eNB_itti_messaging.h"
|
||||
|
||||
#include "s1ap_ies_defs.h"
|
||||
#include "s1ap_eNB_encoder.h"
|
||||
#include "s1ap_eNB_nnsf.h"
|
||||
#include "s1ap_eNB_ue_context.h"
|
||||
@@ -54,16 +53,13 @@
|
||||
int s1ap_ue_context_release_complete(instance_t instance,
|
||||
s1ap_ue_release_complete_t *ue_release_complete_p)
|
||||
{
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance_p = NULL;
|
||||
struct s1ap_eNB_ue_context_s *ue_context_p = NULL;
|
||||
|
||||
S1ap_UEContextReleaseCompleteIEs_t *ue_ctxt_release_complete_ies_p = NULL;
|
||||
|
||||
s1ap_message message;
|
||||
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance_p = NULL;
|
||||
struct s1ap_eNB_ue_context_s *ue_context_p = NULL;
|
||||
S1AP_S1AP_PDU_t pdu;
|
||||
S1AP_UEContextReleaseComplete_t *out;
|
||||
S1AP_UEContextReleaseComplete_IEs_t *ie;
|
||||
uint8_t *buffer;
|
||||
uint32_t length;
|
||||
int ret = -1;
|
||||
|
||||
/* Retrieve the S1AP eNB instance associated with Mod_id */
|
||||
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
|
||||
@@ -72,9 +68,9 @@ int s1ap_ue_context_release_complete(instance_t instance,
|
||||
DevAssert(s1ap_eNB_instance_p != NULL);
|
||||
|
||||
/*RB_FOREACH(ue_context_p, s1ap_ue_map, &s1ap_eNB_instance_p->s1ap_ue_head) {
|
||||
S1AP_WARN("in s1ap_ue_map: UE context eNB_ue_s1ap_id %u mme_ue_s1ap_id %u state %u\n",
|
||||
ue_context_p->eNB_ue_s1ap_id, ue_context_p->mme_ue_s1ap_id,
|
||||
ue_context_p->ue_state);
|
||||
S1AP_WARN("in s1ap_ue_map: UE context eNB_ue_s1ap_id %u mme_ue_s1ap_id %u state %u\n",
|
||||
ue_context_p->eNB_ue_s1ap_id, ue_context_p->mme_ue_s1ap_id,
|
||||
ue_context_p->ue_state);
|
||||
}*/
|
||||
if ((ue_context_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p,
|
||||
ue_release_complete_p->eNB_ue_s1ap_id)) == NULL) {
|
||||
@@ -85,20 +81,71 @@ int s1ap_ue_context_release_complete(instance_t instance,
|
||||
}
|
||||
|
||||
/* Prepare the S1AP message to encode */
|
||||
memset(&message, 0, sizeof(s1ap_message));
|
||||
memset(&pdu, 0, sizeof(pdu));
|
||||
pdu.present = S1AP_S1AP_PDU_PR_successfulOutcome;
|
||||
pdu.choice.successfulOutcome.procedureCode = S1AP_ProcedureCode_id_UEContextRelease;
|
||||
pdu.choice.successfulOutcome.criticality = S1AP_Criticality_reject;
|
||||
pdu.choice.successfulOutcome.value.present = S1AP_SuccessfulOutcome__value_PR_UEContextReleaseComplete;
|
||||
out = &pdu.choice.successfulOutcome.value.choice.UEContextReleaseComplete;
|
||||
|
||||
message.direction = S1AP_PDU_PR_successfulOutcome;
|
||||
message.procedureCode = S1ap_ProcedureCode_id_UEContextRelease;
|
||||
//message.criticality = S1ap_Criticality_reject;
|
||||
/* mandatory */
|
||||
ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_MME_UE_S1AP_ID;
|
||||
ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
ue_ctxt_release_complete_ies_p = &message.msg.s1ap_UEContextReleaseCompleteIEs;
|
||||
/* mandatory */
|
||||
ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_ENB_UE_S1AP_ID;
|
||||
ie->value.choice.ENB_UE_S1AP_ID = ue_release_complete_p->eNB_ue_s1ap_id;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
ue_ctxt_release_complete_ies_p->eNB_UE_S1AP_ID = ue_release_complete_p->eNB_ue_s1ap_id;
|
||||
ue_ctxt_release_complete_ies_p->mme_ue_s1ap_id = ue_context_p->mme_ue_s1ap_id;
|
||||
//ue_ctxt_release_complete_ies_p->criticalityDiagnostics
|
||||
//ue_ctxt_release_complete_ies_p->presenceMask
|
||||
/* optional */
|
||||
if (0) {
|
||||
ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_CriticalityDiagnostics;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_CriticalityDiagnostics;
|
||||
// ie->value.choice.CriticalityDiagnostics = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&message, &buffer, &length) < 0) {
|
||||
/* release 12, optional */
|
||||
#if (S1AP_VERSION >= MAKE_VERSION(12, 0, 0))
|
||||
if (0) {
|
||||
ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_UserLocationInformation;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_UserLocationInformation;
|
||||
// ie->value.choice.UserLocationInformation = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
|
||||
/* release 13, optional */
|
||||
#if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0))
|
||||
if (0) {
|
||||
ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_InformationOnRecommendedCellsAndENBsForPaging;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_InformationOnRecommendedCellsAndENBsForPaging;
|
||||
// ie->value.choice.InformationOnRecommendedCellsAndENBsForPaging = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_CellIdentifierAndCELevelForCECapableUEs;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_CellIdentifierAndCELevelForCECapableUEs;
|
||||
// ie->value.choice.CellIdentifierAndCELevelForCECapableUEs = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0)) */
|
||||
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(12, 0, 0)) */
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
|
||||
/* Encode procedure has failed... */
|
||||
S1AP_ERROR("Failed to encode UE context release complete\n");
|
||||
return -1;
|
||||
@@ -111,20 +158,16 @@ int s1ap_ue_context_release_complete(instance_t instance,
|
||||
length,
|
||||
MSC_AS_TIME_FMT" UEContextRelease successfulOutcome eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
|
||||
0,0, //MSC_AS_TIME_ARGS(ctxt_pP),
|
||||
ue_ctxt_release_complete_ies_p->eNB_UE_S1AP_ID,
|
||||
ue_ctxt_release_complete_ies_p->mme_ue_s1ap_id);
|
||||
ue_release_complete_p->eNB_ue_s1ap_id,
|
||||
ue_context_p->mme_ue_s1ap_id);
|
||||
|
||||
/* UE associated signalling -> use the allocated stream */
|
||||
s1ap_eNB_itti_send_sctp_data_req(s1ap_eNB_instance_p->instance,
|
||||
ue_context_p->mme_ref->assoc_id, buffer,
|
||||
length, ue_context_p->tx_stream);
|
||||
|
||||
|
||||
//LG s1ap_eNB_itti_send_sctp_close_association(s1ap_eNB_instance_p->instance,
|
||||
// ue_context_p->mme_ref->assoc_id);
|
||||
|
||||
|
||||
|
||||
// ue_context_p->mme_ref->assoc_id);
|
||||
// release UE context
|
||||
struct s1ap_eNB_ue_context_s *ue_context2_p = NULL;
|
||||
|
||||
@@ -138,25 +181,25 @@ int s1ap_ue_context_release_complete(instance_t instance,
|
||||
ue_context_p->eNB_ue_s1ap_id);
|
||||
}
|
||||
/*RB_FOREACH(ue_context_p, s1ap_ue_map, &s1ap_eNB_instance_p->s1ap_ue_head) {
|
||||
S1AP_WARN("in s1ap_ue_map: UE context eNB_ue_s1ap_id %u mme_ue_s1ap_id %u state %u\n",
|
||||
ue_context_p->eNB_ue_s1ap_id, ue_context_p->mme_ue_s1ap_id,
|
||||
ue_context_p->ue_state);
|
||||
S1AP_WARN("in s1ap_ue_map: UE context eNB_ue_s1ap_id %u mme_ue_s1ap_id %u state %u\n",
|
||||
ue_context_p->eNB_ue_s1ap_id, ue_context_p->mme_ue_s1ap_id,
|
||||
ue_context_p->ue_state);
|
||||
}*/
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int s1ap_ue_context_release_req(instance_t instance,
|
||||
s1ap_ue_release_req_t *ue_release_req_p)
|
||||
{
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance_p = NULL;
|
||||
struct s1ap_eNB_ue_context_s *ue_context_p = NULL;
|
||||
S1ap_UEContextReleaseRequestIEs_t *ue_ctxt_release_request_ies_p = NULL;
|
||||
s1ap_message message;
|
||||
uint8_t *buffer = NULL;
|
||||
uint32_t length;
|
||||
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance_p = NULL;
|
||||
struct s1ap_eNB_ue_context_s *ue_context_p = NULL;
|
||||
S1AP_S1AP_PDU_t pdu;
|
||||
S1AP_UEContextReleaseRequest_t *out;
|
||||
S1AP_UEContextReleaseRequest_IEs_t *ie;
|
||||
uint8_t *buffer = NULL;
|
||||
uint32_t length;
|
||||
/* Retrieve the S1AP eNB instance associated with Mod_id */
|
||||
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
|
||||
|
||||
@@ -172,50 +215,82 @@ int s1ap_ue_context_release_req(instance_t instance,
|
||||
}
|
||||
|
||||
/* Prepare the S1AP message to encode */
|
||||
memset(&message, 0, sizeof(s1ap_message));
|
||||
memset(&pdu, 0, sizeof(pdu));
|
||||
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
|
||||
pdu.choice.initiatingMessage.procedureCode = S1AP_ProcedureCode_id_UEContextReleaseRequest;
|
||||
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_ignore;
|
||||
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_UEContextReleaseRequest;
|
||||
out = &pdu.choice.initiatingMessage.value.choice.UEContextReleaseRequest;
|
||||
|
||||
message.direction = S1AP_PDU_PR_initiatingMessage;
|
||||
message.procedureCode = S1ap_ProcedureCode_id_UEContextReleaseRequest;
|
||||
//message.criticality = S1ap_Criticality_reject;
|
||||
/* mandatory */
|
||||
ie = (S1AP_UEContextReleaseRequest_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_UEContextReleaseRequest_IEs__value_PR_MME_UE_S1AP_ID;
|
||||
ie->value.choice.MME_UE_S1AP_ID = ue_context_p->mme_ue_s1ap_id;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
ue_ctxt_release_request_ies_p = &message.msg.s1ap_UEContextReleaseRequestIEs;
|
||||
/* mandatory */
|
||||
ie = (S1AP_UEContextReleaseRequest_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_UEContextReleaseRequest_IEs__value_PR_ENB_UE_S1AP_ID;
|
||||
ie->value.choice.ENB_UE_S1AP_ID = ue_release_req_p->eNB_ue_s1ap_id;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
ue_ctxt_release_request_ies_p->eNB_UE_S1AP_ID = ue_release_req_p->eNB_ue_s1ap_id;
|
||||
ue_ctxt_release_request_ies_p->mme_ue_s1ap_id = ue_context_p->mme_ue_s1ap_id;
|
||||
/* mandatory */
|
||||
ie = (S1AP_UEContextReleaseRequest_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_Cause;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_UEContextReleaseRequest_IEs__value_PR_Cause;
|
||||
|
||||
switch (ue_release_req_p->cause) {
|
||||
case S1AP_CAUSE_NOTHING:
|
||||
ue_ctxt_release_request_ies_p->cause.present = S1ap_Cause_PR_NOTHING;
|
||||
break;
|
||||
case S1AP_Cause_PR_radioNetwork:
|
||||
ie->value.choice.Cause.present = S1AP_Cause_PR_radioNetwork;
|
||||
ie->value.choice.Cause.choice.radioNetwork = ue_release_req_p->cause_value;
|
||||
break;
|
||||
|
||||
case S1AP_CAUSE_RADIO_NETWORK:
|
||||
ue_ctxt_release_request_ies_p->cause.present = S1ap_Cause_PR_radioNetwork;
|
||||
ue_ctxt_release_request_ies_p->cause.choice.radioNetwork = ue_release_req_p->cause_value;
|
||||
break;
|
||||
case S1AP_Cause_PR_transport:
|
||||
ie->value.choice.Cause.present = S1AP_Cause_PR_transport;
|
||||
ie->value.choice.Cause.choice.transport = ue_release_req_p->cause_value;
|
||||
break;
|
||||
|
||||
case S1AP_CAUSE_TRANSPORT:
|
||||
ue_ctxt_release_request_ies_p->cause.present = S1ap_Cause_PR_transport;
|
||||
ue_ctxt_release_request_ies_p->cause.choice.transport = ue_release_req_p->cause_value;
|
||||
break;
|
||||
case S1AP_Cause_PR_nas:
|
||||
ie->value.choice.Cause.present = S1AP_Cause_PR_nas;
|
||||
ie->value.choice.Cause.choice.nas = ue_release_req_p->cause_value;
|
||||
break;
|
||||
|
||||
case S1AP_CAUSE_NAS:
|
||||
ue_ctxt_release_request_ies_p->cause.present = S1ap_Cause_PR_nas;
|
||||
ue_ctxt_release_request_ies_p->cause.choice.nas = ue_release_req_p->cause_value;
|
||||
break;
|
||||
case S1AP_Cause_PR_protocol:
|
||||
ie->value.choice.Cause.present = S1AP_Cause_PR_protocol;
|
||||
ie->value.choice.Cause.choice.protocol = ue_release_req_p->cause_value;
|
||||
break;
|
||||
|
||||
case S1AP_CAUSE_PROTOCOL:
|
||||
ue_ctxt_release_request_ies_p->cause.present = S1ap_Cause_PR_protocol;
|
||||
ue_ctxt_release_request_ies_p->cause.choice.protocol = ue_release_req_p->cause_value;
|
||||
break;
|
||||
case S1AP_Cause_PR_misc:
|
||||
ie->value.choice.Cause.present = S1AP_Cause_PR_misc;
|
||||
ie->value.choice.Cause.choice.misc = ue_release_req_p->cause_value;
|
||||
break;
|
||||
|
||||
case S1AP_CAUSE_MISC:
|
||||
default:
|
||||
ue_ctxt_release_request_ies_p->cause.present = S1ap_Cause_PR_misc;
|
||||
ue_ctxt_release_request_ies_p->cause.choice.misc = ue_release_req_p->cause_value;
|
||||
break;
|
||||
case S1AP_Cause_PR_NOTHING:
|
||||
default:
|
||||
ie->value.choice.Cause.present = S1AP_Cause_PR_NOTHING;
|
||||
break;
|
||||
}
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&message, &buffer, &length) < 0) {
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
/* optional */
|
||||
#if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0))
|
||||
if (0) {
|
||||
ie = (S1AP_UEContextReleaseRequest_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseRequest_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_GWContextReleaseIndication;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_UEContextReleaseRequest_IEs__value_PR_GWContextReleaseIndication;
|
||||
ie->value.choice.GWContextReleaseIndication = TRUE;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0)) */
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
|
||||
/* Encode procedure has failed... */
|
||||
S1AP_ERROR("Failed to encode UE context release complete\n");
|
||||
return -1;
|
||||
@@ -228,8 +303,8 @@ int s1ap_ue_context_release_req(instance_t instance,
|
||||
length,
|
||||
MSC_AS_TIME_FMT" UEContextReleaseRequest initiatingMessage eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
|
||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
||||
ue_ctxt_release_request_ies_p->eNB_UE_S1AP_ID,
|
||||
ue_ctxt_release_request_ies_p->mme_ue_s1ap_id);
|
||||
ue_release_req_p->eNB_ue_s1ap_id,
|
||||
ue_context_p->mme_ue_s1ap_id);
|
||||
|
||||
/* UE associated signalling -> use the allocated stream */
|
||||
s1ap_eNB_itti_send_sctp_data_req(s1ap_eNB_instance_p->instance,
|
||||
|
||||
+148
-219
@@ -34,251 +34,185 @@
|
||||
#include "intertask_interface.h"
|
||||
|
||||
#include "s1ap_common.h"
|
||||
#include "s1ap_ies_defs.h"
|
||||
#include "s1ap_eNB_decoder.h"
|
||||
|
||||
static int s1ap_eNB_decode_initiating_message(s1ap_message *message,
|
||||
S1ap_InitiatingMessage_t *initiating_p)
|
||||
static int s1ap_eNB_decode_initiating_message(S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int ret = -1;
|
||||
MessageDef *message_p;
|
||||
char *message_string = NULL;
|
||||
size_t message_string_size;
|
||||
MessagesIds message_id;
|
||||
asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
DevAssert(initiating_p != NULL);
|
||||
switch(pdu->choice.initiatingMessage.procedureCode) {
|
||||
case S1AP_ProcedureCode_id_downlinkNASTransport:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_DOWNLINK_NAS_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_downlink_nas_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_downlink_nas_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
message_string = calloc(10000, sizeof(char));
|
||||
case S1AP_ProcedureCode_id_InitialContextSetup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_initial_context_setup_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
s1ap_string_total_size = 0;
|
||||
case S1AP_ProcedureCode_id_UEContextRelease:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_UE_CONTEXT_RELEASE_COMMAND_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_ue_context_release_command_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_ue_context_release_command_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
message->procedureCode = initiating_p->procedureCode;
|
||||
message->criticality = initiating_p->criticality;
|
||||
case S1AP_ProcedureCode_id_Paging:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_PAGING_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_paging_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_paging_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
S1AP_INFO("Paging initiating message\n");
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
switch(initiating_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_downlinkNASTransport:
|
||||
ret = s1ap_decode_s1ap_downlinknastransporties(
|
||||
&message->msg.s1ap_DownlinkNASTransportIEs,
|
||||
&initiating_p->value);
|
||||
s1ap_xer_print_s1ap_downlinknastransport(s1ap_xer__print2sp,
|
||||
message_string,
|
||||
message);
|
||||
message_id = S1AP_DOWNLINK_NAS_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_downlink_nas_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_downlink_nas_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
break;
|
||||
case S1AP_ProcedureCode_id_E_RABSetup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_E_RAB_SETUP_REQUEST_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_setup_request_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_setup_request_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
S1AP_INFO("E_RABSetup initiating message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||
ret = s1ap_decode_s1ap_initialcontextsetuprequesties(
|
||||
&message->msg.s1ap_InitialContextSetupRequestIEs, &initiating_p->value);
|
||||
s1ap_xer_print_s1ap_initialcontextsetuprequest(s1ap_xer__print2sp, message_string, message);
|
||||
message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_initial_context_setup_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
break;
|
||||
case S1AP_ProcedureCode_id_E_RABModify:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_E_RAB_MODIFY_REQUEST_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_modify_request_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_modify_request_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
S1AP_INFO("E_RABModify initiating message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextRelease:
|
||||
ret = s1ap_decode_s1ap_uecontextreleasecommandies(
|
||||
&message->msg.s1ap_UEContextReleaseCommandIEs, &initiating_p->value);
|
||||
s1ap_xer_print_s1ap_uecontextreleasecommand(s1ap_xer__print2sp, message_string, message);
|
||||
message_id = S1AP_UE_CONTEXT_RELEASE_COMMAND_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_ue_context_release_command_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_ue_context_release_command_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
break;
|
||||
case S1AP_ProcedureCode_id_E_RABRelease:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_E_RAB_RELEASE_REQUEST_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_release_request_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_release_request_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
S1AP_INFO("TODO E_RABRelease initiating message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_Paging:
|
||||
ret = s1ap_decode_s1ap_pagingies(
|
||||
&message->msg.s1ap_PagingIEs, &initiating_p->value);
|
||||
s1ap_xer_print_s1ap_paging(s1ap_xer__print2sp, message_string, message);
|
||||
message_id = S1AP_PAGING_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_paging_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_paging_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
S1AP_INFO("Paging initiating message\n");
|
||||
free(message_string);
|
||||
break;
|
||||
case S1AP_ProcedureCode_id_ErrorIndication:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_ERROR_INDICATION_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id,
|
||||
res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_error_indication_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_error_indication_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
S1AP_INFO("TODO ErrorIndication initiating message\n");
|
||||
break;
|
||||
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABSetup:
|
||||
ret = s1ap_decode_s1ap_e_rabsetuprequesties(
|
||||
&message->msg.s1ap_E_RABSetupRequestIEs, &initiating_p->value);
|
||||
//s1ap_xer_print_s1ap_e_rabsetuprequest(s1ap_xer__print2sp, message_string, message);
|
||||
message_id = S1AP_E_RAB_SETUP_REQUEST_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_setup_request_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_setup_request_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
S1AP_INFO("E_RABSetup initiating message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABModify:
|
||||
ret = s1ap_decode_s1ap_e_rabmodifyrequesties(
|
||||
&message->msg.s1ap_E_RABModifyRequestIEs, &initiating_p->value);
|
||||
message_id = S1AP_E_RAB_MODIFY_REQUEST_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_modify_request_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_modify_request_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
S1AP_INFO("E_RABModify initiating message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABRelease:
|
||||
ret = s1ap_decode_s1ap_e_rabreleasecommandies(
|
||||
&message->msg.s1ap_E_RABReleaseCommandIEs, &initiating_p->value);
|
||||
s1ap_xer_print_s1ap_e_rabreleasecommand(s1ap_xer__print2sp, message_string, message);
|
||||
message_id = S1AP_E_RAB_RELEASE_REQUEST_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_release_request_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_release_request_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
S1AP_INFO("TODO E_RABRelease nitiating message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_ErrorIndication:
|
||||
ret = s1ap_decode_s1ap_errorindicationies(
|
||||
&message->msg.s1ap_ErrorIndicationIEs, &initiating_p->value);
|
||||
s1ap_xer_print_s1ap_errorindication(s1ap_xer__print2sp, message_string, message);
|
||||
message_id = S1AP_E_RAB_ERROR_INDICATION_LOG;
|
||||
message_string_size = strlen(message_string);
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP,
|
||||
message_id,
|
||||
message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_release_request_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_error_indication_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
S1AP_INFO("ErrorIndication initiating message\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
S1AP_ERROR("Unknown procedure ID (%d) for initiating message\n",
|
||||
(int)initiating_p->procedureCode);
|
||||
AssertFatal( 0 , "Unknown procedure ID (%d) for initiating message\n",
|
||||
(int)initiating_p->procedureCode);
|
||||
return -1;
|
||||
default:
|
||||
S1AP_ERROR("Unknown procedure ID (%d) for initiating message\n",
|
||||
(int)pdu->choice.initiatingMessage.procedureCode);
|
||||
AssertFatal( 0, "Unknown procedure ID (%d) for initiating message\n",
|
||||
(int)pdu->choice.initiatingMessage.procedureCode);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int s1ap_eNB_decode_successful_outcome(s1ap_message *message,
|
||||
S1ap_SuccessfulOutcome_t *successfullOutcome_p)
|
||||
static int s1ap_eNB_decode_successful_outcome(S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int ret = -1;
|
||||
MessageDef *message_p;
|
||||
char *message_string = NULL;
|
||||
size_t message_string_size;
|
||||
MessagesIds message_id;
|
||||
asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
DevAssert(successfullOutcome_p != NULL);
|
||||
switch(pdu->choice.successfulOutcome.procedureCode) {
|
||||
case S1AP_ProcedureCode_id_S1Setup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_S1_SETUP_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_s1_setup_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
message_string = malloc(sizeof(char) * 10000);
|
||||
memset((void*)message_string,0,sizeof(char) * 10000);
|
||||
|
||||
s1ap_string_total_size = 0;
|
||||
|
||||
message->procedureCode = successfullOutcome_p->procedureCode;
|
||||
message->criticality = successfullOutcome_p->criticality;
|
||||
|
||||
switch(successfullOutcome_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_S1Setup:
|
||||
ret = s1ap_decode_s1ap_s1setupresponseies(
|
||||
&message->msg.s1ap_S1SetupResponseIEs, &successfullOutcome_p->value);
|
||||
s1ap_xer_print_s1ap_s1setupresponse(s1ap_xer__print2sp, message_string, message);
|
||||
message_id = S1AP_S1_SETUP_LOG;
|
||||
break;
|
||||
|
||||
default:
|
||||
S1AP_ERROR("Unknown procedure ID (%d) for successfull outcome message\n",
|
||||
(int)successfullOutcome_p->procedureCode);
|
||||
return -1;
|
||||
default:
|
||||
S1AP_ERROR("Unknown procedure ID (%d) for successfull outcome message\n",
|
||||
(int)pdu->choice.successfulOutcome.procedureCode);
|
||||
return -1;
|
||||
}
|
||||
|
||||
message_string_size = strlen(message_string);
|
||||
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_s1_setup_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, message_string, message_string_size);
|
||||
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
|
||||
free(message_string);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int s1ap_eNB_decode_unsuccessful_outcome(s1ap_message *message,
|
||||
S1ap_UnsuccessfulOutcome_t *unSuccessfullOutcome_p)
|
||||
static int s1ap_eNB_decode_unsuccessful_outcome(S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
int ret = -1;
|
||||
DevAssert(unSuccessfullOutcome_p != NULL);
|
||||
MessageDef *message_p;
|
||||
MessagesIds message_id;
|
||||
asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
message->procedureCode = unSuccessfullOutcome_p->procedureCode;
|
||||
message->criticality = unSuccessfullOutcome_p->criticality;
|
||||
switch(pdu->choice.unsuccessfulOutcome.procedureCode) {
|
||||
case S1AP_ProcedureCode_id_S1Setup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_S1_SETUP_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_s1_setup_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
switch(unSuccessfullOutcome_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_S1Setup:
|
||||
return s1ap_decode_s1ap_s1setupfailureies(
|
||||
&message->msg.s1ap_S1SetupFailureIEs, &unSuccessfullOutcome_p->value);
|
||||
|
||||
default:
|
||||
S1AP_ERROR("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
|
||||
(int)unSuccessfullOutcome_p->procedureCode);
|
||||
break;
|
||||
default:
|
||||
S1AP_ERROR("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
|
||||
(int)pdu->choice.unsuccessfulOutcome.procedureCode);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int s1ap_eNB_decode_pdu(s1ap_message *message, const uint8_t * const buffer,
|
||||
int s1ap_eNB_decode_pdu(S1AP_S1AP_PDU_t *pdu, const uint8_t *const buffer,
|
||||
const uint32_t length)
|
||||
{
|
||||
S1AP_PDU_t pdu;
|
||||
S1AP_PDU_t *pdu_p = &pdu;
|
||||
asn_dec_rval_t dec_ret;
|
||||
|
||||
DevAssert(pdu != NULL);
|
||||
DevAssert(buffer != NULL);
|
||||
|
||||
memset((void *)pdu_p, 0, sizeof(S1AP_PDU_t));
|
||||
|
||||
dec_ret = aper_decode(NULL,
|
||||
&asn_DEF_S1AP_PDU,
|
||||
(void **)&pdu_p,
|
||||
&asn_DEF_S1AP_S1AP_PDU,
|
||||
(void **)&pdu,
|
||||
buffer,
|
||||
length,
|
||||
0,
|
||||
@@ -289,24 +223,19 @@ int s1ap_eNB_decode_pdu(s1ap_message *message, const uint8_t * const buffer,
|
||||
return -1;
|
||||
}
|
||||
|
||||
message->direction = pdu_p->present;
|
||||
switch(pdu->present) {
|
||||
case S1AP_S1AP_PDU_PR_initiatingMessage:
|
||||
return s1ap_eNB_decode_initiating_message(pdu);
|
||||
|
||||
switch(pdu_p->present) {
|
||||
case S1AP_PDU_PR_initiatingMessage:
|
||||
return s1ap_eNB_decode_initiating_message(message,
|
||||
&pdu_p->choice.initiatingMessage);
|
||||
case S1AP_S1AP_PDU_PR_successfulOutcome:
|
||||
return s1ap_eNB_decode_successful_outcome(pdu);
|
||||
|
||||
case S1AP_PDU_PR_successfulOutcome:
|
||||
return s1ap_eNB_decode_successful_outcome(message,
|
||||
&pdu_p->choice.successfulOutcome);
|
||||
case S1AP_S1AP_PDU_PR_unsuccessfulOutcome:
|
||||
return s1ap_eNB_decode_unsuccessful_outcome(pdu);
|
||||
|
||||
case S1AP_PDU_PR_unsuccessfulOutcome:
|
||||
return s1ap_eNB_decode_unsuccessful_outcome(message,
|
||||
&pdu_p->choice.unsuccessfulOutcome);
|
||||
|
||||
default:
|
||||
S1AP_DEBUG("Unknown presence (%d) or not implemented\n", (int)pdu_p->present);
|
||||
break;
|
||||
default:
|
||||
S1AP_DEBUG("Unknown presence (%d) or not implemented\n", (int)pdu->present);
|
||||
break;
|
||||
}
|
||||
|
||||
return -1;
|
||||
|
||||
@@ -20,12 +20,11 @@
|
||||
*/
|
||||
|
||||
#include <stdint.h>
|
||||
#include "s1ap_ies_defs.h"
|
||||
|
||||
#ifndef S1AP_ENB_DECODER_H_
|
||||
#define S1AP_ENB_DECODER_H_
|
||||
|
||||
int s1ap_eNB_decode_pdu(s1ap_message *message, const uint8_t * const buffer,
|
||||
int s1ap_eNB_decode_pdu(S1AP_S1AP_PDU_t *pdu, const uint8_t *const buffer,
|
||||
const uint32_t length) __attribute__ ((warn_unused_result));
|
||||
|
||||
#endif /* S1AP_ENB_DECODER_H_ */
|
||||
|
||||
+180
-544
@@ -32,615 +32,251 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#include "assertions.h"
|
||||
|
||||
#include "conversions.h"
|
||||
|
||||
#include "intertask_interface.h"
|
||||
|
||||
#include "s1ap_common.h"
|
||||
#include "s1ap_ies_defs.h"
|
||||
#include "s1ap_eNB_encoder.h"
|
||||
|
||||
static inline int s1ap_eNB_encode_initiating(s1ap_message *message,
|
||||
static inline int s1ap_eNB_encode_initiating(S1AP_S1AP_PDU_t *pdu,
|
||||
uint8_t **buffer,
|
||||
uint32_t *len);
|
||||
|
||||
static inline int s1ap_eNB_encode_successfull_outcome(s1ap_message *message,
|
||||
static inline int s1ap_eNB_encode_successfull_outcome(S1AP_S1AP_PDU_t *pdu,
|
||||
uint8_t **buffer, uint32_t *len);
|
||||
|
||||
static inline int s1ap_eNB_encode_unsuccessfull_outcome(s1ap_message *message,
|
||||
static inline int s1ap_eNB_encode_unsuccessfull_outcome(S1AP_S1AP_PDU_t *pdu,
|
||||
uint8_t **buffer, uint32_t *len);
|
||||
|
||||
static inline int s1ap_eNB_encode_s1_setup_request(
|
||||
S1ap_S1SetupRequestIEs_t *s1SetupRequestIEs, uint8_t **buffer, uint32_t *length);
|
||||
|
||||
static inline int s1ap_eNB_encode_trace_failure(S1ap_TraceFailureIndicationIEs_t
|
||||
*trace_failure_ies_p, uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline int s1ap_eNB_encode_initial_ue_message(S1ap_InitialUEMessageIEs_t
|
||||
*initialUEmessageIEs_p, uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline int s1ap_eNB_encode_uplink_nas_transport(S1ap_UplinkNASTransportIEs_t
|
||||
*uplinkNASTransportIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline int s1ap_eNB_encode_ue_capability_info_indication(
|
||||
S1ap_UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline int s1ap_eNB_encode_initial_context_setup_response(
|
||||
S1ap_InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_nas_non_delivery(
|
||||
S1ap_NASNonDeliveryIndication_IEs_t *nasNonDeliveryIndicationIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_ue_context_release_complete(
|
||||
S1ap_UEContextReleaseCompleteIEs_t *s1ap_UEContextReleaseCompleteIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_ue_context_release_request(
|
||||
S1ap_UEContextReleaseRequestIEs_t *s1ap_UEContextReleaseRequestIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_e_rab_setup_response(S1ap_E_RABSetupResponseIEs_t *E_RABSetupResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_e_rab_modify_response(S1ap_E_RABModifyResponseIEs_t *E_RABModifyResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_e_rab_release_response(S1ap_E_RABReleaseResponseIEs_t *s1ap_E_RABReleaseResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length);
|
||||
|
||||
int s1ap_eNB_encode_pdu(s1ap_message *message, uint8_t **buffer, uint32_t *len)
|
||||
int s1ap_eNB_encode_pdu(S1AP_S1AP_PDU_t *pdu, uint8_t **buffer, uint32_t *len)
|
||||
{
|
||||
DevAssert(message != NULL);
|
||||
int ret = -1;
|
||||
DevAssert(pdu != NULL);
|
||||
DevAssert(buffer != NULL);
|
||||
DevAssert(len != NULL);
|
||||
|
||||
switch(message->direction) {
|
||||
case S1AP_PDU_PR_initiatingMessage:
|
||||
return s1ap_eNB_encode_initiating(message, buffer, len);
|
||||
switch(pdu->present) {
|
||||
case S1AP_S1AP_PDU_PR_initiatingMessage:
|
||||
ret = s1ap_eNB_encode_initiating(pdu, buffer, len);
|
||||
break;
|
||||
|
||||
case S1AP_PDU_PR_successfulOutcome:
|
||||
return s1ap_eNB_encode_successfull_outcome(message, buffer, len);
|
||||
case S1AP_S1AP_PDU_PR_successfulOutcome:
|
||||
ret = s1ap_eNB_encode_successfull_outcome(pdu, buffer, len);
|
||||
break;
|
||||
|
||||
case S1AP_PDU_PR_unsuccessfulOutcome:
|
||||
return s1ap_eNB_encode_unsuccessfull_outcome(message, buffer, len);
|
||||
case S1AP_S1AP_PDU_PR_unsuccessfulOutcome:
|
||||
ret = s1ap_eNB_encode_unsuccessfull_outcome(pdu, buffer, len);
|
||||
break;
|
||||
|
||||
default:
|
||||
S1AP_DEBUG("Unknown message outcome (%d) or not implemented",
|
||||
(int)message->direction);
|
||||
break;
|
||||
default:
|
||||
S1AP_DEBUG("Unknown message outcome (%d) or not implemented",
|
||||
(int)pdu->present);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return -1;
|
||||
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_initiating(s1ap_message *s1ap_message_p,
|
||||
int s1ap_eNB_encode_initiating(S1AP_S1AP_PDU_t *pdu,
|
||||
uint8_t **buffer, uint32_t *len)
|
||||
{
|
||||
int ret = -1;
|
||||
MessageDef *message_p;
|
||||
char *message_string = NULL;
|
||||
size_t message_string_size;
|
||||
MessagesIds message_id;
|
||||
asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
DevAssert(s1ap_message_p != NULL);
|
||||
switch(pdu->choice.initiatingMessage.procedureCode) {
|
||||
case S1AP_ProcedureCode_id_S1Setup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_S1_SETUP_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_s1_setup_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
message_string = calloc(10000, sizeof(char));
|
||||
case S1AP_ProcedureCode_id_uplinkNASTransport:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_UPLINK_NAS_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_uplink_nas_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_uplink_nas_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
s1ap_string_total_size = 0;
|
||||
case S1AP_ProcedureCode_id_UECapabilityInfoIndication:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_UE_CAPABILITY_IND_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_ue_capability_ind_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_ue_capability_ind_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
switch(s1ap_message_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_S1Setup:
|
||||
ret = s1ap_eNB_encode_s1_setup_request(
|
||||
&s1ap_message_p->msg.s1ap_S1SetupRequestIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_s1setuprequest(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_S1_SETUP_LOG;
|
||||
break;
|
||||
case S1AP_ProcedureCode_id_initialUEMessage:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_INITIAL_UE_MESSAGE_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_initial_ue_message_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_initial_ue_message_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_uplinkNASTransport:
|
||||
ret = s1ap_eNB_encode_uplink_nas_transport(
|
||||
&s1ap_message_p->msg.s1ap_UplinkNASTransportIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_uplinknastransport(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_UPLINK_NAS_LOG;
|
||||
break;
|
||||
case S1AP_ProcedureCode_id_NASNonDeliveryIndication:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_NAS_NON_DELIVERY_IND_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_nas_non_delivery_ind_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_nas_non_delivery_ind_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UECapabilityInfoIndication:
|
||||
ret = s1ap_eNB_encode_ue_capability_info_indication(
|
||||
&s1ap_message_p->msg.s1ap_UECapabilityInfoIndicationIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_uecapabilityinfoindication(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_UE_CAPABILITY_IND_LOG;
|
||||
break;
|
||||
case S1AP_ProcedureCode_id_UEContextReleaseRequest:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_UE_CONTEXT_RELEASE_REQ_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_ue_context_release_req_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_ue_context_release_req_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_initialUEMessage:
|
||||
ret = s1ap_eNB_encode_initial_ue_message(
|
||||
&s1ap_message_p->msg.s1ap_InitialUEMessageIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_initialuemessage(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_INITIAL_UE_MESSAGE_LOG;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_NASNonDeliveryIndication:
|
||||
ret = s1ap_eNB_encode_nas_non_delivery(
|
||||
&s1ap_message_p->msg.s1ap_NASNonDeliveryIndication_IEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_nasnondeliveryindication_(s1ap_xer__print2sp,
|
||||
message_string, s1ap_message_p);
|
||||
message_id = S1AP_NAS_NON_DELIVERY_IND_LOG;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextReleaseRequest:
|
||||
ret = s1ap_eNB_encode_ue_context_release_request(
|
||||
&s1ap_message_p->msg.s1ap_UEContextReleaseRequestIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_uecontextreleaserequest(s1ap_xer__print2sp,
|
||||
message_string, s1ap_message_p);
|
||||
message_id = S1AP_UE_CONTEXT_RELEASE_REQ_LOG;
|
||||
break;
|
||||
|
||||
|
||||
default:
|
||||
S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n",
|
||||
(int)s1ap_message_p->procedureCode);
|
||||
return ret;
|
||||
break;
|
||||
default:
|
||||
S1AP_DEBUG("Unknown procedure ID (%d) for initiating message\n",
|
||||
(int)pdu->choice.initiatingMessage.procedureCode);
|
||||
return -1;
|
||||
}
|
||||
|
||||
message_string_size = strlen(message_string);
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_S1AP_S1AP_PDU, (void *)pdu);
|
||||
}
|
||||
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_s1_setup_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_s1_setup_log.text, message_string, message_string_size);
|
||||
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
|
||||
free(message_string);
|
||||
|
||||
return ret;
|
||||
memset(&res, 0, sizeof(res));
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
*buffer = res.buffer;
|
||||
*len = res.result.encoded;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_successfull_outcome(s1ap_message *s1ap_message_p,
|
||||
int s1ap_eNB_encode_successfull_outcome(S1AP_S1AP_PDU_t *pdu,
|
||||
uint8_t **buffer, uint32_t *len)
|
||||
{
|
||||
int ret = -1;
|
||||
MessageDef *message_p;
|
||||
char *message_string = NULL;
|
||||
size_t message_string_size;
|
||||
MessagesIds message_id;
|
||||
asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
DevAssert(s1ap_message_p != NULL);
|
||||
switch(pdu->choice.successfulOutcome.procedureCode) {
|
||||
case S1AP_ProcedureCode_id_InitialContextSetup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_initial_context_setup_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
message_string = calloc(10000, sizeof(char));
|
||||
case S1AP_ProcedureCode_id_UEContextRelease:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_UE_CONTEXT_RELEASE_COMPLETE_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_ue_context_release_complete_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_ue_context_release_complete_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
s1ap_string_total_size = 0;
|
||||
message_string_size = strlen(message_string);
|
||||
case S1AP_ProcedureCode_id_E_RABSetup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_E_RAB_SETUP_RESPONSE_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_setup_response_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_setup_response_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
S1AP_INFO("E_RABSetup successful message\n");
|
||||
break;
|
||||
|
||||
case S1AP_ProcedureCode_id_E_RABModify:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_E_RAB_MODIFY_RESPONSE_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_modify_response_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_modify_response_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
S1AP_INFO("E_RABModify successful message\n");
|
||||
break;
|
||||
|
||||
switch(s1ap_message_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||
ret = s1ap_eNB_encode_initial_context_setup_response(
|
||||
&s1ap_message_p->msg.s1ap_InitialContextSetupResponseIEs, buffer, len);
|
||||
case S1AP_ProcedureCode_id_E_RABRelease:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_E_RAB_RELEASE_RESPONSE_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_release_response_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_release_response_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
S1AP_INFO("E_RAB Release successful message\n");
|
||||
break;
|
||||
|
||||
s1ap_xer_print_s1ap_initialcontextsetupresponse(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_initial_context_setup_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextRelease:
|
||||
ret = s1ap_eNB_encode_ue_context_release_complete(
|
||||
&s1ap_message_p->msg.s1ap_UEContextReleaseCompleteIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_uecontextreleasecomplete(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_UE_CONTEXT_RELEASE_COMPLETE_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_ue_context_release_complete_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_ue_context_release_complete_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABSetup:
|
||||
|
||||
ret = s1ap_eNB_encode_e_rab_setup_response (
|
||||
&s1ap_message_p->msg.s1ap_E_RABSetupResponseIEs, buffer, len);
|
||||
//s1ap_xer_print_s1ap_e_rabsetupresponse (s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_E_RAB_SETUP_RESPONSE_LOG ;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_setup_response_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_setup_response_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
S1AP_INFO("E_RABSetup successful message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABModify:
|
||||
ret = s1ap_eNB_encode_e_rab_modify_response (
|
||||
&s1ap_message_p->msg.s1ap_E_RABModifyResponseIEs, buffer, len);
|
||||
message_id = S1AP_E_RAB_MODIFY_RESPONSE_LOG ;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_modify_response_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_modify_response_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
S1AP_INFO("E_RABModify successful message\n");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABRelease:
|
||||
ret = s1ap_eNB_encode_e_rab_release_response (
|
||||
&s1ap_message_p->msg.s1ap_E_RABReleaseResponseIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_e_rabreleaseresponse(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_E_RAB_RELEASE_RESPONSE_LOG ;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_e_rab_release_response_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_e_rab_release_response_log.text, message_string, message_string_size);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(message_string);
|
||||
S1AP_INFO("E_RAB Release successful message\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
S1AP_WARN("Unknown procedure ID (%d) for successfull outcome message\n",
|
||||
(int)s1ap_message_p->procedureCode);
|
||||
return ret;
|
||||
break;
|
||||
default:
|
||||
S1AP_WARN("Unknown procedure ID (%d) for successfull outcome message\n",
|
||||
(int)pdu->choice.successfulOutcome.procedureCode);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_S1AP_S1AP_PDU, (void *)pdu);
|
||||
}
|
||||
|
||||
return ret;
|
||||
memset(&res, 0, sizeof(res));
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
*buffer = res.buffer;
|
||||
*len = res.result.encoded;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_unsuccessfull_outcome(s1ap_message *s1ap_message_p,
|
||||
int s1ap_eNB_encode_unsuccessfull_outcome(S1AP_S1AP_PDU_t *pdu,
|
||||
uint8_t **buffer, uint32_t *len)
|
||||
{
|
||||
int ret = -1;
|
||||
MessageDef *message_p;
|
||||
char *message_string = NULL;
|
||||
size_t message_string_size;
|
||||
MessagesIds message_id;
|
||||
asn_encode_to_new_buffer_result_t res = { NULL, {0, NULL, NULL} };
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
DevAssert(s1ap_message_p != NULL);
|
||||
switch(pdu->choice.unsuccessfulOutcome.procedureCode) {
|
||||
case S1AP_ProcedureCode_id_InitialContextSetup:
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_CANONICAL_XER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, res.result.encoded + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_initial_context_setup_log.size = res.result.encoded;
|
||||
memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, res.buffer, res.result.encoded);
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
free(res.buffer);
|
||||
break;
|
||||
|
||||
message_string = calloc(10000, sizeof(char));
|
||||
|
||||
s1ap_string_total_size = 0;
|
||||
|
||||
switch(s1ap_message_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||
// ret = s1ap_encode_s1ap_initialcontextsetupfailureies(
|
||||
// &s1ap_message_p->ittiMsg.s1ap_InitialContextSetupFailureIEs, buffer, len);
|
||||
s1ap_xer_print_s1ap_initialcontextsetupfailure(s1ap_xer__print2sp, message_string, s1ap_message_p);
|
||||
message_id = S1AP_INITIAL_CONTEXT_SETUP_LOG;
|
||||
break;
|
||||
|
||||
default:
|
||||
S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
|
||||
(int)s1ap_message_p->procedureCode);
|
||||
return ret;
|
||||
break;
|
||||
default:
|
||||
S1AP_DEBUG("Unknown procedure ID (%d) for unsuccessfull outcome message\n",
|
||||
(int)pdu->choice.unsuccessfulOutcome.procedureCode);
|
||||
return -1;
|
||||
}
|
||||
|
||||
message_string_size = strlen(message_string);
|
||||
|
||||
message_p = itti_alloc_new_message_sized(TASK_S1AP, message_id, message_string_size + sizeof (IttiMsgText));
|
||||
message_p->ittiMsg.s1ap_initial_context_setup_log.size = message_string_size;
|
||||
memcpy(&message_p->ittiMsg.s1ap_initial_context_setup_log.text, message_string, message_string_size);
|
||||
|
||||
itti_send_msg_to_task(TASK_UNKNOWN, INSTANCE_DEFAULT, message_p);
|
||||
|
||||
free(message_string);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_ue_capability_info_indication(
|
||||
S1ap_UECapabilityInfoIndicationIEs_t *ueCapabilityInfoIndicationIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_UECapabilityInfoIndication_t ueCapabilityInfoIndication;
|
||||
S1ap_UECapabilityInfoIndication_t *ueCapabilityInfoIndication_p =
|
||||
&ueCapabilityInfoIndication;
|
||||
|
||||
memset((void *)ueCapabilityInfoIndication_p, 0, sizeof(ueCapabilityInfoIndication));
|
||||
|
||||
if (s1ap_encode_s1ap_uecapabilityinfoindicationies(
|
||||
ueCapabilityInfoIndication_p, ueCapabilityInfoIndicationIEs) < 0) {
|
||||
return -1;
|
||||
if (asn1_xer_print) {
|
||||
xer_fprint(stdout, &asn_DEF_S1AP_S1AP_PDU, (void *)pdu);
|
||||
}
|
||||
|
||||
return s1ap_generate_initiating_message(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_UECapabilityInfoIndication,
|
||||
S1ap_Criticality_ignore,
|
||||
&asn_DEF_S1ap_UECapabilityInfoIndication,
|
||||
ueCapabilityInfoIndication_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_uplink_nas_transport(
|
||||
S1ap_UplinkNASTransportIEs_t *uplinkNASTransportIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_UplinkNASTransport_t uplinkNASTransport;
|
||||
S1ap_UplinkNASTransport_t *uplinkNASTransport_p = &uplinkNASTransport;
|
||||
|
||||
memset((void *)uplinkNASTransport_p, 0, sizeof(uplinkNASTransport));
|
||||
|
||||
if (s1ap_encode_s1ap_uplinknastransporties(
|
||||
uplinkNASTransport_p, uplinkNASTransportIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_initiating_message(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_uplinkNASTransport,
|
||||
S1ap_Criticality_ignore,
|
||||
&asn_DEF_S1ap_UplinkNASTransport,
|
||||
uplinkNASTransport_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_nas_non_delivery(
|
||||
S1ap_NASNonDeliveryIndication_IEs_t *nasNonDeliveryIndicationIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_NASNonDeliveryIndication_t nasNonDeliveryIndication;
|
||||
S1ap_NASNonDeliveryIndication_t *nasNonDeliveryIndication_p = &nasNonDeliveryIndication;
|
||||
|
||||
memset((void *)nasNonDeliveryIndication_p, 0, sizeof(nasNonDeliveryIndication));
|
||||
|
||||
if (s1ap_encode_s1ap_nasnondeliveryindication_ies(
|
||||
nasNonDeliveryIndication_p, nasNonDeliveryIndicationIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_initiating_message(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_NASNonDeliveryIndication,
|
||||
S1ap_Criticality_ignore,
|
||||
&asn_DEF_S1ap_NASNonDeliveryIndication,
|
||||
nasNonDeliveryIndication_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_s1_setup_request(
|
||||
S1ap_S1SetupRequestIEs_t *s1SetupRequestIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_S1SetupRequest_t s1SetupRequest;
|
||||
S1ap_S1SetupRequest_t *s1SetupRequest_p = &s1SetupRequest;
|
||||
|
||||
memset((void *)s1SetupRequest_p, 0, sizeof(s1SetupRequest));
|
||||
|
||||
if (s1ap_encode_s1ap_s1setuprequesties(s1SetupRequest_p, s1SetupRequestIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_initiating_message(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_S1Setup,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_S1SetupRequest,
|
||||
s1SetupRequest_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_initial_ue_message(
|
||||
S1ap_InitialUEMessageIEs_t *initialUEmessageIEs_p,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_InitialUEMessage_t initialUEMessage;
|
||||
S1ap_InitialUEMessage_t *initialUEMessage_p = &initialUEMessage;
|
||||
|
||||
memset((void *)initialUEMessage_p, 0, sizeof(initialUEMessage));
|
||||
|
||||
if (s1ap_encode_s1ap_initialuemessageies(
|
||||
initialUEMessage_p, initialUEmessageIEs_p) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_initiating_message(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_initialUEMessage,
|
||||
S1ap_Criticality_ignore,
|
||||
&asn_DEF_S1ap_InitialUEMessage,
|
||||
initialUEMessage_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_trace_failure(
|
||||
S1ap_TraceFailureIndicationIEs_t *trace_failure_ies_p,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_TraceFailureIndication_t trace_failure;
|
||||
S1ap_TraceFailureIndication_t *trace_failure_p = &trace_failure;
|
||||
|
||||
memset((void *)trace_failure_p, 0, sizeof(trace_failure));
|
||||
|
||||
if (s1ap_encode_s1ap_tracefailureindicationies(
|
||||
trace_failure_p, trace_failure_ies_p) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_initiating_message(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_TraceFailureIndication,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_TraceFailureIndication,
|
||||
trace_failure_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_initial_context_setup_response(
|
||||
S1ap_InitialContextSetupResponseIEs_t *initialContextSetupResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_InitialContextSetupResponse_t initial_context_setup_response;
|
||||
S1ap_InitialContextSetupResponse_t *initial_context_setup_response_p =
|
||||
&initial_context_setup_response;
|
||||
|
||||
memset((void *)initial_context_setup_response_p, 0,
|
||||
sizeof(initial_context_setup_response));
|
||||
|
||||
if (s1ap_encode_s1ap_initialcontextsetupresponseies(
|
||||
initial_context_setup_response_p, initialContextSetupResponseIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_successfull_outcome(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_InitialContextSetup,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_InitialContextSetupResponse,
|
||||
initial_context_setup_response_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_ue_context_release_complete(
|
||||
S1ap_UEContextReleaseCompleteIEs_t *s1ap_UEContextReleaseCompleteIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_UEContextReleaseComplete_t ue_context_release_complete;
|
||||
S1ap_UEContextReleaseComplete_t *ue_context_release_complete_p =
|
||||
&ue_context_release_complete;
|
||||
|
||||
memset((void *)ue_context_release_complete_p, 0,
|
||||
sizeof(ue_context_release_complete));
|
||||
|
||||
if (s1ap_encode_s1ap_uecontextreleasecompleteies(
|
||||
ue_context_release_complete_p, s1ap_UEContextReleaseCompleteIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_successfull_outcome(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_UEContextRelease,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_UEContextReleaseComplete,
|
||||
ue_context_release_complete_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_ue_context_release_request(
|
||||
S1ap_UEContextReleaseRequestIEs_t *s1ap_UEContextReleaseRequestIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_UEContextReleaseRequest_t ue_context_release_request;
|
||||
S1ap_UEContextReleaseRequest_t *ue_context_release_request_p =
|
||||
&ue_context_release_request;
|
||||
|
||||
memset((void *)ue_context_release_request_p, 0,
|
||||
sizeof(ue_context_release_request));
|
||||
|
||||
if (s1ap_encode_s1ap_uecontextreleaserequesties(
|
||||
ue_context_release_request_p, s1ap_UEContextReleaseRequestIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_initiating_message(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_UEContextReleaseRequest,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_UEContextReleaseRequest,
|
||||
ue_context_release_request_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_e_rab_setup_response(S1ap_E_RABSetupResponseIEs_t *s1ap_E_RABSetupResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_E_RABSetupResponse_t e_rab_setup_response;
|
||||
S1ap_E_RABSetupResponse_t *e_rab_setup_response_p = &e_rab_setup_response;
|
||||
|
||||
memset((void *)e_rab_setup_response_p, 0,
|
||||
sizeof(e_rab_setup_response));
|
||||
|
||||
if (s1ap_encode_s1ap_e_rabsetupresponseies (e_rab_setup_response_p, s1ap_E_RABSetupResponseIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_successfull_outcome(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_E_RABSetup,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_E_RABSetupResponse,
|
||||
e_rab_setup_response_p);
|
||||
}
|
||||
|
||||
static inline
|
||||
int s1ap_eNB_encode_e_rab_modify_response(S1ap_E_RABModifyResponseIEs_t *s1ap_E_RABModifyResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_E_RABModifyResponse_t e_rab_modify_response;
|
||||
S1ap_E_RABModifyResponse_t *e_rab_modify_response_p = &e_rab_modify_response;
|
||||
|
||||
memset((void *)e_rab_modify_response_p, 0,
|
||||
sizeof(e_rab_modify_response));
|
||||
|
||||
if (s1ap_encode_s1ap_e_rabmodifyresponseies (e_rab_modify_response_p, s1ap_E_RABModifyResponseIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_successfull_outcome(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_E_RABModify,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_E_RABModifyResponse,
|
||||
e_rab_modify_response_p);
|
||||
}
|
||||
static inline
|
||||
int s1ap_eNB_encode_e_rab_release_response(S1ap_E_RABReleaseResponseIEs_t *s1ap_E_RABReleaseResponseIEs,
|
||||
uint8_t **buffer,
|
||||
uint32_t *length)
|
||||
{
|
||||
S1ap_E_RABReleaseResponse_t e_rab_release_response;
|
||||
S1ap_E_RABReleaseResponse_t *e_rab_release_response_p = &e_rab_release_response;
|
||||
|
||||
memset((void *)e_rab_release_response_p, 0,
|
||||
sizeof(e_rab_release_response));
|
||||
|
||||
if (s1ap_encode_s1ap_e_rabreleaseresponseies (e_rab_release_response_p, s1ap_E_RABReleaseResponseIEs) < 0) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
return s1ap_generate_successfull_outcome(buffer,
|
||||
length,
|
||||
S1ap_ProcedureCode_id_E_RABRelease,
|
||||
S1ap_Criticality_reject,
|
||||
&asn_DEF_S1ap_E_RABReleaseResponse,
|
||||
e_rab_release_response_p);
|
||||
memset(&res, 0, sizeof(res));
|
||||
res = asn_encode_to_new_buffer(NULL, ATS_ALIGNED_CANONICAL_PER, &asn_DEF_S1AP_S1AP_PDU, pdu);
|
||||
*buffer = res.buffer;
|
||||
*len = res.result.encoded;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#ifndef S1AP_ENB_ENCODER_H_
|
||||
#define S1AP_ENB_ENCODER_H_
|
||||
|
||||
int s1ap_eNB_encode_pdu(s1ap_message *message, uint8_t **buffer, uint32_t *len)
|
||||
int s1ap_eNB_encode_pdu(S1AP_S1AP_PDU_t *pdu, uint8_t **buffer, uint32_t *len)
|
||||
__attribute__ ((warn_unused_result));
|
||||
|
||||
#endif /* S1AP_ENB_ENCODER_H_ */
|
||||
|
||||
+622
-480
File diff suppressed because it is too large
Load Diff
@@ -56,7 +56,8 @@ void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
|
||||
|
||||
s1ap_downlink_nas->ue_initial_id = ue_initial_id;
|
||||
s1ap_downlink_nas->eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
||||
s1ap_downlink_nas->nas_pdu.buffer = nas_pdu;
|
||||
s1ap_downlink_nas->nas_pdu.buffer = malloc(sizeof(uint8_t) * nas_pdu_length);
|
||||
memcpy(s1ap_downlink_nas->nas_pdu.buffer, nas_pdu, nas_pdu_length);
|
||||
s1ap_downlink_nas->nas_pdu.length = nas_pdu_length;
|
||||
|
||||
itti_send_msg_to_task(TASK_RRC_ENB, instance, message_p);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,14 +23,14 @@
|
||||
#define S1AP_ENB_NAS_PROCEDURES_H_
|
||||
|
||||
int s1ap_eNB_handle_nas_downlink(
|
||||
const uint32_t assoc_id,
|
||||
const uint32_t stream,
|
||||
struct s1ap_message_s* message_p);
|
||||
uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_p);
|
||||
|
||||
void s1ap_eNB_nas_non_delivery_ind(instance_t instance,
|
||||
s1ap_nas_non_delivery_ind_t *s1ap_nas_non_delivery_ind);
|
||||
int s1ap_eNB_nas_non_delivery_ind(instance_t instance,
|
||||
s1ap_nas_non_delivery_ind_t *s1ap_nas_non_delivery_ind);
|
||||
|
||||
int s1ap_eNB_handle_nas_first_req(
|
||||
instance_t instance, s1ap_nas_first_req_t *s1ap_nas_first_req_p);
|
||||
@@ -45,8 +45,8 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
|
||||
s1ap_e_rab_setup_resp_t *e_rab_setup_resp_p);
|
||||
|
||||
int s1ap_eNB_e_rab_modify_resp(instance_t instance,
|
||||
s1ap_e_rab_modify_resp_t *e_rab_modify_resp_p);
|
||||
s1ap_e_rab_modify_resp_t *e_rab_modify_resp_p);
|
||||
|
||||
int s1ap_eNB_e_rab_release_resp(instance_t instance,
|
||||
s1ap_e_rab_release_resp_t *e_rab_release_resp_p);
|
||||
s1ap_e_rab_release_resp_t *e_rab_release_resp_p);
|
||||
#endif /* S1AP_ENB_NAS_PROCEDURES_H_ */
|
||||
|
||||
@@ -33,7 +33,6 @@
|
||||
#include "intertask_interface.h"
|
||||
|
||||
#include "s1ap_common.h"
|
||||
#include "s1ap_ies_defs.h"
|
||||
#include "s1ap_eNB_defs.h"
|
||||
|
||||
#include "s1ap_eNB.h"
|
||||
@@ -44,20 +43,24 @@
|
||||
|
||||
#include "assertions.h"
|
||||
|
||||
int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p)
|
||||
int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1ap_OverloadStartIEs_t *overload_start_p;
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
S1AP_OverloadStart_t *container;
|
||||
S1AP_OverloadStartIEs_t *ie;
|
||||
|
||||
DevAssert(message_p != NULL);
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
overload_start_p = &message_p->msg.s1ap_OverloadStartIEs;
|
||||
container = &pdu->choice.initiatingMessage.value.choice.OverloadStart;
|
||||
|
||||
DevCheck(overload_start_p->overloadResponse.present ==
|
||||
S1ap_OverloadResponse_PR_overloadAction,
|
||||
S1ap_OverloadResponse_PR_overloadAction, 0, 0);
|
||||
S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_OverloadStartIEs_t, ie, container,
|
||||
S1AP_ProtocolIE_ID_id_OverloadResponse, true);
|
||||
|
||||
DevCheck(ie->value.choice.OverloadResponse.present ==
|
||||
S1AP_OverloadResponse_PR_overloadAction,
|
||||
S1AP_OverloadResponse_PR_overloadAction, 0, 0);
|
||||
|
||||
/* Non UE-associated signalling -> stream 0 */
|
||||
DevCheck(stream == 0, stream, 0, 0);
|
||||
@@ -72,21 +75,20 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
*/
|
||||
mme_desc_p->state = S1AP_ENB_OVERLOAD;
|
||||
mme_desc_p->overload_state =
|
||||
overload_start_p->overloadResponse.choice.overloadAction;
|
||||
ie->value.choice.OverloadResponse.choice.overloadAction;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p)
|
||||
int s1ap_eNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
/* We received Overload stop message, meaning that the MME is no more
|
||||
* overloaded. This is an empty message, with only message header and no
|
||||
* Information Element.
|
||||
*/
|
||||
|
||||
DevAssert(message_p != NULL);
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
// int s1ap_eNB_handle_overload_start(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
/**
|
||||
* \brief Handle an overload stop message
|
||||
@@ -38,8 +38,8 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
// int s1ap_eNB_handle_overload_stop(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_overload_stop(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
#endif /* S1AP_ENB_OVERLOAD_H_ */
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
#include "s1ap_eNB_default_values.h"
|
||||
|
||||
#include "s1ap_common.h"
|
||||
#include "s1ap_ies_defs.h"
|
||||
#include "s1ap_eNB_defs.h"
|
||||
|
||||
#include "s1ap_eNB.h"
|
||||
@@ -40,29 +39,60 @@
|
||||
|
||||
static
|
||||
void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p,
|
||||
S1ap_E_UTRAN_Trace_ID_t *trace_id,
|
||||
S1ap_Cause_t *cause_p)
|
||||
S1AP_E_UTRAN_Trace_ID_t *trace_id,
|
||||
S1AP_Cause_t *cause_p)
|
||||
{
|
||||
s1ap_message message;
|
||||
S1ap_TraceFailureIndicationIEs_t *trace_failure_p;
|
||||
uint8_t *buffer;
|
||||
uint32_t length;
|
||||
S1AP_S1AP_PDU_t pdu;
|
||||
S1AP_TraceFailureIndication_t *out;
|
||||
S1AP_TraceFailureIndicationIEs_t *ie;
|
||||
uint8_t *buffer = NULL;
|
||||
uint32_t length;
|
||||
|
||||
DevAssert(ue_desc_p != NULL);
|
||||
DevAssert(trace_id != NULL);
|
||||
DevAssert(cause_p != NULL);
|
||||
|
||||
memset(&message, 0, sizeof(s1ap_message));
|
||||
/* Prepare the S1AP message to encode */
|
||||
memset(&pdu, 0, sizeof(pdu));
|
||||
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
|
||||
pdu.choice.initiatingMessage.procedureCode = S1AP_ProcedureCode_id_TraceFailureIndication;
|
||||
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_ignore;
|
||||
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_TraceFailureIndication;
|
||||
out = &pdu.choice.initiatingMessage.value.choice.TraceFailureIndication;
|
||||
|
||||
trace_failure_p = &message.msg.s1ap_TraceFailureIndicationIEs;
|
||||
/* mandatory */
|
||||
ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_MME_UE_S1AP_ID;
|
||||
ie->value.choice.MME_UE_S1AP_ID = ue_desc_p->mme_ue_s1ap_id;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
trace_failure_p->mme_ue_s1ap_id = ue_desc_p->mme_ue_s1ap_id;
|
||||
trace_failure_p->eNB_UE_S1AP_ID = ue_desc_p->eNB_ue_s1ap_id;
|
||||
/* mandatory */
|
||||
ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_ENB_UE_S1AP_ID;
|
||||
ie->value.choice.ENB_UE_S1AP_ID = ue_desc_p->eNB_ue_s1ap_id;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
memcpy(&trace_failure_p->e_UTRAN_Trace_ID, trace_id, sizeof(S1ap_E_UTRAN_Trace_ID_t));
|
||||
memcpy(&trace_failure_p->cause, cause_p, sizeof(S1ap_Cause_t));
|
||||
/* mandatory */
|
||||
ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_E_UTRAN_Trace_ID;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_E_UTRAN_Trace_ID;
|
||||
memcpy(&ie->value.choice.E_UTRAN_Trace_ID, trace_id, sizeof(S1AP_E_UTRAN_Trace_ID_t));
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&message, &buffer, &length) < 0) {
|
||||
/* mandatory */
|
||||
ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_Cause;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_TraceFailureIndicationIEs__value_PR_Cause;
|
||||
memcpy(&ie->value.choice.Cause, cause_p, sizeof(S1AP_Cause_t));
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -71,46 +101,46 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p,
|
||||
length, ue_desc_p->tx_stream);
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p)
|
||||
int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
S1ap_TraceStartIEs_t *trace_start_p;
|
||||
S1AP_TraceStart_t *container;
|
||||
S1AP_TraceStartIEs_t *ie;
|
||||
struct s1ap_eNB_ue_context_s *ue_desc_p;
|
||||
struct s1ap_eNB_mme_data_s *mme_ref_p;
|
||||
|
||||
DevAssert(message_p != NULL);
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
trace_start_p = &message_p->msg.s1ap_TraceStartIEs;
|
||||
container = &pdu->choice.initiatingMessage.value.choice.TraceStart;
|
||||
|
||||
S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_TraceStartIEs_t, ie, container,
|
||||
S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID, TRUE);
|
||||
mme_ref_p = s1ap_eNB_get_MME(NULL, assoc_id, 0);
|
||||
DevAssert(mme_ref_p != NULL);
|
||||
|
||||
if ((ue_desc_p = s1ap_eNB_get_ue_context(mme_ref_p->s1ap_eNB_instance,
|
||||
trace_start_p->eNB_UE_S1AP_ID)) == NULL) {
|
||||
ie->value.choice.ENB_UE_S1AP_ID)) == NULL) {
|
||||
/* Could not find context associated with this eNB_ue_s1ap_id -> generate
|
||||
* trace failure indication.
|
||||
*/
|
||||
S1ap_E_UTRAN_Trace_ID_t trace_id;
|
||||
S1ap_Cause_t cause;
|
||||
|
||||
memset(&trace_id, 0, sizeof(S1ap_E_UTRAN_Trace_ID_t));
|
||||
memset(&cause, 0, sizeof(S1ap_Cause_t));
|
||||
|
||||
cause.present = S1ap_Cause_PR_radioNetwork;
|
||||
cause.choice.radioNetwork = S1ap_CauseRadioNetwork_unknown_pair_ue_s1ap_id;
|
||||
|
||||
S1AP_E_UTRAN_Trace_ID_t trace_id;
|
||||
S1AP_Cause_t cause;
|
||||
memset(&trace_id, 0, sizeof(S1AP_E_UTRAN_Trace_ID_t));
|
||||
memset(&cause, 0, sizeof(S1AP_Cause_t));
|
||||
cause.present = S1AP_Cause_PR_radioNetwork;
|
||||
cause.choice.radioNetwork = S1AP_CauseRadioNetwork_unknown_pair_ue_s1ap_id;
|
||||
s1ap_eNB_generate_trace_failure(ue_desc_p, &trace_id, &cause);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p)
|
||||
int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *message_p)
|
||||
{
|
||||
// S1ap_DeactivateTraceIEs_t *deactivate_trace_p;
|
||||
// S1AP_DeactivateTraceIEs_t *deactivate_trace_p;
|
||||
//
|
||||
// deactivate_trace_p = &message_p->msg.deactivateTraceIEs;
|
||||
|
||||
|
||||
@@ -32,15 +32,15 @@
|
||||
// int s1ap_eNB_handle_trace_start(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
// int s1ap_eNB_handle_deactivate_trace(eNB_mme_desc_t *eNB_desc_p,
|
||||
// sctp_queue_item_t *packet_p,
|
||||
// struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
struct s1ap_message_s *message_p);
|
||||
int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
uint32_t stream,
|
||||
S1AP_S1AP_PDU_t *pdu);
|
||||
|
||||
#endif /* S1AP_ENB_TRACE_H_ */
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#ifdef CMAKER
|
||||
#include "SystemInformationBlockType2.h"
|
||||
#else
|
||||
#include "RRC/LITE/MESSAGES/SystemInformationBlockType2.h"
|
||||
#include "RRC/LTE/MESSAGES/SystemInformationBlockType2.h"
|
||||
#endif
|
||||
|
||||
#define IPV4_STR_ADDR_TO_INT_NWBO(AdDr_StR,NwBo,MeSsAgE ) do {\
|
||||
|
||||
@@ -29,140 +29,20 @@
|
||||
|
||||
#include "intertask_interface.h"
|
||||
#include "platform_types.h"
|
||||
#include "s1ap_ies_defs.h"
|
||||
#include "s1ap_eNB_decoder.h"
|
||||
#include "assertions.h"
|
||||
#include "play_scenario.h"
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int et_s1ap_decode_initiating_message(s1ap_message *message, S1ap_InitiatingMessage_t *initiating_p)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
DevAssert(initiating_p != NULL);
|
||||
|
||||
message->procedureCode = initiating_p->procedureCode;
|
||||
message->criticality = initiating_p->criticality;
|
||||
|
||||
switch(initiating_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_downlinkNASTransport:
|
||||
ret = s1ap_decode_s1ap_downlinknastransporties(&message->msg.s1ap_DownlinkNASTransportIEs,&initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||
ret = s1ap_decode_s1ap_initialcontextsetuprequesties(&message->msg.s1ap_InitialContextSetupRequestIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextRelease:
|
||||
ret = s1ap_decode_s1ap_uecontextreleasecommandies(&message->msg.s1ap_UEContextReleaseCommandIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_Paging:
|
||||
ret = s1ap_decode_s1ap_pagingies(&message->msg.s1ap_PagingIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_uplinkNASTransport:
|
||||
ret = s1ap_decode_s1ap_uplinknastransporties (&message->msg.s1ap_UplinkNASTransportIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_S1Setup:
|
||||
ret = s1ap_decode_s1ap_s1setuprequesties (&message->msg.s1ap_S1SetupRequestIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_initialUEMessage:
|
||||
ret = s1ap_decode_s1ap_initialuemessageies (&message->msg.s1ap_InitialUEMessageIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextReleaseRequest:
|
||||
ret = s1ap_decode_s1ap_uecontextreleaserequesties (&message->msg.s1ap_UEContextReleaseRequestIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UECapabilityInfoIndication:
|
||||
ret = s1ap_decode_s1ap_uecapabilityinfoindicationies (&message->msg.s1ap_UECapabilityInfoIndicationIEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_NASNonDeliveryIndication:
|
||||
ret = s1ap_decode_s1ap_nasnondeliveryindication_ies (&message->msg.s1ap_NASNonDeliveryIndication_IEs, &initiating_p->value);
|
||||
break;
|
||||
|
||||
default:
|
||||
AssertFatal( 0 , "Unknown procedure ID (%d) for initiating message\n",
|
||||
(int)initiating_p->procedureCode);
|
||||
return -1;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int et_s1ap_decode_successful_outcome(s1ap_message *message, S1ap_SuccessfulOutcome_t *successfullOutcome_p)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
DevAssert(successfullOutcome_p != NULL);
|
||||
|
||||
message->procedureCode = successfullOutcome_p->procedureCode;
|
||||
message->criticality = successfullOutcome_p->criticality;
|
||||
|
||||
switch(successfullOutcome_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_S1Setup:
|
||||
ret = s1ap_decode_s1ap_s1setupresponseies(
|
||||
&message->msg.s1ap_S1SetupResponseIEs, &successfullOutcome_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||
ret = s1ap_decode_s1ap_initialcontextsetupresponseies (&message->msg.s1ap_InitialContextSetupResponseIEs, &successfullOutcome_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextRelease:
|
||||
ret = s1ap_decode_s1ap_uecontextreleasecompleteies (&message->msg.s1ap_UEContextReleaseCompleteIEs, &successfullOutcome_p->value);
|
||||
break;
|
||||
|
||||
default:
|
||||
AssertFatal(0, "Unknown procedure ID (%d) for successfull outcome message\n",
|
||||
(int)successfullOutcome_p->procedureCode);
|
||||
return -1;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int et_s1ap_decode_unsuccessful_outcome(s1ap_message *message, S1ap_UnsuccessfulOutcome_t *unSuccessfullOutcome_p)
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
DevAssert(unSuccessfullOutcome_p != NULL);
|
||||
|
||||
message->procedureCode = unSuccessfullOutcome_p->procedureCode;
|
||||
message->criticality = unSuccessfullOutcome_p->criticality;
|
||||
|
||||
switch(unSuccessfullOutcome_p->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_S1Setup:
|
||||
ret = s1ap_decode_s1ap_s1setupfailureies(&message->msg.s1ap_S1SetupFailureIEs, &unSuccessfullOutcome_p->value);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||
ret = s1ap_decode_s1ap_initialcontextsetupfailureies (&message->msg.s1ap_InitialContextSetupFailureIEs, &unSuccessfullOutcome_p->value);
|
||||
break;
|
||||
|
||||
default:
|
||||
AssertFatal(0,"Unknown procedure ID (%d) for unsuccessfull outcome message\n",
|
||||
(int)unSuccessfullOutcome_p->procedureCode);
|
||||
break;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int et_s1ap_decode_pdu(S1AP_PDU_t * const pdu, s1ap_message * const message, const uint8_t * const buffer, const uint32_t length)
|
||||
int et_s1ap_decode_pdu(S1AP_PDU_t *const pdu, const uint8_t *const buffer, const uint32_t length)
|
||||
{
|
||||
asn_dec_rval_t dec_ret;
|
||||
|
||||
DevAssert(buffer != NULL);
|
||||
|
||||
memset((void *)pdu, 0, sizeof(S1AP_PDU_t));
|
||||
|
||||
memset((void *)pdu, 0, sizeof(S1AP_S1AP_PDU_t));
|
||||
dec_ret = aper_decode(NULL,
|
||||
&asn_DEF_S1AP_PDU,
|
||||
&asn_DEF_S1AP_S1AP_PDU,
|
||||
(void **)&pdu,
|
||||
buffer,
|
||||
length,
|
||||
@@ -174,32 +54,14 @@ int et_s1ap_decode_pdu(S1AP_PDU_t * const pdu, s1ap_message * const message, con
|
||||
return -1;
|
||||
}
|
||||
|
||||
message->direction = pdu->present;
|
||||
|
||||
switch(pdu->present) {
|
||||
case S1AP_PDU_PR_initiatingMessage:
|
||||
return et_s1ap_decode_initiating_message(message,
|
||||
&pdu->choice.initiatingMessage);
|
||||
|
||||
case S1AP_PDU_PR_successfulOutcome:
|
||||
return et_s1ap_decode_successful_outcome(message,
|
||||
&pdu->choice.successfulOutcome);
|
||||
|
||||
case S1AP_PDU_PR_unsuccessfulOutcome:
|
||||
return et_s1ap_decode_unsuccessful_outcome(message,
|
||||
&pdu->choice.unsuccessfulOutcome);
|
||||
|
||||
default:
|
||||
AssertFatal(0, "Unknown presence (%d) or not implemented\n", (int)pdu->present);
|
||||
break;
|
||||
}
|
||||
return -1;
|
||||
return dec_ret.code;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void et_decode_s1ap(et_s1ap_t * const s1ap)
|
||||
void et_decode_s1ap(et_s1ap_t *const s1ap)
|
||||
{
|
||||
if (NULL != s1ap) {
|
||||
if (et_s1ap_decode_pdu(&s1ap->pdu, &s1ap->message, s1ap->binary_stream, s1ap->binary_stream_allocated_size) < 0) {
|
||||
if (et_s1ap_decode_pdu(&s1ap->pdu, s1ap->binary_stream, s1ap->binary_stream_allocated_size) < 0) {
|
||||
AssertFatal (0, "ERROR %s() Cannot decode S1AP message!\n", __FUNCTION__);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,15 +181,15 @@ void et_s1ap_eNB_itti_send_sctp_data_req(instance_t instance, int32_t assoc_id,
|
||||
//------------------------------------------------------------------------------
|
||||
int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t * const spacket, et_packet_t * const rx_packet)
|
||||
{
|
||||
S1ap_MME_UE_S1AP_ID_t scenario_mme_ue_s1ap_id = 0;
|
||||
S1ap_MME_UE_S1AP_ID_t rx_mme_ue_s1ap_id = 0;
|
||||
S1AP_MME_UE_S1AP_ID_t scenario_mme_ue_s1ap_id = 0;
|
||||
S1AP_MME_UE_S1AP_ID_t rx_mme_ue_s1ap_id = 0;
|
||||
S1AP_PDU_PR present;
|
||||
|
||||
present = rx_packet->sctp_hdr.u.data_hdr.payload.pdu.present;
|
||||
|
||||
switch (rx_packet->sctp_hdr.u.data_hdr.payload.message.procedureCode) {
|
||||
case S1ap_ProcedureCode_id_HandoverPreparation:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
case S1AP_ProcedureCode_id_HandoverPreparation:
|
||||
if (present == S1AP_S1AP_PDU_PR_initiatingMessage) {
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequiredIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequiredIEs.mme_ue_s1ap_id;
|
||||
} else {
|
||||
@@ -198,36 +198,36 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t * const spacket, et_packe
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_HandoverResourceAllocation:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
case S1AP_ProcedureCode_id_HandoverResourceAllocation:
|
||||
if (present == S1AP_S1AP_PDU_PR_initiatingMessage) {
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestIEs.mme_ue_s1ap_id;
|
||||
} else if (present == S1AP_PDU_PR_successfulOutcome) {
|
||||
} else if (present == S1AP_S1AP_PDU_PR_successfulOutcome) {
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestAcknowledgeIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverRequestAcknowledgeIEs.mme_ue_s1ap_id;
|
||||
} else if (present == S1AP_PDU_PR_unsuccessfulOutcome) {
|
||||
} else if (present == S1AP_S1AP_PDU_PR_unsuccessfulOutcome) {
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverFailureIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverFailureIEs.mme_ue_s1ap_id;
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_HandoverNotification:
|
||||
case S1AP_ProcedureCode_id_HandoverNotification:
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverNotifyIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverNotifyIEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_PathSwitchRequest:
|
||||
case S1AP_ProcedureCode_id_PathSwitchRequest:
|
||||
//rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_PathSwitchRequestIEs.mme_ue_s1ap_id;
|
||||
//scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_PathSwitchRequestIEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_HandoverCancel:
|
||||
case S1AP_ProcedureCode_id_HandoverCancel:
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverCancelIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_HandoverCancelIEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABSetup:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
case S1AP_ProcedureCode_id_E_RABSetup:
|
||||
if (present == S1AP_S1AP_PDU_PR_initiatingMessage) {
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABSetupRequestIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_E_RABSetupRequestIEs.mme_ue_s1ap_id;
|
||||
} else {
|
||||
@@ -456,29 +456,29 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t * const spacket, et_packe
|
||||
}*/
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_eNBDirectInformationTransfer:
|
||||
case S1AP_ProcedureCode_id_eNBDirectInformationTransfer:
|
||||
//rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBDirectInformationTransferIEs.mme_ue_s1ap_id;
|
||||
//scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_ENBDirectInformationTransferIEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_MMEDirectInformationTransfer:
|
||||
case S1AP_ProcedureCode_id_MMEDirectInformationTransfer:
|
||||
//rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEDirectInformationTransferIEs.mme_ue_s1ap_id;
|
||||
//scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_MMEDirectInformationTransferIEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_PrivateMessage:
|
||||
case S1ap_ProcedureCode_id_eNBConfigurationTransfer:
|
||||
case S1ap_ProcedureCode_id_MMEConfigurationTransfer:
|
||||
case S1AP_ProcedureCode_id_PrivateMessage:
|
||||
case S1AP_ProcedureCode_id_eNBConfigurationTransfer:
|
||||
case S1AP_ProcedureCode_id_MMEConfigurationTransfer:
|
||||
AssertFatal(0, "TODO");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_CellTrafficTrace:
|
||||
case S1AP_ProcedureCode_id_CellTrafficTrace:
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_CellTrafficTraceIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_CellTrafficTraceIEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_Kill:
|
||||
/*if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
case S1AP_ProcedureCode_id_Kill:
|
||||
/*if (present == S1AP_S1AP_PDU_PR_initiatingMessage) {
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_KillRequestIEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_KillRequestIEs.mme_ue_s1ap_id;
|
||||
} else {
|
||||
@@ -487,22 +487,22 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t * const spacket, et_packe
|
||||
}*/
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_downlinkUEAssociatedLPPaTransport:
|
||||
case S1AP_ProcedureCode_id_downlinkUEAssociatedLPPaTransport:
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_uplinkUEAssociatedLPPaTransport:
|
||||
case S1AP_ProcedureCode_id_uplinkUEAssociatedLPPaTransport:
|
||||
rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_downlinkNonUEAssociatedLPPaTransport:
|
||||
case S1AP_ProcedureCode_id_downlinkNonUEAssociatedLPPaTransport:
|
||||
//rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
//scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_DownlinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_uplinkNonUEAssociatedLPPaTransport:
|
||||
case S1AP_ProcedureCode_id_uplinkNonUEAssociatedLPPaTransport:
|
||||
//rx_mme_ue_s1ap_id = rx_packet->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
//scenario_mme_ue_s1ap_id = spacket->sctp_hdr.u.data_hdr.payload.message.msg.s1ap_UplinkNonUEAssociatedLPPaTransport_IEs.mme_ue_s1ap_id;
|
||||
break;
|
||||
@@ -510,9 +510,11 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t * const spacket, et_packe
|
||||
default:
|
||||
AssertFatal(0, "Unknown procedure code %ld", rx_packet->sctp_hdr.u.data_hdr.payload.message.procedureCode);
|
||||
}
|
||||
|
||||
if (scenario_mme_ue_s1ap_id != rx_mme_ue_s1ap_id) {
|
||||
S1AP_DEBUG("%s() Updating mme_ue_s1ap_id %u -> %u \n", __FUNCTION__, scenario_mme_ue_s1ap_id, rx_mme_ue_s1ap_id);
|
||||
et_packet_t * p = spacket;
|
||||
et_packet_t *p = spacket;
|
||||
|
||||
while (p) {
|
||||
et_s1ap_update_mme_ue_s1ap_id(p, scenario_mme_ue_s1ap_id, rx_mme_ue_s1ap_id);
|
||||
p = p->next;
|
||||
@@ -672,8 +674,9 @@ int et_s1ap_process_rx_packet(et_event_s1ap_data_ind_t * const s1ap_data_ind)
|
||||
packet->packet_number, packet->original_frame_number);
|
||||
while (comp_results) {
|
||||
S1AP_DEBUG("Result err code %s(%u) ASN1 struct name %s\n",
|
||||
et_error_match2str(comp_results->err_code), comp_results->err_code, comp_results->name);
|
||||
// (each asn1 rc <= 166 (enum e_S1ap_ProtocolIE_ID, in generated file S1ap_ProtocolIE_ID.h))
|
||||
et_error_match2str(comp_results->err_code), comp_results->err_code, comp_results->name);
|
||||
|
||||
// (each asn1 rc <= 166 (enum e_S1AP_ProtocolIE_ID, in generated file S1AP_ProtocolIE_ID.h))
|
||||
if (comp_results->err_code == COMPARE_ERR_CODE_NO_MATCH) {
|
||||
//TODO MME_UE_S1AP_ID, etc.
|
||||
// get latest error code
|
||||
|
||||
@@ -56,400 +56,9 @@ extern et_scenario_t *g_scenario;
|
||||
extern uint32_t g_constraints;
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
asn_comp_rval_t * et_s1ap_ies_is_matching(const S1AP_PDU_PR present, s1ap_message * const m1, s1ap_message * const m2, const uint32_t constraints)
|
||||
{
|
||||
asn_comp_rval_t *ret = NULL;
|
||||
AssertFatal(m1 != NULL, "bad parameter m1");
|
||||
AssertFatal(m2 != NULL, "bad parameter m2");
|
||||
AssertFatal((present == S1AP_PDU_PR_initiatingMessage) ||
|
||||
(present == S1AP_PDU_PR_successfulOutcome) ||
|
||||
(present == S1AP_PDU_PR_unsuccessfulOutcome) , "Bad parameter S1AP_PDU_PR present ");
|
||||
AssertFatal( m1->procedureCode == m2->procedureCode, "Bad parameters: no matching procedure codes");
|
||||
|
||||
|
||||
// some cases can never occur since uplink only.
|
||||
switch (m1->procedureCode) {
|
||||
case S1ap_ProcedureCode_id_HandoverPreparation:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_handoverrequiredies(
|
||||
&m1->msg.s1ap_HandoverRequiredIEs,
|
||||
&m2->msg.s1ap_HandoverRequiredIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_handovercommandies(
|
||||
&m1->msg.s1ap_HandoverCommandIEs,
|
||||
&m2->msg.s1ap_HandoverCommandIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_HandoverResourceAllocation:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_handoverrequesties(
|
||||
&m1->msg.s1ap_HandoverRequestIEs,
|
||||
&m2->msg.s1ap_HandoverRequestIEs);
|
||||
} else if (present == S1AP_PDU_PR_successfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_handoverrequestacknowledgeies(
|
||||
&m1->msg.s1ap_HandoverRequestAcknowledgeIEs,
|
||||
&m2->msg.s1ap_HandoverRequestAcknowledgeIEs);
|
||||
} else if (present == S1AP_PDU_PR_unsuccessfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_handoverfailureies(
|
||||
&m1->msg.s1ap_HandoverFailureIEs,
|
||||
&m2->msg.s1ap_HandoverFailureIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_HandoverNotification:
|
||||
ret = s1ap_compare_s1ap_handovernotifyies(
|
||||
&m1->msg.s1ap_HandoverNotifyIEs,
|
||||
&m2->msg.s1ap_HandoverNotifyIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_PathSwitchRequest:
|
||||
ret = s1ap_compare_s1ap_pathswitchrequesties(
|
||||
&m1->msg.s1ap_PathSwitchRequestIEs,
|
||||
&m2->msg.s1ap_PathSwitchRequestIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_HandoverCancel:
|
||||
ret = s1ap_compare_s1ap_handovercancelies(
|
||||
&m1->msg.s1ap_HandoverCancelIEs,
|
||||
&m2->msg.s1ap_HandoverCancelIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABSetup:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_e_rabsetuprequesties(
|
||||
&m1->msg.s1ap_E_RABSetupRequestIEs,
|
||||
&m2->msg.s1ap_E_RABSetupRequestIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_e_rabsetupresponseies(
|
||||
&m1->msg.s1ap_E_RABSetupResponseIEs,
|
||||
&m2->msg.s1ap_E_RABSetupResponseIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABModify:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_e_rabmodifyrequesties(
|
||||
&m1->msg.s1ap_E_RABModifyRequestIEs,
|
||||
&m2->msg.s1ap_E_RABModifyRequestIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_e_rabmodifyresponseies(
|
||||
&m1->msg.s1ap_E_RABModifyResponseIEs,
|
||||
&m2->msg.s1ap_E_RABModifyResponseIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABRelease:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_e_rabreleasecommandies(
|
||||
&m1->msg.s1ap_E_RABReleaseCommandIEs,
|
||||
&m2->msg.s1ap_E_RABReleaseCommandIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_e_rabreleaseresponseies(
|
||||
&m1->msg.s1ap_E_RABReleaseResponseIEs,
|
||||
&m2->msg.s1ap_E_RABReleaseResponseIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_E_RABReleaseIndication:
|
||||
ret = s1ap_compare_s1ap_e_rabreleaseindicationies(
|
||||
&m1->msg.s1ap_E_RABReleaseIndicationIEs,
|
||||
&m2->msg.s1ap_E_RABReleaseIndicationIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_InitialContextSetup:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_initialcontextsetuprequesties(
|
||||
&m1->msg.s1ap_InitialContextSetupRequestIEs,
|
||||
&m2->msg.s1ap_InitialContextSetupRequestIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_initialcontextsetupresponseies(
|
||||
&m1->msg.s1ap_InitialContextSetupResponseIEs,
|
||||
&m2->msg.s1ap_InitialContextSetupResponseIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_Paging:
|
||||
ret = s1ap_compare_s1ap_pagingies(
|
||||
&m1->msg.s1ap_PagingIEs,
|
||||
&m2->msg.s1ap_PagingIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_downlinkNASTransport:
|
||||
ret = s1ap_compare_s1ap_downlinknastransporties(
|
||||
&m1->msg.s1ap_DownlinkNASTransportIEs,
|
||||
&m2->msg.s1ap_DownlinkNASTransportIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_initialUEMessage:
|
||||
ret = s1ap_compare_s1ap_initialuemessageies(
|
||||
&m1->msg.s1ap_InitialUEMessageIEs,
|
||||
&m2->msg.s1ap_InitialUEMessageIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_uplinkNASTransport:
|
||||
ret = s1ap_compare_s1ap_uplinknastransporties(
|
||||
&m1->msg.s1ap_UplinkNASTransportIEs,
|
||||
&m2->msg.s1ap_UplinkNASTransportIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_Reset:
|
||||
ret = s1ap_compare_s1ap_reseties(
|
||||
&m1->msg.s1ap_ResetIEs,
|
||||
&m2->msg.s1ap_ResetIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_ErrorIndication:
|
||||
ret = s1ap_compare_s1ap_errorindicationies(
|
||||
&m1->msg.s1ap_ErrorIndicationIEs,
|
||||
&m2->msg.s1ap_ErrorIndicationIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_NASNonDeliveryIndication:
|
||||
ret = s1ap_compare_s1ap_nasnondeliveryindication_ies(
|
||||
&m1->msg.s1ap_NASNonDeliveryIndication_IEs,
|
||||
&m2->msg.s1ap_NASNonDeliveryIndication_IEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_S1Setup:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_s1setuprequesties(
|
||||
&m1->msg.s1ap_S1SetupRequestIEs,
|
||||
&m2->msg.s1ap_S1SetupRequestIEs);
|
||||
} else if (present == S1AP_PDU_PR_successfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_s1setupresponseies(
|
||||
&m1->msg.s1ap_S1SetupResponseIEs,
|
||||
&m2->msg.s1ap_S1SetupResponseIEs);
|
||||
} else if (present == S1AP_PDU_PR_unsuccessfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_s1setupfailureies(
|
||||
&m1->msg.s1ap_S1SetupFailureIEs,
|
||||
&m2->msg.s1ap_S1SetupFailureIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextReleaseRequest:
|
||||
ret = s1ap_compare_s1ap_uecontextreleaserequesties(
|
||||
&m1->msg.s1ap_UEContextReleaseRequestIEs,
|
||||
&m2->msg.s1ap_UEContextReleaseRequestIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_DownlinkS1cdma2000tunneling:
|
||||
ret = s1ap_compare_s1ap_downlinks1cdma2000tunnelingies(
|
||||
&m1->msg.s1ap_DownlinkS1cdma2000tunnelingIEs,
|
||||
&m2->msg.s1ap_DownlinkS1cdma2000tunnelingIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UplinkS1cdma2000tunneling:
|
||||
ret = s1ap_compare_s1ap_uplinks1cdma2000tunnelingies(
|
||||
&m1->msg.s1ap_UplinkS1cdma2000tunnelingIEs,
|
||||
&m2->msg.s1ap_UplinkS1cdma2000tunnelingIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextModification:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_uecontextmodificationrequesties(
|
||||
&m1->msg.s1ap_UEContextModificationRequestIEs,
|
||||
&m2->msg.s1ap_UEContextModificationRequestIEs);
|
||||
} else if (present == S1AP_PDU_PR_successfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_uecontextmodificationresponseies(
|
||||
&m1->msg.s1ap_UEContextModificationResponseIEs,
|
||||
&m2->msg.s1ap_UEContextModificationResponseIEs);
|
||||
} else if (present == S1AP_PDU_PR_unsuccessfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_uecontextmodificationfailureies(
|
||||
&m1->msg.s1ap_UEContextModificationFailureIEs,
|
||||
&m2->msg.s1ap_UEContextModificationFailureIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UECapabilityInfoIndication:
|
||||
ret = s1ap_compare_s1ap_uecapabilityinfoindicationies(
|
||||
&m1->msg.s1ap_UECapabilityInfoIndicationIEs,
|
||||
&m2->msg.s1ap_UECapabilityInfoIndicationIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_UEContextRelease:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_uecontextreleasecommandies(
|
||||
&m1->msg.s1ap_UEContextReleaseCommandIEs,
|
||||
&m2->msg.s1ap_UEContextReleaseCommandIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_uecontextreleasecompleteies(
|
||||
&m1->msg.s1ap_UEContextReleaseCompleteIEs,
|
||||
&m2->msg.s1ap_UEContextReleaseCompleteIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_eNBStatusTransfer:
|
||||
ret = s1ap_compare_s1ap_enbstatustransferies(
|
||||
&m1->msg.s1ap_ENBStatusTransferIEs,
|
||||
&m2->msg.s1ap_ENBStatusTransferIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_MMEStatusTransfer:
|
||||
ret = s1ap_compare_s1ap_mmestatustransferies(
|
||||
&m1->msg.s1ap_MMEStatusTransferIEs,
|
||||
&m2->msg.s1ap_MMEStatusTransferIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_DeactivateTrace:
|
||||
ret = s1ap_compare_s1ap_deactivatetraceies(
|
||||
&m1->msg.s1ap_DeactivateTraceIEs,
|
||||
&m2->msg.s1ap_DeactivateTraceIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_TraceStart:
|
||||
ret = s1ap_compare_s1ap_tracestarties(
|
||||
&m1->msg.s1ap_TraceStartIEs,
|
||||
&m2->msg.s1ap_TraceStartIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_TraceFailureIndication:
|
||||
ret = s1ap_compare_s1ap_tracefailureindicationies(
|
||||
&m1->msg.s1ap_TraceFailureIndicationIEs,
|
||||
&m2->msg.s1ap_TraceFailureIndicationIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_ENBConfigurationUpdate:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_enbconfigurationupdateies(
|
||||
&m1->msg.s1ap_ENBConfigurationUpdateIEs,
|
||||
&m2->msg.s1ap_ENBConfigurationUpdateIEs);
|
||||
} else if (present == S1AP_PDU_PR_successfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_enbconfigurationupdateacknowledgeies(
|
||||
&m1->msg.s1ap_ENBConfigurationUpdateAcknowledgeIEs,
|
||||
&m2->msg.s1ap_ENBConfigurationUpdateAcknowledgeIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_enbconfigurationupdatefailureies(
|
||||
&m1->msg.s1ap_ENBConfigurationUpdateFailureIEs,
|
||||
&m2->msg.s1ap_ENBConfigurationUpdateFailureIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_MMEConfigurationUpdate:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_mmeconfigurationupdateies(
|
||||
&m1->msg.s1ap_MMEConfigurationUpdateIEs,
|
||||
&m2->msg.s1ap_MMEConfigurationUpdateIEs);
|
||||
} else if (present == S1AP_PDU_PR_successfulOutcome) {
|
||||
ret = s1ap_compare_s1ap_mmeconfigurationupdateacknowledgeies(
|
||||
&m1->msg.s1ap_MMEConfigurationUpdateAcknowledgeIEs,
|
||||
&m2->msg.s1ap_MMEConfigurationUpdateAcknowledgeIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_mmeconfigurationupdatefailureies(
|
||||
&m1->msg.s1ap_MMEConfigurationUpdateFailureIEs,
|
||||
&m2->msg.s1ap_MMEConfigurationUpdateFailureIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_LocationReportingControl:
|
||||
ret = s1ap_compare_s1ap_locationreportingcontrolies(
|
||||
&m1->msg.s1ap_LocationReportingControlIEs,
|
||||
&m2->msg.s1ap_LocationReportingControlIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_LocationReportingFailureIndication:
|
||||
ret = s1ap_compare_s1ap_locationreportingfailureindicationies(
|
||||
&m1->msg.s1ap_LocationReportingFailureIndicationIEs,
|
||||
&m2->msg.s1ap_LocationReportingFailureIndicationIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_LocationReport:
|
||||
ret = s1ap_compare_s1ap_locationreporties(
|
||||
&m1->msg.s1ap_LocationReportIEs,
|
||||
&m2->msg.s1ap_LocationReportIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_OverloadStart:
|
||||
ret = s1ap_compare_s1ap_overloadstarties(
|
||||
&m1->msg.s1ap_OverloadStartIEs,
|
||||
&m2->msg.s1ap_OverloadStartIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_OverloadStop:
|
||||
ret = s1ap_compare_s1ap_overloadstopies(
|
||||
&m1->msg.s1ap_OverloadStopIEs,
|
||||
&m2->msg.s1ap_OverloadStopIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_WriteReplaceWarning:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_writereplacewarningrequesties(
|
||||
&m1->msg.s1ap_WriteReplaceWarningRequestIEs,
|
||||
&m2->msg.s1ap_WriteReplaceWarningRequestIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_writereplacewarningresponseies(
|
||||
&m1->msg.s1ap_WriteReplaceWarningResponseIEs,
|
||||
&m2->msg.s1ap_WriteReplaceWarningResponseIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_eNBDirectInformationTransfer:
|
||||
ret = s1ap_compare_s1ap_enbdirectinformationtransferies(
|
||||
&m1->msg.s1ap_ENBDirectInformationTransferIEs,
|
||||
&m2->msg.s1ap_ENBDirectInformationTransferIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_MMEDirectInformationTransfer:
|
||||
|
||||
ret = s1ap_compare_s1ap_mmedirectinformationtransferies(
|
||||
&m1->msg.s1ap_MMEDirectInformationTransferIEs,
|
||||
&m2->msg.s1ap_MMEDirectInformationTransferIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_PrivateMessage:
|
||||
case S1ap_ProcedureCode_id_eNBConfigurationTransfer:
|
||||
case S1ap_ProcedureCode_id_MMEConfigurationTransfer:
|
||||
AssertFatal(0, "TODO");
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_CellTrafficTrace:
|
||||
ret = s1ap_compare_s1ap_celltraffictraceies(
|
||||
&m1->msg.s1ap_CellTrafficTraceIEs,
|
||||
&m2->msg.s1ap_CellTrafficTraceIEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_Kill:
|
||||
if (present == S1AP_PDU_PR_initiatingMessage) {
|
||||
ret = s1ap_compare_s1ap_killrequesties(
|
||||
&m1->msg.s1ap_KillRequestIEs,
|
||||
&m2->msg.s1ap_KillRequestIEs);
|
||||
} else {
|
||||
ret = s1ap_compare_s1ap_killresponseies(
|
||||
&m1->msg.s1ap_KillResponseIEs,
|
||||
&m2->msg.s1ap_KillResponseIEs);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_downlinkUEAssociatedLPPaTransport:
|
||||
ret = s1ap_compare_s1ap_downlinkueassociatedlppatransport_ies(
|
||||
&m1->msg.s1ap_DownlinkUEAssociatedLPPaTransport_IEs,
|
||||
&m2->msg.s1ap_DownlinkUEAssociatedLPPaTransport_IEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_uplinkUEAssociatedLPPaTransport:
|
||||
ret = s1ap_compare_s1ap_uplinkueassociatedlppatransport_ies(
|
||||
&m1->msg.s1ap_UplinkUEAssociatedLPPaTransport_IEs,
|
||||
&m2->msg.s1ap_UplinkUEAssociatedLPPaTransport_IEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_downlinkNonUEAssociatedLPPaTransport:
|
||||
ret = s1ap_compare_s1ap_downlinknonueassociatedlppatransport_ies(
|
||||
&m1->msg.s1ap_DownlinkNonUEAssociatedLPPaTransport_IEs,
|
||||
&m2->msg.s1ap_DownlinkNonUEAssociatedLPPaTransport_IEs);
|
||||
break;
|
||||
|
||||
case S1ap_ProcedureCode_id_uplinkNonUEAssociatedLPPaTransport:
|
||||
ret = s1ap_compare_s1ap_uplinknonueassociatedlppatransport_ies(
|
||||
&m1->msg.s1ap_UplinkNonUEAssociatedLPPaTransport_IEs,
|
||||
&m2->msg.s1ap_UplinkNonUEAssociatedLPPaTransport_IEs);
|
||||
break;
|
||||
|
||||
default:
|
||||
AssertFatal(0, "Unknown procedure code %ld", m1->procedureCode);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
//asn_comp_rval_t * et_s1ap_ies_is_matching(const S1AP_PDU_PR present, s1ap_message * const m1, s1ap_message * const m2, const uint32_t constraints)
|
||||
//{
|
||||
//}
|
||||
|
||||
void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t * const s1ap, xmlNode *node, const S1ap_MME_UE_S1AP_ID_t new_id)
|
||||
{
|
||||
@@ -583,8 +192,6 @@ void update_xpath_nodes_mme_ue_s1ap_id(et_s1ap_t * const s1ap_payload, xmlNodeSe
|
||||
//------------------------------------------------------------------------------
|
||||
int et_s1ap_update_mme_ue_s1ap_id(et_packet_t * const packet, const S1ap_MME_UE_S1AP_ID_t old_id, const S1ap_MME_UE_S1AP_ID_t new_id)
|
||||
{
|
||||
|
||||
|
||||
xmlChar xpath_expression[ET_XPATH_EXPRESSION_MAX_LENGTH];
|
||||
int ret = 0;
|
||||
xmlDocPtr doc = NULL;
|
||||
|
||||
@@ -35,7 +35,6 @@
|
||||
#include "s1ap_common.h"
|
||||
#include "s1ap_eNB.h"
|
||||
#include "s1ap_mme.h"
|
||||
#include "s1ap_ies_defs.h"
|
||||
|
||||
char ip_addr[] = "127.0.0.1";
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user