Merge remote-tracking branch 'origin/develop' into develop-nr

Conflicts:
	ci-scripts/Jenkinsfile-gitlab
	ci-scripts/buildOnVM.sh
	ci-scripts/checkCodingFormattingRules.sh
	ci-scripts/createVM.sh
	ci-scripts/destroyAllRunningVM.sh
	ci-scripts/reportBuildLocally.sh
	cmake_targets/CMakeLists.txt
	cmake_targets/build_oai
	cmake_targets/tools/build_helper
	common/utils/LOG/log.h
	openair1/PHY/LTE_ESTIMATION/lte_sync_timefreq.c
	openair1/PHY/TOOLS/file_output.c
	openair1/PHY/TOOLS/lte_dfts.c
	openair1/PHY/TOOLS/tools_defs.h
	openair1/PHY/defs_eNB.h
	openair1/PHY/impl_defs_lte.h
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/COMMON/platform_constants.h
	openair2/COMMON/platform_types.h
	openair2/LAYER2/MAC/eNB_scheduler.c
	openair2/LAYER2/MAC/main.c
	openair2/RRC/LTE/L2_interface.c
	openair2/RRC/LTE/MESSAGES/asn1_msg.c
	openair2/RRC/LTE/MESSAGES/asn1_msg_NB_IoT.c
	openair2/RRC/LTE/rrc_UE.c
	openair2/RRC/LTE/rrc_eNB.c
	openair2/RRC/LTE/rrc_eNB_S1AP.c
	openair2/UTIL/LOG/log.c
	openair3/S1AP/s1ap_common.h
	openair3/S1AP/s1ap_eNB.c
	openair3/S1AP/s1ap_eNB_context_management_procedures.c
	openair3/S1AP/s1ap_eNB_decoder.c
	openair3/S1AP/s1ap_eNB_decoder.h
	openair3/S1AP/s1ap_eNB_handlers.c
	openair3/S1AP/s1ap_eNB_nas_procedures.c
	openair3/S1AP/s1ap_eNB_overload.c
	openair3/S1AP/s1ap_eNB_trace.c
	openair3/TEST/EPC_TEST/play_scenario_decode.c
	openair3/TEST/EPC_TEST/play_scenario_s1ap.c
	openair3/TEST/EPC_TEST/play_scenario_s1ap_compare_ie.c
	targets/COMMON/openairinterface5g_limits.h
	targets/PROJECTS/GENERIC-LTE-EPC/CONF/enb.band7.tm1.50PRB.usrpb210.conf
	targets/RT/USER/lte-ran.c
	targets/RT/USER/lte-ru.c
	targets/RT/USER/lte-ue.c
	targets/SIMU/USER/oaisim_functions.c
This commit is contained in:
Raymond Knopp
2018-08-25 18:20:44 +02:00
686 changed files with 259126 additions and 776966 deletions
+1
View File
@@ -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)
-9
View File
@@ -31,10 +31,6 @@
#include <stdint.h>
#include <inttypes.h>
#if 0
#include "queue.h"
#endif
#ifndef SECURITY_TYPES_H_
#define SECURITY_TYPES_H_
@@ -113,11 +109,6 @@ typedef struct eutran_vector_s {
res_t xres;
uint8_t autn[AUTN_LENGTH_OCTETS];
uint8_t kasme[KASME_LENGTH_OCTETS];
/* one UE can have multiple vectors so use STAILQ lists for easy management */
#if 0
STAILQ_ENTRY(eutran_vector_s) entries;
#endif
} eutran_vector_t;
#define FC_KASME (0x10)
+14 -3
View File
@@ -44,10 +44,10 @@
#include "gtpv1u_eNB_defs.h"
#include "gtpv1_u_messages_types.h"
#include "udp_eNB_task.h"
#include "UTIL/LOG/log.h"
#include "common/utils/LOG/log.h"
#include "COMMON/platform_types.h"
#include "COMMON/platform_constants.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "common/ran_context.h"
#include "gtpv1u_eNB_defs.h"
@@ -62,6 +62,13 @@ extern boolean_t pdcp_data_req(
const confirm_t confirmP,
const sdu_size_t sdu_buffer_sizeP,
unsigned char *const sdu_buffer_pP,
const pdcp_transmission_mode_t modeP
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,const uint32_t * const sourceL2Id
,const uint32_t * const destinationL2Id
#endif
);
const pdcp_transmission_mode_t modeP);
*/
extern unsigned char NB_eNB_INST;
@@ -355,7 +362,11 @@ NwGtpv1uRcT gtpv1u_eNB_process_stack_req(
SDU_CONFIRM_NO, // confirm
buffer_len,
buffer,
PDCP_TRANSMISSION_MODE_DATA);
PDCP_TRANSMISSION_MODE_DATA
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0))
,NULL, NULL
#endif
);
if ( result == FALSE ) {
+1 -1
View File
@@ -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_
+2 -2
View File
@@ -51,8 +51,8 @@
#include "gtpv1u.h"
#if defined(ENB_MODE)
#include "UTIL/LOG/log.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#endif
#ifdef __cplusplus
+1 -1
View File
@@ -46,7 +46,7 @@
#include "gtpv1u.h"
#if defined(ENB_MODE)
#include "UTIL/LOG/log.h"
#include "common/utils/LOG/log.h"
#endif
#define NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE (12) /**< Size of GTPv1u EPC specific header */
@@ -144,10 +144,8 @@ int network_api_initialize(const char* host, const char* port)
#endif
if (_network_api_id.endpoint == NULL) {
const char* error = ( (errno < 0) ?
gai_strerror(errno) : strerror(errno) );
LOG_TRACE(ERROR, "NET-API - Failed to open connection endpoint, %s",
error);
((errno < 0) ? gai_strerror(errno) : strerror(errno)));
LOG_FUNC_RETURN (RETURNerror);
}
@@ -290,31 +290,6 @@ int encode_activate_default_eps_bearer_context_request(activate_default_eps_bear
encoded += encode_result;
}
#if 0 /* LW: force Protocol Configuration Options to be included in the ESM message */
{
#define CONFIGURATION_PROTOCOL_PPP 0
#define PROTOCOL_ID_IPCP 0x8021
#define PROTOCOL_ID_DNS_SERVER_IPV4_ADDRESS 0x000D
/* Force this item to be present */
activate_default_eps_bearer_context_request->presencemask |= ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT;
/* Fill this item with data from PFT trace */
activate_default_eps_bearer_context_request->protocolconfigurationoptions.configurationprotol = CONFIGURATION_PROTOCOL_PPP;
activate_default_eps_bearer_context_request->protocolconfigurationoptions.protocolid = PROTOCOL_ID_IPCP;
activate_default_eps_bearer_context_request->protocolconfigurationoptions.lengthofprotocolid = 16; /* Size of PROTOCOL_ID_IPCP */
activate_default_eps_bearer_context_request->protocolconfigurationoptions.protocolidcontents.value = (uint8_t *)
/* PROTOCOL_ID_IPCP data */
"\x03\x00\x00\x10\x81\x06\xC0\xA8\x0C\x64\x83\x06\xC0\xA8\x6A\x0C";
/* Additional parameters PROTOCOL_ID_DNS_SERVER_IPV4_ADDRESS data */
//"\x00\x0d\x04\x52\x61\x00\x78"
/* Additional parameters PROTOCOL_ID_DNS_SERVER_IPV4_ADDRESS data */
//"\x00\x0d\x04\x52\x61\x01\x78";
//activate_default_eps_bearer_context_request->protocolconfigurationoptions.protocolidcontents.length = 16 + 7 + 7;
activate_default_eps_bearer_context_request->protocolconfigurationoptions.protocolidcontents.length = 16;
}
#endif
if ((activate_default_eps_bearer_context_request->presencemask & ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT)
== ACTIVATE_DEFAULT_EPS_BEARER_CONTEXT_REQUEST_PROTOCOL_CONFIGURATION_OPTIONS_PRESENT) {
if ((encode_result =
@@ -86,10 +86,6 @@ int encode_esm_message_container(EsmMessageContainer *esmmessagecontainer, uint8
encoded += encode_result;
ENCODE_U16(lenPtr, encode_result, encoded);
#if 0
lenPtr[1] = (((encoded - 2 - ((iei > 0) ? 1: 0))) & 0x0000ff00) >> 8;
lenPtr[0] = ((encoded - 2 - ((iei > 0) ? 1: 0))) & 0x000000ff;
#endif
return encoded;
}
-31
View File
@@ -97,37 +97,6 @@ typedef struct imeisv_s{
uint8_t parity:4;
} imeisv_t;
#if 0
typedef struct imeisv_s {
uint8_t length;
union {
struct {
uint8_t tac2:4;
uint8_t tac1:4;
uint8_t tac4:4;
uint8_t tac3:4;
uint8_t tac6:4;
uint8_t tac5:4;
uint8_t tac8:4;
uint8_t tac7:4;
uint8_t snr2:4;
uint8_t snr1:4;
uint8_t snr4:4;
uint8_t snr3:4;
uint8_t snr6:4;
uint8_t snr5:4;
uint8_t svn2:4;
uint8_t svn1:4;
#define EVEN_PARITY 0
#define IMEI_ODD_PARITY 0xf
uint8_t parity:4;
} num;
#define IMEISV_BCD8_SIZE 9
uint8_t value[IMEISV_BCD8_SIZE];
} u;
} imeisv_t;
#endif
typedef ImsiMobileIdentity_t ImeiMobileIdentity_t;
typedef imeisv_t ImeisvMobileIdentity_t;
typedef ImsiMobileIdentity_t TmsiMobileIdentity_t;
-12
View File
@@ -175,16 +175,6 @@ void device_close(void* id)
ssize_t device_read(void* id, char* buffer, size_t len)
{
const device_id_t* devid = (device_id_t*)(id);
#if 0
ssize_t rbytes = read(devid->fd, buffer, len);
if (rbytes < 0) {
return RETURNerror;
}
#endif
//#if 0
ssize_t rbytes = 0;
do {
@@ -198,8 +188,6 @@ ssize_t device_read(void* id, char* buffer, size_t len)
} while ( (buffer[rbytes-1] != '\r') && (buffer[rbytes-1] != '\n')
&& (buffer[rbytes-1] != '\0') );
//#endif
return rbytes;
}
+1 -1
View File
@@ -39,7 +39,7 @@ Description Usefull logging functions
#define __NAS_LOG_H__
#if defined(NAS_BUILT_IN_UE) && defined(NAS_UE)
# include "UTIL/LOG/log.h"
# include "common/utils/LOG/log.h"
# undef LOG_TRACE
#endif
-11
View File
@@ -314,17 +314,6 @@ typedef struct {
*/
#define TAI_LIST_T(SIZE) struct {Byte_t n_tais; tai_t tai[SIZE];}
#if 0
/*
* User notification callback, executed whenever a change of data with
* respect of network information (e.g. network registration and/or
* location change, new PLMN becomes available) is notified by the
* EPS Mobility Management sublayer
*/
typedef int (*emm_indication_callback_t) (Stat_t, tac_t, ci_t, AcT_t,
const char*, size_t);
#endif
typedef enum eps_protocol_discriminator_e {
/* Protocol discriminator identifier for EPS Mobility Management */
EPS_MOBILITY_MANAGEMENT_MESSAGE = 0x7,
-9
View File
@@ -260,15 +260,6 @@ typedef struct {
network_pkf_t* pkf[NET_PACKET_FILTER_MAX];
} network_tft_t;
#if 0
/*
* User notification callback, executed whenever a change of status with
* respect of PDN connection or EPS bearer context is notified by the EPS
* Session Management sublayer
*/
typedef int (*esm_indication_callback_t) (int, network_pdn_state_t);
#endif
/****************************************************************************/
/******************** G L O B A L V A R I A B L E S ********************/
/****************************************************************************/
+2 -8
View File
@@ -338,14 +338,8 @@ _attach_accept(
{
int index = 0;
#if 0
/* T3412 timer value */
index += snprintf(buffer + index, length - index, "T3412 = ");
index += gprsTimer(buffer + index, length - index, &msg->t3412value);
/* TAI list */
index += snprintf(buffer + index, length - index, ", ");
index += taiList(buffer + index, length - index, &msg->tailist);
#endif
/* T3412 timer value (TBD) */
/* TAI list (TBD) */
/* GUTI */
if (msg->presencemask & ATTACH_ACCEPT_GUTI_PRESENT) {
-17
View File
@@ -225,23 +225,6 @@ int main (int argc, const char* argv[])
break;
}
#if 0
/* Send the AT command one byte at a time (serial port simulation) */
const char* pbuffer = _user_simulator_send_buffer;
while (*pbuffer) {
int sbytes = USER_SEND(pbuffer++, 1);
if (sbytes == RETURNerror) {
perror("ERROR\t: Failed to send data to the NAS sublayer");
break;
}
(void)poll(0, 0, 10);
}
#endif
(void)poll(0, 0, 100);
}
+1 -3
View File
@@ -134,10 +134,8 @@ int user_api_initialize(user_api_id_t *user_api_id, const char* host, const char
user_api_id->endpoint = user_api_id->open(SOCKET_SERVER, host, port);
if (user_api_id->endpoint == NULL) {
const char* error = ( (errno < 0) ?
gai_strerror(errno) : strerror(errno) );
LOG_TRACE(ERROR, "USR-API - Failed to open connection endpoint, "
"%s", error);
"%s", ( (errno < 0) ?gai_strerror(errno) : strerror(errno) ));
LOG_FUNC_RETURN (RETURNerror);
}
+5 -3
View File
@@ -79,10 +79,12 @@ Description Defines the attach related EMM procedure executed by the
/****************************************************************************/
/* String representation of the EPS attach type */
static const char *_emm_attach_type_str[] = {
char *emm_attach_type2str(int type) {
static char *_emm_attach_type_str[] = {
"EPS", "IMSI", "EMERGENCY", "RESERVED"
};
return _emm_attach_type_str[type];
}
/*
* --------------------------------------------------------------------------
* Internal data handled by the attach procedure in the UE
@@ -140,7 +142,7 @@ int emm_proc_attach(nas_user_t *user, emm_proc_attach_type_t type)
emm_timers_t *emm_timers = user->emm_data->emm_timers;
LOG_TRACE(INFO, "EMM-PROC - Initiate EPS attach type = %s (%d)",
_emm_attach_type_str[type], type);
emm_attach_type2str(type), type);
/* Update the emergency bearer service indicator */
if (type == EMM_ATTACH_TYPE_EMERGENCY) {
+5 -3
View File
@@ -66,11 +66,13 @@ Description Defines the detach related EMM procedure executed by the
/****************************************************************************/
/* String representation of the detach type */
static const char *_emm_detach_type_str[] = {
char *emm_detach_type2str(int type) {
static char *_emm_detach_type_str[] = {
"EPS", "IMSI", "EPS/IMSI",
"RE-ATTACH REQUIRED", "RE-ATTACH NOT REQUIRED", "RESERVED"
};
return _emm_detach_type_str[type];
}
/*
* --------------------------------------------------------------------------
* Internal data handled by the detach procedure in the UE
@@ -123,7 +125,7 @@ int emm_proc_detach(nas_user_t *user, emm_proc_detach_type_t type, int switch_of
int rc;
LOG_TRACE(INFO, "EMM-PROC - Initiate EPS detach type = %s (%d)",
_emm_detach_type_str[type], type);
emm_detach_type2str(type), type);
/* Initialize the detach procedure internal data */
emm_detach_data->count = 0;
+5 -3
View File
@@ -62,11 +62,13 @@ Description Defines the identification EMM procedure executed by the
/******************* L O C A L D E F I N I T I O N S *******************/
/****************************************************************************/
char *emm_identity_type2str(int id_type) {
/* String representation of the requested identity type */
static const char *_emm_identity_type_str[] = {
static char *_emm_identity_type_str[] = {
"NOT AVAILABLE", "IMSI", "IMEI", "IMEISV", "TMSI"
};
return _emm_identity_type_str[id_type];
}
/*
* --------------------------------------------------------------------------
* Internal data handled by the identification procedure in the UE
@@ -111,7 +113,7 @@ int emm_proc_identification_request(nas_user_t *user, emm_proc_identity_type_t t
emm_sap_t emm_sap;
LOG_TRACE(INFO, "EMM-PROC - Identification requested type = %s (%d)",
_emm_identity_type_str[type], type);
emm_identity_type2str(type), type);
/* Setup EMM procedure handler to be executed upon receiving
* lower layer notification */
+9 -6
View File
@@ -74,7 +74,9 @@ Description Defines the EMMAS Service Access Point that provides
/*
* String representation of EMMAS-SAP primitives
*/
static const char *_emm_as_primitive_str[] = {
char *emmas_to_str(int emmas) {
static char *_emm_as_primitive_str[] = {
"EMMAS_SECURITY_REQ",
"EMMAS_SECURITY_IND",
"EMMAS_SECURITY_RES",
@@ -92,7 +94,8 @@ static const char *_emm_as_primitive_str[] = {
"EMMAS_CELL_INFO_RES",
"EMMAS_CELL_INFO_IND",
};
return _emm_as_primitive_str[emmas];
}
/*
* Functions executed to process EMM procedures upon receiving
* data from the network
@@ -195,7 +198,7 @@ int emm_as_send(nas_user_t *user, const emm_as_t *msg)
emm_as_primitive_t primitive = msg->primitive;
LOG_TRACE(INFO, "EMMAS-SAP - Received primitive %s (%d)",
_emm_as_primitive_str[primitive - _EMMAS_START - 1], primitive);
emmas_to_str(primitive - _EMMAS_START - 1), primitive);
switch (primitive) {
case _EMMAS_DATA_IND:
@@ -234,7 +237,7 @@ int emm_as_send(nas_user_t *user, const emm_as_t *msg)
if (rc != RETURNok) {
LOG_TRACE(ERROR, "EMMAS-SAP - "
"Failed to process primitive %s (%d)",
_emm_as_primitive_str[primitive - _EMMAS_START - 1],
emmas_to_str(primitive - _EMMAS_START - 1),
primitive);
LOG_FUNC_RETURN (RETURNerror);
}
@@ -266,7 +269,7 @@ int emm_as_send(nas_user_t *user, const emm_as_t *msg)
if (rc != RETURNok) {
LOG_TRACE(ERROR, "EMMAS-SAP - Failed to process primitive %s (%d)",
_emm_as_primitive_str[primitive - _EMMAS_START - 1],
emmas_to_str(primitive - _EMMAS_START - 1),
primitive);
}
@@ -984,7 +987,7 @@ static int _emm_as_send(const nas_user_t *user, const emm_as_t *msg)
LOG_TRACE(DEBUG, "EMMAS-SAP - "
"Sending msg with id 0x%x, primitive %s (%d) to RRC layer for transmission",
as_msg.msgID,
_emm_as_primitive_str[msg->primitive - _EMMAS_START - 1],
emmas_to_str(msg->primitive - _EMMAS_START - 1),
msg->primitive);
switch (as_msg.msgID) {
+5 -2
View File
@@ -58,6 +58,7 @@ Description Defines the EMMESM Service Access Point that provides
/*
* String representation of EMMESM-SAP primitives
*/
const char *emm_esm_primitive2str(int esmprim) {
static const char *_emm_esm_primitive_str[] = {
"EMMESM_ESTABLISH_REQ",
"EMMESM_ESTABLISH_CNF",
@@ -66,6 +67,8 @@ static const char *_emm_esm_primitive_str[] = {
"EMMESM_UNITDATA_REQ",
"EMMESM_UNITDATA_IND",
};
return _emm_esm_primitive_str[esmprim];
}
/****************************************************************************/
/****************** E X P O R T E D F U N C T I O N S ******************/
@@ -116,7 +119,7 @@ int emm_esm_send(nas_user_t *user, const emm_esm_t *msg)
emm_esm_primitive_t primitive = msg->primitive;
LOG_TRACE(INFO, "EMMESM-SAP - Received primitive %s (%d)",
_emm_esm_primitive_str[primitive - _EMMESM_START - 1], primitive);
emm_esm_primitive2str(primitive - _EMMESM_START - 1), primitive);
switch (primitive) {
@@ -159,7 +162,7 @@ int emm_esm_send(nas_user_t *user, const emm_esm_t *msg)
if (rc != RETURNok) {
LOG_TRACE(WARNING, "EMMESM-SAP - Failed to process primitive %s (%d)",
_emm_esm_primitive_str[primitive - _EMMESM_START - 1],
emm_esm_primitive2str(primitive - _EMMESM_START - 1),
primitive);
}
+10 -7
View File
@@ -64,6 +64,7 @@ Description Defines the EPS Mobility Management procedures executed at
*/
/* String representation of EMM events */
const char *emm_fsm_event2str(int evt) {
static const char *_emm_fsm_event_str[] = {
"S1_ENABLED",
"S1_DISABLED",
@@ -93,7 +94,10 @@ static const char *_emm_fsm_event_str[] = {
"LOWERLAYER_FAILURE",
"LOWERLAYER_RELEASE",
};
return _emm_fsm_event_str[evt];
}
const char *emm_fsm_status2str(int status) {
/* String representation of EMM status */
static const char *_emm_fsm_status_str[EMM_STATE_MAX] = {
"INVALID",
@@ -120,7 +124,8 @@ static const char *_emm_fsm_status_str[EMM_STATE_MAX] = {
"TRACKING-AREA-UPDATING-INITIATED",
"SERVICE-REQUEST-INITIATED",
};
return _emm_fsm_status_str[status];
}
/*
* -----------------------------------------------------------------------------
* EPS Mobility Management state machine handlers
@@ -229,8 +234,8 @@ int emm_fsm_set_status(nas_user_t *user,
if ( status < EMM_STATE_MAX ) {
LOG_TRACE(INFO, "EMM-FSM - Status changed: %s ===> %s",
_emm_fsm_status_str[user->emm_fsm_status],
_emm_fsm_status_str[status]);
emm_fsm_status2str(user->emm_fsm_status),
emm_fsm_status2str(status));
if (status != user->emm_fsm_status) {
user->emm_fsm_status = status;
@@ -280,17 +285,15 @@ int emm_fsm_process(nas_user_t *user, const emm_reg_t *evt)
{
int rc;
emm_fsm_state_t status;
emm_reg_primitive_t primitive;
LOG_FUNC_IN;
primitive = evt->primitive;
status = user->emm_fsm_status;
LOG_TRACE(INFO, "EMM-FSM - Received event %s (%d) in state %s",
_emm_fsm_event_str[primitive - _EMMREG_START - 1], primitive,
_emm_fsm_status_str[status]);
emm_fsm_event2str(evt->primitive - _EMMREG_START - 1), evt->primitive,
emm_fsm_status2str(status));
/* Execute the EMM state machine */
+2 -1
View File
@@ -357,7 +357,8 @@ int esm_proc_pdn_connectivity_accept(nas_user_t *user, int pti, esm_proc_pdn_typ
int rc;
int pid = RETURNerror;
char apn_first_char[4];
char str[128];
LOG_VAR(char, str[128]);
if (isprint(apn->value[0])) {
apn_first_char[0] = '\0';
+5 -2
View File
@@ -72,6 +72,8 @@ static int _esm_sap_send(nas_user_t *user, int msg_type, int is_standalone, int
/*
* String representation of ESM-SAP primitives
*/
const char *esm_sap_primitive2str(int esmsapp) {
static const char *_esm_sap_primitive_str[] = {
"ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_REQ",
"ESM_DEFAULT_EPS_BEARER_CONTEXT_ACTIVATE_CNF",
@@ -94,7 +96,8 @@ static const char *_esm_sap_primitive_str[] = {
"ESM_BEARER_RESOURCE_MODIFY_REJ",
"ESM_UNITDATA_IND",
};
return _esm_sap_primitive_str[esmsapp];
}
/****************************************************************************/
/****************** E X P O R T E D F U N C T I O N S ******************/
@@ -152,7 +155,7 @@ int esm_sap_send(nas_user_t *user, esm_sap_t *msg)
assert( (primitive > ESM_START) && (primitive < ESM_END));
LOG_TRACE(INFO, "ESM-SAP - Received primitive %s (%d)",
_esm_sap_primitive_str[primitive - ESM_START - 1], primitive);
esm_sap_primitive2str(primitive - ESM_START - 1), primitive);
switch (primitive) {
case ESM_PDN_CONNECTIVITY_REQ:
+4 -1
View File
@@ -56,10 +56,13 @@ Description Defines functions used to handle state of EPS bearer contexts
/****************************************************************************/
/* String representation of EPS bearer context status */
const char *esm_ebr_state2str(int esmebrstate) {
static const char *_esm_ebr_state_str[ESM_EBR_STATE_MAX] = {
"BEARER CONTEXT INACTIVE",
"BEARER CONTEXT ACTIVE",
};
return _esm_ebr_state_str[esmebrstate];
}
/*
* ----------------------
@@ -318,7 +321,7 @@ int esm_ebr_set_status(user_api_id_t *user_api_id, esm_ebr_data_t *esm_ebr_data,
if (status < ESM_EBR_STATE_MAX) {
LOG_TRACE(INFO, "ESM-FSM - Status of EPS bearer context %d changed:"
" %s ===> %s", ebi,
_esm_ebr_state_str[old_status], _esm_ebr_state_str[status]);
esm_ebr_state2str(old_status), esm_ebr_state2str(status));
if (status != old_status) {
ebr_ctx->status = status;
+4 -1
View File
@@ -56,10 +56,13 @@ Description Defines functions used to handle ESM procedure transactions.
/****************************************************************************/
/* String representation of ESM procedure transaction status */
const char *esm_pt_state2str( int esmptstate){
static const char *_esm_pt_state_str[ESM_PT_STATE_MAX] = {
"PROCEDURE TRANSACTION INACTIVE",
"PROCEDURE TRANSACTION PENDING"
};
return _esm_pt_state_str[esmptstate];
}
/* Return the index of the next available entry in the list of procedure
* transaction data */
@@ -380,7 +383,7 @@ int esm_pt_set_status(esm_pt_data_t *esm_pt_data, int pti, esm_pt_state status)
if (status < ESM_PT_STATE_MAX) {
LOG_TRACE(INFO, "ESM-FSM - Status of procedure transaction %d changed:"
" %s ===> %s", pti,
_esm_pt_state_str[old_status], _esm_pt_state_str[status]);
esm_pt_state2str(old_status), esm_pt_state2str(status));
if (status != old_status) {
ctx->status = status;
+12 -14
View File
@@ -24,7 +24,7 @@
# include "assertions.h"
# include "intertask_interface.h"
# include "nas_ue_task.h"
# include "UTIL/LOG/log.h"
# include "common/utils/LOG/log.h"
# include "user_defs.h"
# include "user_api.h"
@@ -89,7 +89,6 @@ void *nas_ue_task(void *args_p)
int nb_events;
struct epoll_event *events;
MessageDef *msg_p;
const char *msg_name;
instance_t instance;
unsigned int Mod_id;
int result;
@@ -147,19 +146,18 @@ void *nas_ue_task(void *args_p)
itti_receive_msg (TASK_NAS_UE, &msg_p);
if (msg_p != NULL) {
msg_name = ITTI_MSG_NAME (msg_p);
instance = ITTI_MSG_INSTANCE (msg_p);
Mod_id = instance - NB_eNB_INST;
if (instance == INSTANCE_DEFAULT) {
printf("%s:%d: FATAL: instance is INSTANCE_DEFAULT, should not happen.\n",
__FILE__, __LINE__);
abort();
exit_fun("exit... \n");
}
nas_user_t *user = &users->item[Mod_id];
switch (ITTI_MSG_ID(msg_p)) {
case INITIALIZE_MESSAGE:
LOG_I(NAS, "[UE %d] Received %s\n", Mod_id, msg_name);
LOG_I(NAS, "[UE %d] Received %s\n", Mod_id, ITTI_MSG_NAME (msg_p));
#if (NAS_UE_AUTOSTART != 0)
{
/* Send an activate modem command to NAS like UserProcess should do it */
@@ -175,11 +173,11 @@ void *nas_ue_task(void *args_p)
break;
case MESSAGE_TEST:
LOG_I(NAS, "[UE %d] Received %s\n", Mod_id, msg_name);
LOG_I(NAS, "[UE %d] Received %s\n", Mod_id, ITTI_MSG_NAME (msg_p));
break;
case NAS_CELL_SELECTION_CNF:
LOG_I(NAS, "[UE %d] Received %s: errCode %u, cellID %u, tac %u\n", Mod_id, msg_name,
LOG_I(NAS, "[UE %d] Received %s: errCode %u, cellID %u, tac %u\n", Mod_id, ITTI_MSG_NAME (msg_p),
NAS_CELL_SELECTION_CNF (msg_p).errCode, NAS_CELL_SELECTION_CNF (msg_p).cellID, NAS_CELL_SELECTION_CNF (msg_p).tac);
{
@@ -192,21 +190,21 @@ void *nas_ue_task(void *args_p)
break;
case NAS_CELL_SELECTION_IND:
LOG_I(NAS, "[UE %d] Received %s: cellID %u, tac %u\n", Mod_id, msg_name,
LOG_I(NAS, "[UE %d] Received %s: cellID %u, tac %u\n", Mod_id, ITTI_MSG_NAME (msg_p),
NAS_CELL_SELECTION_IND (msg_p).cellID, NAS_CELL_SELECTION_IND (msg_p).tac);
/* TODO not processed by NAS currently */
break;
case NAS_PAGING_IND:
LOG_I(NAS, "[UE %d] Received %s: cause %u\n", Mod_id, msg_name,
LOG_I(NAS, "[UE %d] Received %s: cause %u\n", Mod_id, ITTI_MSG_NAME (msg_p),
NAS_PAGING_IND (msg_p).cause);
/* TODO not processed by NAS currently */
break;
case NAS_CONN_ESTABLI_CNF:
LOG_I(NAS, "[UE %d] Received %s: errCode %u, length %u\n", Mod_id, msg_name,
LOG_I(NAS, "[UE %d] Received %s: errCode %u, length %u\n", Mod_id, ITTI_MSG_NAME (msg_p),
NAS_CONN_ESTABLI_CNF (msg_p).errCode, NAS_CONN_ESTABLI_CNF (msg_p).nasMsg.length);
if ((NAS_CONN_ESTABLI_CNF (msg_p).errCode == AS_SUCCESS)
@@ -221,14 +219,14 @@ void *nas_ue_task(void *args_p)
break;
case NAS_CONN_RELEASE_IND:
LOG_I(NAS, "[UE %d] Received %s: cause %u\n", Mod_id, msg_name,
LOG_I(NAS, "[UE %d] Received %s: cause %u\n", Mod_id, ITTI_MSG_NAME (msg_p),
NAS_CONN_RELEASE_IND (msg_p).cause);
nas_proc_release_ind (user, NAS_CONN_RELEASE_IND (msg_p).cause);
break;
case NAS_UPLINK_DATA_CNF:
LOG_I(NAS, "[UE %d] Received %s: UEid %u, errCode %u\n", Mod_id, msg_name,
LOG_I(NAS, "[UE %d] Received %s: UEid %u, errCode %u\n", Mod_id, ITTI_MSG_NAME (msg_p),
NAS_UPLINK_DATA_CNF (msg_p).UEid, NAS_UPLINK_DATA_CNF (msg_p).errCode);
if (NAS_UPLINK_DATA_CNF (msg_p).errCode == AS_SUCCESS) {
@@ -240,7 +238,7 @@ void *nas_ue_task(void *args_p)
break;
case NAS_DOWNLINK_DATA_IND:
LOG_I(NAS, "[UE %d] Received %s: UEid %u, length %u\n", Mod_id, msg_name,
LOG_I(NAS, "[UE %d] Received %s: UEid %u, length %u\n", Mod_id, ITTI_MSG_NAME (msg_p),
NAS_DOWNLINK_DATA_IND (msg_p).UEid, NAS_DOWNLINK_DATA_IND (msg_p).nasMsg.length);
nas_proc_dl_transfer_ind (user, NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.data, NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.length);
@@ -254,7 +252,7 @@ void *nas_ue_task(void *args_p)
break;
default:
LOG_E(NAS, "[UE %d] Received unexpected message %s\n", Mod_id, msg_name);
LOG_E(NAS, "[UE %d] Received unexpected message %s\n", Mod_id, ITTI_MSG_NAME (msg_p));
break;
}
@@ -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
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
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
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
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -71,7 +71,7 @@ extern int asn_debug;
extern int asn1_xer_print;
#if defined(ENB_MODE)
# include "UTIL/LOG/log.h"
# include "common/utils/LOG/log.h"
# include "s1ap_eNB_default_values.h"
# define S1AP_ERROR(x, args...) LOG_E(S1AP, x, ##args)
# define S1AP_WARN(x, args...) LOG_W(S1AP, x, ##args)
@@ -87,7 +87,6 @@ extern int asn1_xer_print;
# define S1AP_DEBUG(x, args...) do { fprintf(stdout, "[S1AP][D]"x, ##args); } while(0)
#endif
#define S1AP_FIND_PROTOCOLIE_BY_ID(IE_TYPE, ie, container, IE_ID, mandatory) \
do {\
IE_TYPE **ptr; \
+72
View File
@@ -99,6 +99,10 @@ 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;
<<<<<<< HEAD
=======
>>>>>>> origin/develop
DevAssert(instance_p != NULL);
DevAssert(mme_ip_address != NULL);
message_p = itti_alloc_new_message(TASK_S1AP, SCTP_NEW_ASSOCIATION_REQ);
@@ -113,6 +117,7 @@ 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));
<<<<<<< HEAD
S1AP_INFO("[eNB %d] check the mme registration state\n",instance_p->instance);
mme = s1ap_eNB_get_MME_from_instance(instance_p);
@@ -125,6 +130,27 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
s1ap_mme_data_p->assoc_id = -1;
s1ap_mme_data_p->s1ap_eNB_instance = instance_p;
STAILQ_INIT(&s1ap_mme_data_p->served_gummei);
=======
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);
>>>>>>> origin/develop
/* Insert the new descriptor in list of known MME
* but not yet associated.
*/
@@ -139,6 +165,10 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
instance_p->instance,
mme->state, mme->cnx_id,
instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
<<<<<<< HEAD
=======
>>>>>>> origin/develop
/*s1ap_mme_data_p->cnx_id = mme->cnx_id;
sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id;
@@ -389,7 +419,16 @@ static int s1ap_eNB_generate_s1_setup_request(
uint8_t *buffer;
uint32_t len;
int ret = 0;
<<<<<<< HEAD
s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING;
=======
DevAssert(instance_p != NULL);
DevAssert(s1ap_mme_data_p != NULL);
s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING;
>>>>>>> origin/develop
/* Prepare the S1AP message to encode */
memset(&pdu, 0, sizeof(pdu));
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
@@ -397,6 +436,11 @@ static int s1ap_eNB_generate_s1_setup_request(
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_reject;
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_S1SetupRequest;
out = &pdu.choice.initiatingMessage.value.choice.S1SetupRequest;
<<<<<<< HEAD
=======
/* mandatory */
>>>>>>> origin/develop
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_Global_ENB_ID;
ie->criticality = S1AP_Criticality_reject;
@@ -423,10 +467,15 @@ static int s1ap_eNB_generate_s1_setup_request(
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
<<<<<<< HEAD
=======
/* mandatory */
>>>>>>> origin/develop
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;
<<<<<<< HEAD
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));
@@ -434,6 +483,21 @@ static int s1ap_eNB_generate_s1_setup_request(
ASN_SEQUENCE_ADD(&ta->broadcastPLMNs.list, plmn);
ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAs.list, ta);
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
=======
{
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 */
>>>>>>> origin/develop
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX;
ie->criticality = S1AP_Criticality_ignore;
@@ -452,9 +516,16 @@ static int s1ap_eNB_generate_s1_setup_request(
}
/* optional */
<<<<<<< HEAD
if (0) {
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_UE_RetentionInformation ;
=======
#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;
>>>>>>> origin/develop
ie->criticality = S1AP_Criticality_ignore;
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_UE_RetentionInformation;
// ie->value.choice.UE_RetentionInformation = ;
@@ -470,6 +541,7 @@ static int s1ap_eNB_generate_s1_setup_request(
// 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");
@@ -60,6 +60,7 @@ int s1ap_ue_context_release_complete(instance_t instance,
S1AP_UEContextReleaseComplete_IEs_t *ie;
uint8_t *buffer;
uint32_t length;
/* Retrieve the S1AP eNB instance associated with Mod_id */
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
DevAssert(ue_release_complete_p != NULL);
@@ -85,12 +86,16 @@ int s1ap_ue_context_release_complete(instance_t instance,
pdu.choice.successfulOutcome.criticality = S1AP_Criticality_reject;
pdu.choice.successfulOutcome.value.present = S1AP_SuccessfulOutcome__value_PR_UEContextReleaseComplete;
out = &pdu.choice.successfulOutcome.value.choice.UEContextReleaseComplete;
/* 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);
/* 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;
@@ -108,7 +113,8 @@ int s1ap_ue_context_release_complete(instance_t instance,
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
/* release 12 */
/* 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;
@@ -118,7 +124,8 @@ int s1ap_ue_context_release_complete(instance_t instance,
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
/* release 13 */
/* 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;
@@ -133,6 +140,8 @@ int s1ap_ue_context_release_complete(instance_t instance,
// 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... */
@@ -147,14 +156,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;
@@ -207,18 +218,23 @@ int s1ap_ue_context_release_req(instance_t instance,
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_ignore;
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_UEContextReleaseRequest;
out = &pdu.choice.initiatingMessage.value.choice.UEContextReleaseRequest;
/* 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);
/* 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);
/* 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;
@@ -259,6 +275,7 @@ int s1ap_ue_context_release_req(instance_t instance,
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;
@@ -267,6 +284,7 @@ int s1ap_ue_context_release_req(instance_t instance,
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... */
@@ -281,8 +299,9 @@ 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,
ue_context_p->mme_ref->assoc_id, buffer,
+16 -2
View File
@@ -123,7 +123,19 @@ static int s1ap_eNB_decode_initiating_message(S1AP_S1AP_PDU_t *pdu)
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 nitiating message\n");
S1AP_INFO("TODO E_RABRelease initiating message\n");
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;
default:
@@ -195,11 +207,13 @@ int s1ap_eNB_decode_pdu(S1AP_S1AP_PDU_t *pdu, const uint8_t *const buffer,
const uint32_t length)
{
asn_dec_rval_t dec_ret;
DevAssert(pdu != NULL);
DevAssert(buffer != NULL);
dec_ret = aper_decode(NULL,
&asn_DEF_S1AP_S1AP_PDU,
(void **)pdu,
(void **)&pdu,
buffer,
length,
0,
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -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);
+107 -76
View File
@@ -147,16 +147,17 @@ int s1ap_eNB_handle_nas_first_req(
ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU;
ie->criticality = S1AP_Criticality_reject;
ie->value.present = S1AP_InitialUEMessage_IEs__value_PR_NAS_PDU;
#if 1
ie->value.choice.NAS_PDU.buf = s1ap_nas_first_req_p->nas_pdu.buffer;
#else
ie->value.choice.NAS_PDU.buf = malloc(s1ap_nas_first_req_p->nas_pdu.length);
memcpy(ie->value.choice.NAS_PDU.buf,
s1ap_nas_first_req_p->nas_pdu.buffer,
s1ap_nas_first_req_p->nas_pdu.length);
#endif
ie->value.choice.NAS_PDU.size = s1ap_nas_first_req_p->nas_pdu.length;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* mandatory */
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
ie->criticality = S1AP_Criticality_reject;
ie->value.present = S1AP_InitialUEMessage_IEs__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);
/* mandatory */
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_TAI;
@@ -187,9 +188,11 @@ int s1ap_eNB_handle_nas_first_req(
instance_p->mnc_digit_length,
&ie->value.choice.EUTRAN_CGI.pLMNidentity);
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* Set the establishment cause according to those provided by RRC */
DevCheck(s1ap_nas_first_req_p->establishment_cause < RRC_CAUSE_LAST,
s1ap_nas_first_req_p->establishment_cause, RRC_CAUSE_LAST, 0);
/* mandatory */
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_RRC_Establishment_Cause;
@@ -242,6 +245,7 @@ int s1ap_eNB_handle_nas_first_req(
}
/* optional */
#if (S1AP_VERSION >= MAKE_VERSION(9, 0, 0))
if (0) {
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_CellAccessMode;
@@ -252,6 +256,7 @@ int s1ap_eNB_handle_nas_first_req(
}
/* optional */
#if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0))
if (0) {
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_GW_TransportLayerAddress;
@@ -260,7 +265,6 @@ int s1ap_eNB_handle_nas_first_req(
// ie->value.choice.TransportLayerAddress =;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
/* optional */
if (0) {
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
@@ -271,6 +275,7 @@ int s1ap_eNB_handle_nas_first_req(
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
#if (S1AP_VERSION >= MAKE_VERSION(11, 0, 0))
/* optional */
if (0) {
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
@@ -311,6 +316,7 @@ int s1ap_eNB_handle_nas_first_req(
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
#if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0))
/* optional */
if (0) {
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
@@ -341,6 +347,7 @@ int s1ap_eNB_handle_nas_first_req(
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
#if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0))
/* optional */
if (0) {
ie = (S1AP_InitialUEMessage_IEs_t *)calloc(1, sizeof(S1AP_InitialUEMessage_IEs_t));
@@ -360,6 +367,11 @@ int s1ap_eNB_handle_nas_first_req(
// ie->value.choice.Coverage_Level = ue_release_req_p->eNB_ue_s1ap_id;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0)) */
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0)) */
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(11, 0, 0)) */
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0)) */
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(9, 0, 0)) */
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
/* Failed to encode message */
@@ -394,7 +406,8 @@ int s1ap_eNB_handle_nas_first_req(
0,
MSC_AS_TIME_FMT" initialUEMessage initiatingMessage eNB_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
initial_ue_message_p->eNB_UE_S1AP_ID);
ue_desc_p->eNB_ue_s1ap_id);
/* Send encoded message over sctp */
s1ap_eNB_itti_send_sctp_data_req(instance_p->instance, mme_desc_p->assoc_id,
buffer, length, ue_desc_p->tx_stream);
@@ -440,16 +453,27 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id,
S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID, TRUE);
enb_ue_s1ap_id = ie->value.choice.ENB_UE_S1AP_ID;
/* Prepare the S1AP message to encode */
container = &pdu->choice.initiatingMessage.value.choice.DownlinkNASTransport;
S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_DownlinkNASTransport_IEs_t, ie, container,
S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID, true);
mme_ue_s1ap_id = ie->value.choice.MME_UE_S1AP_ID;
S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_DownlinkNASTransport_IEs_t, ie, container,
S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID, true);
enb_ue_s1ap_id = ie->value.choice.ENB_UE_S1AP_ID;
if ((ue_desc_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance,
ie->value.choice.ENB_UE_S1AP_ID)) == NULL) {
enb_ue_s1ap_id)) == NULL) {
MSC_LOG_RX_DISCARDED_MESSAGE(
MSC_S1AP_ENB,
MSC_S1AP_MME,
(const char *)downlink_NAS_transport_p,
sizeof(S1AP_DownlinkNASTransportIEs_t),
(const char *)NULL,
NULL,
MSC_AS_TIME_FMT" downlinkNASTransport eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
enb_ue_s1ap_id
enb_ue_s1ap_id,
mme_ue_s1ap_id);
/* TODO: fix this log - the original version is suspicious (twice downlink_NAS_transport_p->eNB_UE_S1AP_ID?) */
/*S1AP_ERROR("[SCTP %d] Received NAS downlink message for non existing UE context eNB_UE_S1AP_ID: 0x%"PRIx32" %u\n",
@@ -490,14 +514,15 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id,
MSC_LOG_RX_MESSAGE(
MSC_S1AP_ENB,
MSC_S1AP_MME,
(const char *)downlink_NAS_transport_p,
sizeof(S1AP_DownlinkNASTransportIEs_t),
(const char *)NULL,
NULL,
MSC_AS_TIME_FMT" downlinkNASTransport eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
enb_ue_s1ap_id,
mme_ue_s1ap_id);
S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_DownlinkNASTransport_IEs_t, ie, container,
S1AP_ProtocolIE_ID_id_NAS_PDU, TRUE);
S1AP_ProtocolIE_ID_id_NAS_PDU, true);
/* Forward the NAS PDU to RRC */
s1ap_eNB_itti_send_nas_downlink_ind(s1ap_eNB_instance->instance,
ue_desc_p->ue_initial_id,
@@ -601,6 +626,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* optional */
#if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0))
if (0) {
ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_GW_TransportLayerAddress;
@@ -611,6 +637,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
}
/* optional */
#if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0))
if (0) {
ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_SIPTO_L_GW_TransportLayerAddress;
@@ -629,6 +656,8 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
// ie->value.choice.LHN_ID =;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0)) */
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(10, 0, 0)) */
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
S1AP_ERROR("Failed to encode uplink NAS transport\n");
@@ -643,8 +672,9 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
0,
MSC_AS_TIME_FMT" uplinkNASTransport initiatingMessage eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
uplink_NAS_transport_p->eNB_UE_S1AP_ID,
uplink_NAS_transport_p->mme_ue_s1ap_id);
ue_context_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,
@@ -665,6 +695,7 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance,
S1AP_NASNonDeliveryIndication_IEs_t *ie;
uint8_t *buffer;
uint32_t length;
DevAssert(s1ap_nas_non_delivery_ind != NULL);
/* Retrieve the S1AP eNB instance associated with Mod_id */
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
@@ -702,17 +733,20 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance,
ie->value.present = S1AP_NASNonDeliveryIndication_IEs__value_PR_ENB_UE_S1AP_ID;
ie->value.choice.ENB_UE_S1AP_ID = ue_context_p->eNB_ue_s1ap_id;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* mandatory */
ie = (S1AP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(S1AP_NASNonDeliveryIndication_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU;
ie->criticality = S1AP_Criticality_ignore;
ie->value.present = S1AP_NASNonDeliveryIndication_IEs__value_PR_NAS_PDU;
ie->value.choice.NAS_PDU.buf = s1ap_nas_non_delivery_ind->nas_pdu.buffer;
ie->value.choice.NAS_PDU.size = s1ap_nas_non_delivery_ind->nas_pdu.length;
/* mandatory */
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* mandatory */
ie = (S1AP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(S1AP_NASNonDeliveryIndication_IEs_t));
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
ie->id = S1AP_ProtocolIE_ID_id_Cause;
ie->criticality = S1AP_Criticality_ignore;
/* Send a dummy cause */
ie->value.present = S1AP_NASNonDeliveryIndication_IEs__value_PR_Cause;
@@ -732,12 +766,13 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance,
MSC_LOG_TX_MESSAGE(
MSC_S1AP_ENB,
MSC_S1AP_MME,
(const char *)s1ap_nas_non_delivery_ind,
sizeof(s1ap_nas_non_delivery_ind_t),
(const char *)buffer,
length,
MSC_AS_TIME_FMT" NASNonDeliveryIndication initiatingMessage eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
nas_non_delivery_p->eNB_UE_S1AP_ID,
nas_non_delivery_p->mme_ue_s1ap_id);
ue_context_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,
@@ -803,22 +838,27 @@ int s1ap_eNB_initial_ctxt_resp(
ie->value.present = S1AP_InitialContextSetupResponseIEs__value_PR_ENB_UE_S1AP_ID;
ie->value.choice.ENB_UE_S1AP_ID = initial_ctxt_resp_p->eNB_ue_s1ap_id;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* mandatory */
ie = (S1AP_InitialContextSetupResponseIEs_t *)calloc(1, sizeof(S1AP_InitialContextSetupResponseIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
ie->id = S1AP_ProtocolIE_ID_id_E_RABSetupListCtxtSURes;
ie->criticality = S1AP_Criticality_ignore;
ie->value.present = S1AP_InitialContextSetupResponseIEs__value_PR_E_RABSetupListCtxtSURes;
for (i = 0; i < initial_ctxt_resp_p->nb_of_e_rabs; i++) {
S1AP_E_RABSetupItemCtxtSUResIEs_t *item;
/* mandatory */
item = calloc(1, sizeof(S1AP_E_RABSetupItemCtxtSUResIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABSetupItemBearerSURes;
item = (S1AP_E_RABSetupItemCtxtSUResIEs_t *)calloc(1, sizeof(S1AP_E_RABSetupItemCtxtSUResIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABSetupItemCtxtSURes;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABSetupItemBearerSUResIEs__value_PR_E_RABSetupItemBearerSURes;
item->value.present = S1AP_E_RABSetupItemCtxtSUResIEs__value_PR_E_RABSetupItemCtxtSURes;
item->value.choice.E_RABSetupItemCtxtSURes.e_RAB_ID = initial_ctxt_resp_p->e_rabs[i].e_rab_id;
GTP_TEID_TO_ASN1(initial_ctxt_resp_p->e_rabs[i].gtp_teid, &item->value.choice.E_RABSetupItemCtxtSURes.gTP_TEID);
item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.buf = initial_ctxt_resp_p->e_rabs[i].eNB_addr.buffer;
item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.buf = malloc(initial_ctxt_resp_p->e_rabs[i].eNB_addr.length);
memcpy(item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.buf,
initial_ctxt_resp_p->e_rabs[i].eNB_addr.buffer,
initial_ctxt_resp_p->e_rabs[i].eNB_addr.length);
item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.size = initial_ctxt_resp_p->e_rabs[i].eNB_addr.length;
item->value.choice.E_RABSetupItemCtxtSURes.transportLayerAddress.bits_unused = 0;
S1AP_DEBUG("initial_ctxt_resp_p: e_rab ID %ld, enb_addr %d.%d.%d.%d, SIZE %ld \n",
@@ -843,7 +883,7 @@ int s1ap_eNB_initial_ctxt_resp(
for (i = 0; i < initial_ctxt_resp_p->nb_of_e_rabs_failed; i++) {
S1AP_E_RABItemIEs_t *item;
/* mandatory */
item = calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item = (S1AP_E_RABItemIEs_t *)calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABItem;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABItemIEs__value_PR_E_RABItem;
@@ -855,23 +895,18 @@ int s1ap_eNB_initial_ctxt_resp(
case S1AP_Cause_PR_radioNetwork:
item->value.choice.E_RABItem.cause.choice.radioNetwork = initial_ctxt_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_transport:
item->value.choice.E_RABItem.cause.choice.transport = initial_ctxt_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_nas:
item->value.choice.E_RABItem.cause.choice.nas = initial_ctxt_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_protocol:
item->value.choice.E_RABItem.cause.choice.protocol = initial_ctxt_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_misc:
item->value.choice.E_RABItem.cause.choice.misc = initial_ctxt_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_NOTHING:
default:
break;
@@ -907,12 +942,14 @@ int s1ap_eNB_initial_ctxt_resp(
length,
MSC_AS_TIME_FMT" InitialContextSetup successfulOutcome eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
initial_ies_p->eNB_UE_S1AP_ID,
initial_ies_p->mme_ue_s1ap_id);
initial_ctxt_resp_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);
return 0;
}
@@ -928,6 +965,7 @@ int s1ap_eNB_ue_capabilities(instance_t instance,
S1AP_UECapabilityInfoIndicationIEs_t *ie;
uint8_t *buffer;
uint32_t length;
/* Retrieve the S1AP eNB instance associated with Mod_id */
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
DevAssert(ue_cap_info_ind_p != NULL);
@@ -973,6 +1011,7 @@ int s1ap_eNB_ue_capabilities(instance_t instance,
ie->value.present = S1AP_UECapabilityInfoIndicationIEs__value_PR_ENB_UE_S1AP_ID;
ie->value.choice.ENB_UE_S1AP_ID = ue_cap_info_ind_p->eNB_ue_s1ap_id;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* mandatory */
ie = (S1AP_UECapabilityInfoIndicationIEs_t *)calloc(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_UERadioCapability;
@@ -983,6 +1022,7 @@ int s1ap_eNB_ue_capabilities(instance_t instance,
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
/* optional */
#if (S1AP_VERSION >= MAKE_VERSION(12, 0, 0))
if (0) {
ie = (S1AP_UECapabilityInfoIndicationIEs_t *)calloc(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_UERadioCapabilityForPaging;
@@ -991,6 +1031,7 @@ int s1ap_eNB_ue_capabilities(instance_t instance,
// ie->value.choice.UERadioCapabilityForPaging = ;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0)) */
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
/* Encode procedure has failed... */
@@ -1005,8 +1046,9 @@ int s1ap_eNB_ue_capabilities(instance_t instance,
length,
MSC_AS_TIME_FMT" UECapabilityInfoIndication initiatingMessage eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
ue_cap_info_ind_ies_p->eNB_UE_S1AP_ID,
ue_cap_info_ind_ies_p->mme_ue_s1ap_id);
ue_cap_info_ind_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,
@@ -1033,7 +1075,7 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
DevAssert(s1ap_eNB_instance_p != NULL);
if ((ue_context_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p,
e_rab_setup_resp_p->eNB_ue_s1ap_id)) == NULL) {
e_rab_setup_resp_p->eNB_ue_s1ap_id)) == NULL) {
/* The context for this eNB ue s1ap id doesn't exist in the map of eNB UEs */
S1AP_WARN("Failed to find ue context associated with eNB ue s1ap id: 0x%06x\n",
e_rab_setup_resp_p->eNB_ue_s1ap_id);
@@ -1083,13 +1125,16 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
for (i = 0; i < e_rab_setup_resp_p->nb_of_e_rabs; i++) {
S1AP_E_RABSetupItemBearerSUResIEs_t *item;
/* mandatory */
item = calloc(1, sizeof(S1AP_E_RABSetupItemBearerSUResIEs_t));
item = (S1AP_E_RABSetupItemBearerSUResIEs_t *)calloc(1, sizeof(S1AP_E_RABSetupItemBearerSUResIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABSetupItemBearerSURes;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABSetupItemBearerSUResIEs__value_PR_E_RABSetupItemBearerSURes;
item->value.choice.E_RABSetupItemBearerSURes.e_RAB_ID = e_rab_setup_resp_p->e_rabs[i].e_rab_id;
GTP_TEID_TO_ASN1(e_rab_setup_resp_p->e_rabs[i].gtp_teid, &item->value.choice.E_RABSetupItemBearerSURes.gTP_TEID);
item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.buf = e_rab_setup_resp_p->e_rabs[i].eNB_addr.buffer;
item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.buf = malloc(e_rab_setup_resp_p->e_rabs[i].eNB_addr.length);
memcpy(item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.buf,
e_rab_setup_resp_p->e_rabs[i].eNB_addr.buffer,
e_rab_setup_resp_p->e_rabs[i].eNB_addr.length);
item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.size = e_rab_setup_resp_p->e_rabs[i].eNB_addr.length;
item->value.choice.E_RABSetupItemBearerSURes.transportLayerAddress.bits_unused = 0;
S1AP_DEBUG("e_rab_setup_resp: e_rab ID %ld, teid %u, enb_addr %d.%d.%d.%d, SIZE %ld\n",
@@ -1115,7 +1160,7 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
for (i = 0; i < e_rab_setup_resp_p->nb_of_e_rabs_failed; i++) {
S1AP_E_RABItemIEs_t *item;
item = calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item = (S1AP_E_RABItemIEs_t *)calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABItem;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABItemIEs__value_PR_E_RABItem;
@@ -1127,23 +1172,18 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
case S1AP_Cause_PR_radioNetwork:
item->value.choice.E_RABItem.cause.choice.radioNetwork = e_rab_setup_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_transport:
item->value.choice.E_RABItem.cause.choice.transport = e_rab_setup_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_nas:
item->value.choice.E_RABItem.cause.choice.nas = e_rab_setup_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_protocol:
item->value.choice.E_RABItem.cause.choice.protocol = e_rab_setup_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_misc:
item->value.choice.E_RABItem.cause.choice.misc = e_rab_setup_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_NOTHING:
default:
break;
@@ -1173,7 +1213,6 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_S1AP_E_RABSetupListBearerSURes, &e_RABSetupListBearerSURes);
*/
fprintf(stderr, "start encode\n");
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
S1AP_ERROR("Failed to encode uplink transport\n");
/* Encode procedure has failed... */
@@ -1187,8 +1226,9 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
length,
MSC_AS_TIME_FMT" E_RAN Setup successfulOutcome eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
initial_ies_p->eNB_UE_S1AP_ID,
initial_ies_p->mme_ue_s1ap_id);
e_rab_setup_resp_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,
@@ -1215,7 +1255,7 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
DevAssert(s1ap_eNB_instance_p != NULL);
if ((ue_context_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p,
e_rab_modify_resp_p->eNB_ue_s1ap_id)) == NULL) {
e_rab_modify_resp_p->eNB_ue_s1ap_id)) == NULL) {
/* The context for this eNB ue s1ap id doesn't exist in the map of eNB UEs */
S1AP_WARN("Failed to find ue context associated with eNB ue s1ap id: 0x%06x\n",
e_rab_modify_resp_p->eNB_ue_s1ap_id);
@@ -1240,6 +1280,7 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
pdu.choice.successfulOutcome.criticality = S1AP_Criticality_reject;
pdu.choice.successfulOutcome.value.present = S1AP_SuccessfulOutcome__value_PR_E_RABModifyResponse;
out = &pdu.choice.successfulOutcome.value.choice.E_RABModifyResponse;
/* mandatory */
ie = (S1AP_E_RABModifyResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABModifyResponseIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
@@ -1264,7 +1305,7 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
for (i = 0; i < e_rab_modify_resp_p->nb_of_e_rabs; i++) {
S1AP_E_RABModifyItemBearerModResIEs_t *item;
item = calloc(1, sizeof(S1AP_E_RABModifyItemBearerModResIEs_t));
item = (S1AP_E_RABModifyItemBearerModResIEs_t *)calloc(1, sizeof(S1AP_E_RABModifyItemBearerModResIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABModifyItemBearerModRes;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABModifyItemBearerModResIEs__value_PR_E_RABModifyItemBearerModRes;
@@ -1272,7 +1313,6 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
S1AP_DEBUG("e_rab_modify_resp: modified e_rab ID %ld\n", item->value.choice.E_RABModifyItemBearerModRes.e_RAB_ID);
ASN_SEQUENCE_ADD(&ie->value.choice.E_RABModifyListBearerModRes.list, item);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
@@ -1285,7 +1325,7 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
for (i = 0; i < e_rab_modify_resp_p->nb_of_e_rabs_failed; i++) {
S1AP_E_RABItemIEs_t *item;
item = calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item = (S1AP_E_RABItemIEs_t *)calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABItem;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABItemIEs__value_PR_E_RABItem;
@@ -1297,23 +1337,18 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
case S1AP_Cause_PR_radioNetwork:
item->value.choice.E_RABItem.cause.choice.radioNetwork = e_rab_modify_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_transport:
item->value.choice.E_RABItem.cause.choice.transport = e_rab_modify_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_nas:
item->value.choice.E_RABItem.cause.choice.nas = e_rab_modify_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_protocol:
item->value.choice.E_RABItem.cause.choice.protocol = e_rab_modify_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_misc:
item->value.choice.E_RABItem.cause.choice.misc = e_rab_modify_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_NOTHING:
default:
break;
@@ -1337,7 +1372,6 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
}
fprintf(stderr, "start encode\n");
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
S1AP_ERROR("Failed to encode uplink transport\n");
/* Encode procedure has failed... */
@@ -1351,8 +1385,9 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
length,
MSC_AS_TIME_FMT" E_RAN Modify successful Outcome eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
initial_ies_p->eNB_UE_S1AP_ID,
initial_ies_p->mme_ue_s1ap_id);
e_rab_modify_resp_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,
@@ -1364,21 +1399,22 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
s1ap_e_rab_release_resp_t *e_rab_release_resp_p)
//------------------------------------------------------------------------------
{
s1ap_eNB_instance_t *s1ap_eNB_instance_p = NULL;
struct s1ap_eNB_ue_context_s *ue_context_p = NULL;
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_E_RABReleaseResponse_t *out;
S1AP_E_RABReleaseResponseIEs_t *ie;
uint8_t *buffer = NULL;
uint32_t length;
int i;
/* Retrieve the S1AP eNB instance associated with Mod_id */
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
DevAssert(e_rab_release_resp_p != NULL);
DevAssert(s1ap_eNB_instance_p != NULL);
if ((ue_context_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p,
e_rab_release_resp_p->eNB_ue_s1ap_id)) == NULL) {
e_rab_release_resp_p->eNB_ue_s1ap_id)) == NULL) {
/* The context for this eNB ue s1ap id doesn't exist in the map of eNB UEs */
S1AP_WARN("Failed to find ue context associated with eNB ue s1ap id: %u\n",
e_rab_release_resp_p->eNB_ue_s1ap_id);
@@ -1416,7 +1452,7 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
for (i = 0; i < e_rab_release_resp_p->nb_of_e_rabs_released; i++) {
S1AP_E_RABReleaseItemBearerRelCompIEs_t *item;
item = calloc(1, sizeof(S1AP_E_RABReleaseItemBearerRelCompIEs_t));
item = (S1AP_E_RABReleaseItemBearerRelCompIEs_t *)calloc(1, sizeof(S1AP_E_RABReleaseItemBearerRelCompIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABReleaseItemBearerRelComp;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABReleaseItemBearerRelCompIEs__value_PR_E_RABReleaseItemBearerRelComp;
@@ -1424,7 +1460,6 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
S1AP_DEBUG("e_rab_release_resp: e_rab ID %ld\n", item->value.choice.E_RABReleaseItemBearerRelComp.e_RAB_ID);
ASN_SEQUENCE_ADD(&ie->value.choice.E_RABReleaseListBearerRelComp.list, item);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
@@ -1437,7 +1472,7 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
for (i = 0; i < e_rab_release_resp_p->nb_of_e_rabs_failed; i++) {
S1AP_E_RABItemIEs_t *item;
item = calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item = (S1AP_E_RABItemIEs_t *)calloc(1, sizeof(S1AP_E_RABItemIEs_t));
item->id = S1AP_ProtocolIE_ID_id_E_RABItem;
item->criticality = S1AP_Criticality_ignore;
item->value.present = S1AP_E_RABItemIEs__value_PR_E_RABItem;
@@ -1449,23 +1484,18 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
case S1AP_Cause_PR_radioNetwork:
item->value.choice.E_RABItem.cause.choice.radioNetwork = e_rab_release_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_transport:
item->value.choice.E_RABItem.cause.choice.transport = e_rab_release_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_nas:
item->value.choice.E_RABItem.cause.choice.nas = e_rab_release_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_protocol:
item->value.choice.E_RABItem.cause.choice.protocol = e_rab_release_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_misc:
item->value.choice.E_RABItem.cause.choice.misc = e_rab_release_resp_p->e_rabs_failed[i].cause_value;
break;
case S1AP_Cause_PR_NOTHING:
default:
break;
@@ -1488,6 +1518,7 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
}
/* optional */
#if (S1AP_VERSION >= MAKE_VERSION(12, 0, 0))
if(0) {
ie = (S1AP_E_RABReleaseResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABReleaseResponseIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_UserLocationInformation;
@@ -1496,9 +1527,9 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
// ie->value.choice.UserLocationInformation = ;
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
#endif /* #if (S1AP_VERSION >= MAKE_VERSION(14, 0, 0)) */
fprintf(stderr, "start encode\n");
if (s1ap_eNB_encode_pdu(&pdu, &buffer, &length) < 0) {
S1AP_ERROR("Failed to encode release response\n");
/* Encode procedure has failed... */
+6 -1
View File
@@ -50,13 +50,18 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
s1ap_eNB_mme_data_t *mme_desc_p;
S1AP_OverloadStart_t *container;
S1AP_OverloadStartIEs_t *ie;
DevAssert(pdu != NULL);
container = &pdu->choice.initiatingMessage.value.choice.OverloadStart;
S1AP_FIND_PROTOCOLIE_BY_ID(S1AP_OverloadStartIEs_t, ie, container,
S1AP_ProtocolIE_ID_id_OverloadResponse, TRUE);
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);
+17 -1
View File
@@ -47,9 +47,11 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p,
S1AP_TraceFailureIndicationIEs_t *ie;
uint8_t *buffer = NULL;
uint32_t length;
DevAssert(ue_desc_p != NULL);
DevAssert(trace_id != NULL);
DevAssert(cause_p != NULL);
/* Prepare the S1AP message to encode */
memset(&pdu, 0, sizeof(pdu));
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
@@ -57,24 +59,34 @@ void s1ap_eNB_generate_trace_failure(struct s1ap_eNB_ue_context_s *ue_desc_p,
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_ignore;
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_TraceFailureIndication;
out = &pdu.choice.initiatingMessage.value.choice.TraceFailureIndication;
/* 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);
/* 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);
/* 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);
/* mandatory */
ie = (S1AP_TraceFailureIndicationIEs_t *)calloc(1, sizeof(S1AP_TraceFailureIndicationIEs_t));
ie->id = S1AP_ProtocolIE_ID_id_Cause;
ie->criticality = S1AP_Criticality_ignore;
@@ -99,15 +111,19 @@ int s1ap_eNB_handle_trace_start(uint32_t assoc_id,
S1AP_TraceStartIEs_t *ie;
struct s1ap_eNB_ue_context_s *ue_desc_p;
struct s1ap_eNB_mme_data_s *mme_ref_p;
DevAssert(pdu != NULL);
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,
ie->value.choice.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.
*/
+1 -1
View File
@@ -35,7 +35,7 @@
#include <sys/socket.h>
#if defined(ENB_MODE)
# include "UTIL/LOG/log.h"
# include "common/utils/LOG/log.h"
# define SCTP_ERROR(x, args...) LOG_E(SCTP, x, ##args)
# define SCTP_WARN(x, args...) LOG_W(SCTP, x, ##args)
# define SCTP_DEBUG(x, args...) LOG_I(SCTP, x, ##args)
-15
View File
@@ -203,19 +203,6 @@ sctp_handle_new_association_req(
if (s > 0 ) {
if (((struct sockaddr_in*)ifa->ifa_addr)->sin_addr.s_addr == in.s_addr) {
#if 0
memset(&ifr, 0, sizeof(ifr));
snprintf(ifr.ifr_name, sizeof(ifr.ifr_name), "%s",ifa->ifa_name);
if (setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, (void *)&ifr, sizeof(ifr)) < 0) {
SCTP_ERROR("Setsockopt SOL_SOCKET failed: %s\n",
strerror(errno));
} else {
SCTP_DEBUG("Setsockopt SOL_SOCKET socket bound to : %s\n",
ifa->ifa_name);
}
#else
struct sockaddr_in locaddr;
locaddr.sin_family = AF_INET;
locaddr.sin_port = htons(sctp_new_association_req_p->port);
@@ -228,8 +215,6 @@ sctp_handle_new_association_req(
SCTP_DEBUG("sctp_bindx SCTP_BINDX_ADD_ADDR socket bound to : %s\n",
inet_ntoa(locaddr.sin_addr));
}
#endif
break;
}
@@ -45,7 +45,7 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -26;
pdsch_p_b = 0;
pusch_n_SB = 1;
@@ -44,7 +44,7 @@ eNBs =
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pucch_n1_AN = 0;
pdsch_referenceSignalPower = -26;
pdsch_p_b = 0;
pusch_n_SB = 1;
+1 -1
View File
@@ -40,7 +40,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 {\
+1 -1
View File
@@ -1206,7 +1206,7 @@ int main( int argc, char **argv )
logInit();
set_glog(LOG_TRACE, LOG_MED);
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
set_comp_log(ENB_APP, LOG_TRACE, LOG_MED, 1);
set_comp_log(S1AP, LOG_TRACE, LOG_MED, 1);
@@ -38,6 +38,7 @@ int et_s1ap_decode_pdu(S1AP_PDU_t *const pdu, const uint8_t *const buffer, const
{
asn_dec_rval_t dec_ret;
DevAssert(buffer != NULL);
memset((void *)pdu, 0, sizeof(S1AP_S1AP_PDU_t));
dec_ret = aper_decode(NULL,
&asn_DEF_S1AP_S1AP_PDU,
+19 -19
View File
@@ -170,13 +170,13 @@ 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:
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;
@@ -187,7 +187,7 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t *const spacket, et_packet
break;
case S1AP_ProcedureCode_id_HandoverResourceAllocation:
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;
@@ -201,17 +201,17 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t *const spacket, et_packet
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;
@@ -453,28 +453,28 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t *const spacket, et_packet
}*/
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:
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;
@@ -484,22 +484,22 @@ int et_handle_s1ap_mismatch_mme_ue_s1ap_id(et_packet_t *const spacket, et_packet
}*/
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;
@@ -705,7 +705,7 @@ int et_s1ap_process_rx_packet(et_event_s1ap_data_ind_t *const s1ap_data_ind)
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))
// (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
@@ -60,7 +60,7 @@ extern uint32_t g_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)
void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t * const s1ap, xmlNode *node, const S1ap_MME_UE_S1AP_ID_t new_id)
{
xmlNode *cur_node = NULL;
xmlAttrPtr attr = NULL;
+1 -1
View File
@@ -69,7 +69,7 @@ int main(int argc, char *argv[])
/* Calling each layer init function */
log_init(&mme_config);
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, NULL);
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
sctp_init(&mme_config);
udp_init(&mme_config);
s1ap_mme_init(&mme_config);
+1 -6
View File
@@ -57,7 +57,6 @@ static void *eNB_app_task (void *args_p);
void mme_test_s1_start_test(instance_t instance);
//------------------------------------------------------------------------------
static char *conf_config_file_name = NULL;
static char *itti_dump_file = NULL;
const Enb_properties_array_t *enb_properties = NULL;
int16_t glog_level = LOG_INFO;
int16_t glog_verbosity = LOG_MED;
@@ -77,10 +76,6 @@ static void get_options (int argc, char **argv)
while ((c = getopt_long (argc, argv, "K:g:G:O:",NULL,NULL)) != -1) {
switch (c) {
case 'K':
itti_dump_file = strdup(optarg);
break;
case 'O':
conf_config_file_name = optarg;
break;
@@ -316,7 +311,7 @@ int main( int argc, char **argv )
/* Read eNB configuration file */
enb_properties = enb_config_init(conf_config_file_name);
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info, messages_definition_xml, itti_dump_file);
itti_init(TASK_MAX, THREAD_MAX, MESSAGES_ID_MAX, tasks_info, messages_info);
itti_wait_ready(1);
+4 -7
View File
@@ -42,8 +42,8 @@
#include "assertions.h"
#include "udp_eNB_task.h"
#include "UTIL/LOG/log.h"
#include "UTIL/LOG/vcd_signal_dumper.h"
#include "common/utils/LOG/log.h"
#include "common/utils/LOG/vcd_signal_dumper.h"
#include "msc.h"
@@ -276,13 +276,10 @@ void udp_eNB_receiver(struct udp_socket_desc_s *udp_sock_pP)
* if the queue is full.
*/
/* look for HACK_RLC_UM_LIMIT for others places related to the hack. Please do not remove this comment. */
//if (itti_send_msg_to_task(udp_sock_pP->task_id, INSTANCE_DEFAULT, message_p) < 0) {
if (itti_try_send_msg_to_task(udp_sock_pP->task_id, INSTANCE_DEFAULT, message_p) < 0) {
#if 0
LOG_I(UDP_, "Failed to send message %d to task %d\n",
LOG_E(UDP_, "Failed to send message %d to task %d\n",
UDP_DATA_IND,
udp_sock_pP->task_id);
#endif
itti_free(TASK_UDP, message_p);
itti_free(TASK_UDP, forwarded_buffer);
return;
@@ -434,7 +431,7 @@ on_error:
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UDP_ENB_TASK, VCD_FUNCTION_OUT);
}
LOG_N(UDP_, "Task UDP eNB exiting\n");
LOG_I(UDP_, "Task UDP eNB exiting\n");
return NULL;
}
+2 -1
View File
@@ -51,11 +51,12 @@
* SCTP Constants
******************************************************************************/
/*
#define SCTP_RECV_BUFFER_SIZE (1 << 16)
#define SCTP_OUT_STREAMS (32)
#define SCTP_IN_STREAMS (32)
#define SCTP_MAX_ATTEMPTS (5)
*/
/*******************************************************************************
* MME global definitions
******************************************************************************/