merge develop
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 ) {
|
||||
|
||||
@@ -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_
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 ********************/
|
||||
/****************************************************************************/
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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,232 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
S1ap-Criticality ::= ENUMERATED { reject, ignore, notify }
|
||||
|
||||
S1ap-Presence ::= ENUMERATED { optional, conditional, mandatory }
|
||||
|
||||
S1ap-PrivateIE-ID ::= CHOICE {
|
||||
local INTEGER (0..65535),
|
||||
global OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
S1ap-ProcedureCode ::= INTEGER {
|
||||
id-HandoverPreparation(0),
|
||||
id-HandoverResourceAllocation(1),
|
||||
id-HandoverNotification(2),
|
||||
id-PathSwitchRequest(3),
|
||||
id-HandoverCancel(4),
|
||||
id-E-RABSetup(5),
|
||||
id-E-RABModify(6),
|
||||
id-E-RABRelease(7),
|
||||
id-E-RABReleaseIndication(8),
|
||||
id-InitialContextSetup(9),
|
||||
id-Paging(10),
|
||||
id-downlinkNASTransport(11),
|
||||
id-initialUEMessage(12),
|
||||
id-uplinkNASTransport(13),
|
||||
id-Reset(14),
|
||||
id-ErrorIndication(15),
|
||||
id-NASNonDeliveryIndication(16),
|
||||
id-S1Setup(17),
|
||||
id-UEContextReleaseRequest(18),
|
||||
id-DownlinkS1cdma2000tunneling(19),
|
||||
id-UplinkS1cdma2000tunneling(20),
|
||||
id-UEContextModification(21),
|
||||
id-UECapabilityInfoIndication(22),
|
||||
id-UEContextRelease(23),
|
||||
id-eNBStatusTransfer(24),
|
||||
id-MMEStatusTransfer(25),
|
||||
id-DeactivateTrace(26),
|
||||
id-TraceStart(27),
|
||||
id-TraceFailureIndication(28),
|
||||
id-ENBConfigurationUpdate(29),
|
||||
id-MMEConfigurationUpdate(30),
|
||||
id-LocationReportingControl(31),
|
||||
id-LocationReportingFailureIndication(32),
|
||||
id-LocationReport(33),
|
||||
id-OverloadStart(34),
|
||||
id-OverloadStop(35),
|
||||
id-WriteReplaceWarning(36),
|
||||
id-eNBDirectInformationTransfer(37),
|
||||
id-MMEDirectInformationTransfer(38),
|
||||
id-PrivateMessage(39),
|
||||
id-eNBConfigurationTransfer(40),
|
||||
id-MMEConfigurationTransfer(41),
|
||||
id-CellTrafficTrace(42),
|
||||
id-Kill(43),
|
||||
id-downlinkUEAssociatedLPPaTransport(44),
|
||||
id-uplinkUEAssociatedLPPaTransport(45),
|
||||
id-downlinkNonUEAssociatedLPPaTransport(46),
|
||||
id-uplinkNonUEAssociatedLPPaTransport(47)
|
||||
} (0..255)
|
||||
|
||||
S1ap-ProtocolExtensionID ::= INTEGER (0..65535)
|
||||
|
||||
S1ap-ProtocolIE-ID ::= INTEGER {
|
||||
id-MME-UE-S1AP-ID (0),
|
||||
id-HandoverType (1),
|
||||
id-Cause (2),
|
||||
id-SourceID (3),
|
||||
id-TargetID (4),
|
||||
id-eNB-UE-S1AP-ID (8),
|
||||
id-E-RABSubjecttoDataForwardingList (12),
|
||||
id-E-RABtoReleaseListHOCmd (13),
|
||||
id-E-RABDataForwardingItem (14),
|
||||
id-E-RABReleaseItemBearerRelComp (15),
|
||||
id-E-RABToBeSetupListBearerSUReq (16),
|
||||
id-E-RABToBeSetupItemBearerSUReq (17),
|
||||
id-E-RABAdmittedList (18),
|
||||
id-E-RABFailedToSetupListHOReqAck (19),
|
||||
id-E-RABAdmittedItem (20),
|
||||
id-E-RABFailedToSetupItemHOReqAck (21),
|
||||
id-E-RABToBeSwitchedDLList (22),
|
||||
id-E-RABToBeSwitchedDLItem (23),
|
||||
id-E-RABToBeSetupListCtxtSUReq (24),
|
||||
id-TraceActivation (25),
|
||||
id-NAS-PDU (26),
|
||||
id-E-RABToBeSetupItemHOReq (27),
|
||||
id-E-RABSetupListBearerSURes (28),
|
||||
id-E-RABFailedToSetupListBearerSURes (29),
|
||||
id-E-RABToBeModifiedListBearerModReq (30),
|
||||
id-E-RABModifyListBearerModRes (31),
|
||||
id-E-RABFailedToModifyList (32),
|
||||
id-E-RABToBeReleasedList (33),
|
||||
id-E-RABFailedToReleaseList (34),
|
||||
id-E-RABItem (35),
|
||||
id-E-RABToBeModifiedItemBearerModReq (36),
|
||||
id-E-RABModifyItemBearerModRes (37),
|
||||
id-E-RABReleaseItem (38),
|
||||
id-E-RABSetupItemBearerSURes (39),
|
||||
id-SecurityContext (40),
|
||||
id-HandoverRestrictionList (41),
|
||||
id-UEPagingID (43),
|
||||
id-pagingDRX (44),
|
||||
id-TAIList (46),
|
||||
id-TAIItem (47),
|
||||
id-E-RABFailedToSetupListCtxtSURes (48),
|
||||
id-E-RABReleaseItemHOCmd (49),
|
||||
id-E-RABSetupItemCtxtSURes (50),
|
||||
id-E-RABSetupListCtxtSURes (51),
|
||||
id-E-RABToBeSetupItemCtxtSUReq (52),
|
||||
id-E-RABToBeSetupListHOReq (53),
|
||||
id-GERANtoLTEHOInformationRes (55),
|
||||
id-UTRANtoLTEHOInformationRes (57),
|
||||
id-CriticalityDiagnostics (58),
|
||||
id-Global-ENB-ID (59),
|
||||
id-eNBname (60),
|
||||
id-MMEname (61),
|
||||
id-ServedPLMNs (63),
|
||||
id-SupportedTAs (64),
|
||||
id-TimeToWait (65),
|
||||
id-uEaggregateMaximumBitrate (66),
|
||||
id-TAI (67),
|
||||
id-E-RABReleaseListBearerRelComp (69),
|
||||
id-cdma2000PDU (70),
|
||||
id-cdma2000RATType (71),
|
||||
id-cdma2000SectorID (72),
|
||||
id-SecurityKey (73),
|
||||
id-UERadioCapability (74),
|
||||
id-GUMMEI-ID (75),
|
||||
id-E-RABInformationListItem (78),
|
||||
id-Direct-Forwarding-Path-Availability (79),
|
||||
id-UEIdentityIndexValue (80),
|
||||
id-cdma2000HOStatus (83),
|
||||
id-cdma2000HORequiredIndication (84),
|
||||
id-E-UTRAN-Trace-ID (86),
|
||||
id-RelativeMMECapacity (87),
|
||||
id-SourceMME-UE-S1AP-ID (88),
|
||||
id-Bearers-SubjectToStatusTransfer-Item (89),
|
||||
id-eNB-StatusTransfer-TransparentContainer (90),
|
||||
id-UE-associatedLogicalS1-ConnectionItem (91),
|
||||
id-ResetType (92),
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck (93),
|
||||
id-E-RABToBeSwitchedULItem (94),
|
||||
id-E-RABToBeSwitchedULList (95),
|
||||
id-S-TMSI (96),
|
||||
id-cdma2000OneXRAND (97),
|
||||
id-RequestType (98),
|
||||
id-UE-S1AP-IDs (99),
|
||||
id-EUTRAN-CGI (100),
|
||||
id-OverloadResponse (101),
|
||||
id-cdma2000OneXSRVCCInfo (102),
|
||||
id-E-RABFailedToBeReleasedList (103),
|
||||
id-Source-ToTarget-TransparentContainer (104),
|
||||
id-ServedGUMMEIs (105),
|
||||
id-SubscriberProfileIDforRFP (106),
|
||||
id-UESecurityCapabilities (107),
|
||||
id-CSFallbackIndicator (108),
|
||||
id-CNDomain (109),
|
||||
id-E-RABReleasedList (110),
|
||||
id-MessageIdentifier (111),
|
||||
id-SerialNumber (112),
|
||||
id-WarningAreaList (113),
|
||||
id-RepetitionPeriod (114),
|
||||
id-NumberofBroadcastRequest (115),
|
||||
id-WarningType (116),
|
||||
id-WarningSecurityInfo (117),
|
||||
id-DataCodingScheme (118),
|
||||
id-WarningMessageContents (119),
|
||||
id-BroadcastCompletedAreaList (120),
|
||||
id-Inter-SystemInformationTransferTypeEDT (121),
|
||||
id-Inter-SystemInformationTransferTypeMDT (122),
|
||||
id-Target-ToSource-TransparentContainer (123),
|
||||
id-SRVCCOperationPossible (124),
|
||||
id-SRVCCHOIndication (125),
|
||||
id-NAS-DownlinkCount (126),
|
||||
id-CSG-Id (127),
|
||||
id-CSG-IdList (128),
|
||||
id-SONConfigurationTransferECT (129),
|
||||
id-SONConfigurationTransferMCT (130),
|
||||
id-TraceCollectionEntityIPAddress (131),
|
||||
id-MSClassmark2 (132),
|
||||
id-MSClassmark3 (133),
|
||||
id-RRC-Establishment-Cause (134),
|
||||
id-NASSecurityParametersfromE-UTRAN (135),
|
||||
id-NASSecurityParameterstoE-UTRAN (136),
|
||||
id-DefaultPagingDRX (137),
|
||||
id-Source-ToTarget-TransparentContainer-Secondary (138),
|
||||
id-Target-ToSource-TransparentContainer-Secondary (139),
|
||||
id-EUTRANRoundTripDelayEstimationInfo (140),
|
||||
id-BroadcastCancelledAreaList (141),
|
||||
id-ConcurrentWarningMessageIndicator (142),
|
||||
id-Data-Forwarding-Not-Possible (143),
|
||||
id-ExtendedRepetitionPeriod (144),
|
||||
id-CellAccessMode (145),
|
||||
id-CSGMembershipStatus (146),
|
||||
id-LPPa-PDU (147),
|
||||
id-Routing-ID (148),
|
||||
id-Time-Synchronization-Info (149),
|
||||
id-PS-ServiceNotAvailable (150),
|
||||
id-PagingPriority (151),
|
||||
id-x2TNLConfigurationInfo (152),
|
||||
id-eNBX2ExtendedTransportLayerAddresses (153),
|
||||
id-GUMMEIList (154),
|
||||
id-GW-TransportLayerAddress (155),
|
||||
id-Correlation-ID (156),
|
||||
id-SourceMME-GUMMEI (157),
|
||||
id-MME-UE-S1AP-ID-2 (158),
|
||||
id-RegisteredLAI (159),
|
||||
id-RelayNode-Indicator (160),
|
||||
id-TrafficLoadReductionIndication (161),
|
||||
id-MDTConfiguration (162),
|
||||
id-MMERelaySupportIndicator (163),
|
||||
id-GWContextReleaseIndication (164),
|
||||
id-ManagementBasedMDTAllowed (165),
|
||||
id-PrivacyIndicator (166)
|
||||
} (0..65535)
|
||||
|
||||
S1ap-TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
|
||||
|
||||
END
|
||||
@@ -1,283 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
S1ap-ProcedureCode,
|
||||
S1ap-ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-HandoverPreparation S1ap-ProcedureCode ::= 0
|
||||
id-HandoverResourceAllocation S1ap-ProcedureCode ::= 1
|
||||
id-HandoverNotification S1ap-ProcedureCode ::= 2
|
||||
id-PathSwitchRequest S1ap-ProcedureCode ::= 3
|
||||
id-HandoverCancel S1ap-ProcedureCode ::= 4
|
||||
id-E-RABSetup S1ap-ProcedureCode ::= 5
|
||||
id-E-RABModify S1ap-ProcedureCode ::= 6
|
||||
id-E-RABRelease S1ap-ProcedureCode ::= 7
|
||||
id-E-RABReleaseIndication S1ap-ProcedureCode ::= 8
|
||||
id-InitialContextSetup S1ap-ProcedureCode ::= 9
|
||||
id-Paging S1ap-ProcedureCode ::= 10
|
||||
id-downlinkNASTransport S1ap-ProcedureCode ::= 11
|
||||
id-initialUEMessage S1ap-ProcedureCode ::= 12
|
||||
id-uplinkNASTransport S1ap-ProcedureCode ::= 13
|
||||
id-Reset S1ap-ProcedureCode::= 14
|
||||
id-ErrorIndication S1ap-ProcedureCode ::= 15
|
||||
id-NASNonDeliveryIndication S1ap-ProcedureCode ::= 16
|
||||
id-S1Setup S1ap-ProcedureCode ::= 17
|
||||
id-UEContextReleaseRequest S1ap-ProcedureCode ::= 18
|
||||
id-DownlinkS1cdma2000tunneling S1ap-ProcedureCode ::= 19
|
||||
id-UplinkS1cdma2000tunneling S1ap-ProcedureCode ::= 20
|
||||
id-UEContextModification S1ap-ProcedureCode ::= 21
|
||||
id-UECapabilityInfoIndication S1ap-ProcedureCode ::= 22
|
||||
id-UEContextRelease S1ap-ProcedureCode ::= 23
|
||||
id-eNBStatusTransfer S1ap-ProcedureCode ::= 24
|
||||
id-MMEStatusTransfer S1ap-ProcedureCode ::= 25
|
||||
id-DeactivateTrace S1ap-ProcedureCode ::= 26
|
||||
id-TraceStart S1ap-ProcedureCode ::= 27
|
||||
id-TraceFailureIndication S1ap-ProcedureCode ::= 28
|
||||
id-ENBConfigurationUpdate S1ap-ProcedureCode ::= 29
|
||||
id-MMEConfigurationUpdate S1ap-ProcedureCode ::= 30
|
||||
id-LocationReportingControl S1ap-ProcedureCode ::= 31
|
||||
id-LocationReportingFailureIndication S1ap-ProcedureCode ::= 32
|
||||
id-LocationReport S1ap-ProcedureCode ::= 33
|
||||
id-OverloadStart S1ap-ProcedureCode ::= 34
|
||||
id-OverloadStop S1ap-ProcedureCode ::= 35
|
||||
id-WriteReplaceWarning S1ap-ProcedureCode ::= 36
|
||||
id-eNBDirectInformationTransfer S1ap-ProcedureCode ::= 37
|
||||
id-MMEDirectInformationTransfer S1ap-ProcedureCode ::= 38
|
||||
id-PrivateMessage S1ap-ProcedureCode ::= 39
|
||||
id-eNBConfigurationTransfer S1ap-ProcedureCode ::= 40
|
||||
id-MMEConfigurationTransfer S1ap-ProcedureCode ::= 41
|
||||
id-CellTrafficTrace S1ap-ProcedureCode ::= 42
|
||||
id-Kill S1ap-ProcedureCode ::= 43
|
||||
id-downlinkUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 44
|
||||
id-uplinkUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 45
|
||||
id-downlinkNonUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 46
|
||||
id-uplinkNonUEAssociatedLPPaTransport S1ap-ProcedureCode ::= 47
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
s1ap-maxPrivateIEs INTEGER ::= 65535
|
||||
s1ap-maxProtocolExtensions INTEGER ::= 65535
|
||||
s1ap-maxProtocolIEs INTEGER ::= 65535
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
s1ap-maxNrOfCSGs INTEGER ::= 256
|
||||
s1ap-maxNrOfE-RABs INTEGER ::= 256
|
||||
s1ap-maxnoofTAIs INTEGER ::= 256
|
||||
s1ap-maxnoofTACs INTEGER ::= 256
|
||||
s1ap-maxNrOfErrors INTEGER ::= 256
|
||||
s1ap-maxnoofBPLMNs INTEGER ::= 6
|
||||
s1ap-maxnoofPLMNsPerMME INTEGER ::= 32
|
||||
s1ap-maxnoofEPLMNs INTEGER ::= 15
|
||||
s1ap-maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
s1ap-maxnoofForbLACs INTEGER ::= 4096
|
||||
s1ap-maxnoofForbTACs INTEGER ::= 4096
|
||||
s1ap-maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
|
||||
s1ap-maxnoofCells INTEGER ::= 16
|
||||
s1ap-maxnoofTAIforWarning INTEGER ::= 65535
|
||||
s1ap-maxnoofCellID INTEGER ::= 65535
|
||||
s1ap-maxnoofEmergencyAreaID INTEGER ::= 65535
|
||||
s1ap-maxnoofCellinTAI INTEGER ::= 65535
|
||||
s1ap-maxnoofCellinEAI INTEGER ::= 65535
|
||||
s1ap-maxnoofeNBX2TLAs INTEGER ::= 2
|
||||
s1ap-maxnoofeNBX2ExtTLAs INTEGER ::= 16
|
||||
s1ap-maxnoofeNBX2GTPTLAs INTEGER ::= 16
|
||||
s1ap-maxnoofRATs INTEGER ::= 8
|
||||
s1ap-maxnoofGroupIDs INTEGER ::= 65535
|
||||
s1ap-maxnoofMMECs INTEGER ::= 256
|
||||
s1ap-maxnoofCellIDforMDT INTEGER ::= 32
|
||||
s1ap-maxnoofTAforMDT INTEGER ::= 8
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-MME-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 0
|
||||
id-HandoverType S1ap-ProtocolIE-ID ::= 1
|
||||
id-Cause S1ap-ProtocolIE-ID ::= 2
|
||||
id-SourceID S1ap-ProtocolIE-ID ::= 3
|
||||
id-TargetID S1ap-ProtocolIE-ID ::= 4
|
||||
id-eNB-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 8
|
||||
id-E-RABSubjecttoDataForwardingList S1ap-ProtocolIE-ID ::= 12
|
||||
id-E-RABtoReleaseListHOCmd S1ap-ProtocolIE-ID ::= 13
|
||||
id-E-RABDataForwardingItem S1ap-ProtocolIE-ID ::= 14
|
||||
id-E-RABReleaseItemBearerRelComp S1ap-ProtocolIE-ID ::= 15
|
||||
id-E-RABToBeSetupListBearerSUReq S1ap-ProtocolIE-ID ::= 16
|
||||
id-E-RABToBeSetupItemBearerSUReq S1ap-ProtocolIE-ID ::= 17
|
||||
id-E-RABAdmittedList S1ap-ProtocolIE-ID ::= 18
|
||||
id-E-RABFailedToSetupListHOReqAck S1ap-ProtocolIE-ID ::= 19
|
||||
id-E-RABAdmittedItem S1ap-ProtocolIE-ID ::= 20
|
||||
id-E-RABFailedtoSetupItemHOReqAck S1ap-ProtocolIE-ID ::= 21
|
||||
id-E-RABToBeSwitchedDLList S1ap-ProtocolIE-ID ::= 22
|
||||
id-E-RABToBeSwitchedDLItem S1ap-ProtocolIE-ID ::= 23
|
||||
id-E-RABToBeSetupListCtxtSUReq S1ap-ProtocolIE-ID ::= 24
|
||||
id-TraceActivation S1ap-ProtocolIE-ID ::= 25
|
||||
id-NAS-PDU S1ap-ProtocolIE-ID ::= 26
|
||||
id-E-RABToBeSetupItemHOReq S1ap-ProtocolIE-ID ::= 27
|
||||
id-E-RABSetupListBearerSURes S1ap-ProtocolIE-ID ::= 28
|
||||
id-E-RABFailedToSetupListBearerSURes S1ap-ProtocolIE-ID ::= 29
|
||||
id-E-RABToBeModifiedListBearerModReq S1ap-ProtocolIE-ID ::= 30
|
||||
id-E-RABModifyListBearerModRes S1ap-ProtocolIE-ID ::= 31
|
||||
id-E-RABFailedToModifyList S1ap-ProtocolIE-ID ::= 32
|
||||
id-E-RABToBeReleasedList S1ap-ProtocolIE-ID ::= 33
|
||||
id-E-RABFailedToReleaseList S1ap-ProtocolIE-ID ::= 34
|
||||
id-E-RABItem S1ap-ProtocolIE-ID ::= 35
|
||||
id-E-RABToBeModifiedItemBearerModReq S1ap-ProtocolIE-ID ::= 36
|
||||
id-E-RABModifyItemBearerModRes S1ap-ProtocolIE-ID ::= 37
|
||||
id-E-RABReleaseItem S1ap-ProtocolIE-ID ::= 38
|
||||
id-E-RABSetupItemBearerSURes S1ap-ProtocolIE-ID ::= 39
|
||||
id-SecurityContext S1ap-ProtocolIE-ID ::= 40
|
||||
id-HandoverRestrictionList S1ap-ProtocolIE-ID ::= 41
|
||||
id-UEPagingID S1ap-ProtocolIE-ID ::= 43
|
||||
id-pagingDRX S1ap-ProtocolIE-ID ::= 44
|
||||
id-TAIList S1ap-ProtocolIE-ID ::= 46
|
||||
id-TAIItem S1ap-ProtocolIE-ID ::= 47
|
||||
id-E-RABFailedToSetupListCtxtSURes S1ap-ProtocolIE-ID ::= 48
|
||||
id-E-RABReleaseItemHOCmd S1ap-ProtocolIE-ID ::= 49
|
||||
id-E-RABSetupItemCtxtSURes S1ap-ProtocolIE-ID ::= 50
|
||||
id-E-RABSetupListCtxtSURes S1ap-ProtocolIE-ID ::= 51
|
||||
id-E-RABToBeSetupItemCtxtSUReq S1ap-ProtocolIE-ID ::= 52
|
||||
id-E-RABToBeSetupListHOReq S1ap-ProtocolIE-ID ::= 53
|
||||
id-GERANtoLTEHOInformationRes S1ap-ProtocolIE-ID ::= 55
|
||||
id-UTRANtoLTEHOInformationRes S1ap-ProtocolIE-ID ::= 57
|
||||
id-CriticalityDiagnostics S1ap-ProtocolIE-ID ::= 58
|
||||
id-Global-ENB-ID S1ap-ProtocolIE-ID ::= 59
|
||||
id-eNBname S1ap-ProtocolIE-ID ::= 60
|
||||
id-MMEname S1ap-ProtocolIE-ID ::= 61
|
||||
id-ServedPLMNs S1ap-ProtocolIE-ID ::= 63
|
||||
id-SupportedTAs S1ap-ProtocolIE-ID ::= 64
|
||||
id-TimeToWait S1ap-ProtocolIE-ID ::= 65
|
||||
id-uEaggregateMaximumBitrate S1ap-ProtocolIE-ID ::= 66
|
||||
id-TAI S1ap-ProtocolIE-ID ::= 67
|
||||
id-E-RABReleaseListBearerRelComp S1ap-ProtocolIE-ID ::= 69
|
||||
id-cdma2000PDU S1ap-ProtocolIE-ID ::= 70
|
||||
id-cdma2000RATType S1ap-ProtocolIE-ID ::= 71
|
||||
id-cdma2000SectorID S1ap-ProtocolIE-ID ::= 72
|
||||
id-SecurityKey S1ap-ProtocolIE-ID ::= 73
|
||||
id-UERadioCapability S1ap-ProtocolIE-ID ::= 74
|
||||
id-GUMMEI-ID S1ap-ProtocolIE-ID ::= 75
|
||||
id-E-RABInformationListItem S1ap-ProtocolIE-ID ::= 78
|
||||
id-Direct-Forwarding-Path-Availability S1ap-ProtocolIE-ID ::= 79
|
||||
id-UEIdentityIndexValue S1ap-ProtocolIE-ID ::= 80
|
||||
id-cdma2000HOStatus S1ap-ProtocolIE-ID ::= 83
|
||||
id-cdma2000HORequiredIndication S1ap-ProtocolIE-ID ::= 84
|
||||
id-E-UTRAN-Trace-ID S1ap-ProtocolIE-ID ::= 86
|
||||
id-RelativeMMECapacity S1ap-ProtocolIE-ID ::= 87
|
||||
id-SourceMME-UE-S1AP-ID S1ap-ProtocolIE-ID ::= 88
|
||||
id-Bearers-SubjectToStatusTransfer-Item S1ap-ProtocolIE-ID ::= 89
|
||||
id-eNB-StatusTransfer-TransparentContainer S1ap-ProtocolIE-ID ::= 90
|
||||
id-UE-associatedLogicalS1-ConnectionItem S1ap-ProtocolIE-ID ::= 91
|
||||
id-ResetType S1ap-ProtocolIE-ID ::= 92
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck S1ap-ProtocolIE-ID ::= 93
|
||||
id-E-RABToBeSwitchedULItem S1ap-ProtocolIE-ID ::= 94
|
||||
id-E-RABToBeSwitchedULList S1ap-ProtocolIE-ID ::= 95
|
||||
id-S-TMSI S1ap-ProtocolIE-ID ::= 96
|
||||
id-cdma2000OneXRAND S1ap-ProtocolIE-ID ::= 97
|
||||
id-RequestType S1ap-ProtocolIE-ID ::= 98
|
||||
id-UE-S1AP-IDs S1ap-ProtocolIE-ID ::= 99
|
||||
id-EUTRAN-CGI S1ap-ProtocolIE-ID ::= 100
|
||||
id-OverloadResponse S1ap-ProtocolIE-ID ::= 101
|
||||
id-cdma2000OneXSRVCCInfo S1ap-ProtocolIE-ID ::= 102
|
||||
id-E-RABFailedToBeReleasedList S1ap-ProtocolIE-ID ::= 103
|
||||
id-Source-ToTarget-TransparentContainer S1ap-ProtocolIE-ID ::= 104
|
||||
id-ServedGUMMEIs S1ap-ProtocolIE-ID ::= 105
|
||||
id-SubscriberProfileIDforRFP S1ap-ProtocolIE-ID ::= 106
|
||||
id-UESecurityCapabilities S1ap-ProtocolIE-ID ::= 107
|
||||
id-CSFallbackIndicator S1ap-ProtocolIE-ID ::= 108
|
||||
id-CNDomain S1ap-ProtocolIE-ID ::= 109
|
||||
id-E-RABReleasedList S1ap-ProtocolIE-ID ::= 110
|
||||
id-MessageIdentifier S1ap-ProtocolIE-ID ::= 111
|
||||
id-SerialNumber S1ap-ProtocolIE-ID ::= 112
|
||||
id-WarningAreaList S1ap-ProtocolIE-ID ::= 113
|
||||
id-RepetitionPeriod S1ap-ProtocolIE-ID ::= 114
|
||||
id-NumberofBroadcastRequest S1ap-ProtocolIE-ID ::= 115
|
||||
id-WarningType S1ap-ProtocolIE-ID ::= 116
|
||||
id-WarningSecurityInfo S1ap-ProtocolIE-ID ::= 117
|
||||
id-DataCodingScheme S1ap-ProtocolIE-ID ::= 118
|
||||
id-WarningMessageContents S1ap-ProtocolIE-ID ::= 119
|
||||
id-BroadcastCompletedAreaList S1ap-ProtocolIE-ID ::= 120
|
||||
id-Inter-SystemInformationTransferTypeEDT S1ap-ProtocolIE-ID ::= 121
|
||||
id-Inter-SystemInformationTransferTypeMDT S1ap-ProtocolIE-ID ::= 122
|
||||
id-Target-ToSource-TransparentContainer S1ap-ProtocolIE-ID ::= 123
|
||||
id-SRVCCOperationPossible S1ap-ProtocolIE-ID ::= 124
|
||||
id-SRVCCHOIndication S1ap-ProtocolIE-ID ::= 125
|
||||
id-NAS-DownlinkCount S1ap-ProtocolIE-ID ::= 126
|
||||
id-CSG-Id S1ap-ProtocolIE-ID ::= 127
|
||||
id-CSG-IdList S1ap-ProtocolIE-ID ::= 128
|
||||
id-SONConfigurationTransferECT S1ap-ProtocolIE-ID ::= 129
|
||||
id-SONConfigurationTransferMCT S1ap-ProtocolIE-ID ::= 130
|
||||
id-TraceCollectionEntityIPAddress S1ap-ProtocolIE-ID ::= 131
|
||||
id-MSClassmark2 S1ap-ProtocolIE-ID ::= 132
|
||||
id-MSClassmark3 S1ap-ProtocolIE-ID ::= 133
|
||||
id-RRC-Establishment-Cause S1ap-ProtocolIE-ID ::= 134
|
||||
id-NASSecurityParametersfromE-UTRAN S1ap-ProtocolIE-ID ::= 135
|
||||
id-NASSecurityParameterstoE-UTRAN S1ap-ProtocolIE-ID ::= 136
|
||||
id-DefaultPagingDRX S1ap-ProtocolIE-ID ::= 137
|
||||
id-Source-ToTarget-TransparentContainer-Secondary S1ap-ProtocolIE-ID ::= 138
|
||||
id-Target-ToSource-TransparentContainer-Secondary S1ap-ProtocolIE-ID ::= 139
|
||||
id-EUTRANRoundTripDelayEstimationInfo S1ap-ProtocolIE-ID ::= 140
|
||||
id-BroadcastCancelledAreaList S1ap-ProtocolIE-ID ::= 141
|
||||
id-ConcurrentWarningMessageIndicator S1ap-ProtocolIE-ID ::= 142
|
||||
id-Data-Forwarding-Not-Possible S1ap-ProtocolIE-ID ::= 143
|
||||
id-ExtendedRepetitionPeriod S1ap-ProtocolIE-ID ::= 144
|
||||
id-CellAccessMode S1ap-ProtocolIE-ID ::= 145
|
||||
id-CSGMembershipStatus S1ap-ProtocolIE-ID ::= 146
|
||||
id-LPPa-PDU S1ap-ProtocolIE-ID ::= 147
|
||||
id-Routing-ID S1ap-ProtocolIE-ID ::= 148
|
||||
id-Time-Synchronization-Info S1ap-ProtocolIE-ID ::= 149
|
||||
id-PS-ServiceNotAvailable S1ap-ProtocolIE-ID ::= 150
|
||||
id-PagingPriority S1ap-ProtocolIE-ID ::= 151
|
||||
id-x2TNLConfigurationInfo S1ap-ProtocolIE-ID ::= 152
|
||||
id-eNBX2ExtendedTransportLayerAddresses S1ap-ProtocolIE-ID ::= 153
|
||||
id-GUMMEIList S1ap-ProtocolIE-ID ::= 154
|
||||
id-GW-TransportLayerAddress S1ap-ProtocolIE-ID ::= 155
|
||||
id-Correlation-ID S1ap-ProtocolIE-ID ::= 156
|
||||
id-SourceMME-GUMMEI S1ap-ProtocolIE-ID ::= 157
|
||||
id-MME-UE-S1AP-ID-2 S1ap-ProtocolIE-ID ::= 158
|
||||
id-RegisteredLAI S1ap-ProtocolIE-ID ::= 159
|
||||
id-RelayNode-Indicator S1ap-ProtocolIE-ID ::= 160
|
||||
id-TrafficLoadReductionIndication S1ap-ProtocolIE-ID ::= 161
|
||||
id-MDTConfiguration S1ap-ProtocolIE-ID ::= 162
|
||||
id-MMERelaySupportIndicator S1ap-ProtocolIE-ID ::= 163
|
||||
id-GWContextReleaseIndication S1ap-ProtocolIE-ID ::= 164
|
||||
id-ManagementBasedMDTAllowed S1ap-ProtocolIE-ID ::= 165
|
||||
id-PrivacyIndicator S1ap-ProtocolIE-ID ::= 166
|
||||
|
||||
END
|
||||
@@ -1,197 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Containers {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
S1ap-Criticality,
|
||||
S1ap-Presence,
|
||||
S1ap-PrivateIE-ID,
|
||||
S1ap-ProtocolExtensionID,
|
||||
S1ap-ProtocolIE-ID
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
s1ap-maxPrivateIEs,
|
||||
s1ap-maxProtocolExtensions,
|
||||
s1ap-maxProtocolIEs
|
||||
FROM S1AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-IES ::= CLASS {
|
||||
&id S1ap-ProtocolIE-ID UNIQUE,
|
||||
&criticality S1ap-Criticality,
|
||||
&Value,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-IES-PAIR ::= CLASS {
|
||||
&id S1ap-ProtocolIE-ID UNIQUE,
|
||||
&firstCriticality S1ap-Criticality,
|
||||
&FirstValue,
|
||||
&secondCriticality S1ap-Criticality,
|
||||
&SecondValue,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
FIRST CRITICALITY &firstCriticality
|
||||
FIRST TYPE &FirstValue
|
||||
SECOND CRITICALITY &secondCriticality
|
||||
SECOND TYPE &SecondValue
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-EXTENSION ::= CLASS {
|
||||
&id S1ap-ProtocolExtensionID UNIQUE,
|
||||
&criticality S1ap-Criticality,
|
||||
&Extension,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
EXTENSION &Extension
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PRIVATE-IES ::= CLASS {
|
||||
&id S1ap-PrivateIE-ID,
|
||||
&criticality S1ap-Criticality,
|
||||
&Value,
|
||||
&presence S1ap-Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IE Pairs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-FieldPair {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
|
||||
firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
|
||||
firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
|
||||
secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
|
||||
secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container Lists for Protocol IE Containers
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-SingleContainer {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
|
||||
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
|
||||
ProtocolExtensionField {{ExtensionSetParam}}
|
||||
|
||||
ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
|
||||
criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
|
||||
extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
|
||||
SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
|
||||
PrivateIE-Field {{IEsSetParam}}
|
||||
|
||||
PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
END
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,590 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
S1ap-Criticality,
|
||||
S1ap-ProcedureCode
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
S1ap-CellTrafficTrace,
|
||||
S1ap-DeactivateTrace,
|
||||
S1ap-DownlinkUEAssociatedLPPaTransport,
|
||||
S1ap-DownlinkNASTransport,
|
||||
S1ap-DownlinkNonUEAssociatedLPPaTransport,
|
||||
S1ap-DownlinkS1cdma2000tunneling,
|
||||
S1ap-ENBDirectInformationTransfer,
|
||||
S1ap-ENBStatusTransfer,
|
||||
S1ap-ENBConfigurationUpdate,
|
||||
S1ap-ENBConfigurationUpdateAcknowledge,
|
||||
S1ap-ENBConfigurationUpdateFailure,
|
||||
S1ap-ErrorIndication,
|
||||
S1ap-HandoverCancel,
|
||||
S1ap-HandoverCancelAcknowledge,
|
||||
S1ap-HandoverCommand,
|
||||
S1ap-HandoverFailure,
|
||||
S1ap-HandoverNotify,
|
||||
S1ap-HandoverPreparationFailure,
|
||||
S1ap-HandoverRequest,
|
||||
S1ap-HandoverRequestAcknowledge,
|
||||
S1ap-HandoverRequired,
|
||||
S1ap-InitialContextSetupFailure,
|
||||
S1ap-InitialContextSetupRequest,
|
||||
S1ap-InitialContextSetupResponse,
|
||||
S1ap-InitialUEMessage,
|
||||
S1ap-KillRequest,
|
||||
S1ap-KillResponse,
|
||||
S1ap-LocationReportingControl,
|
||||
S1ap-LocationReportingFailureIndication,
|
||||
S1ap-LocationReport,
|
||||
S1ap-MMEConfigurationUpdate,
|
||||
S1ap-MMEConfigurationUpdateAcknowledge,
|
||||
S1ap-MMEConfigurationUpdateFailure,
|
||||
S1ap-MMEDirectInformationTransfer,
|
||||
S1ap-MMEStatusTransfer,
|
||||
S1ap-NASNonDeliveryIndication,
|
||||
S1ap-OverloadStart,
|
||||
S1ap-OverloadStop,
|
||||
S1ap-Paging,
|
||||
S1ap-PathSwitchRequest,
|
||||
S1ap-PathSwitchRequestAcknowledge,
|
||||
S1ap-PathSwitchRequestFailure,
|
||||
S1ap-PrivateMessage,
|
||||
S1ap-Reset,
|
||||
S1ap-ResetAcknowledge,
|
||||
S1ap-S1SetupFailure,
|
||||
S1ap-S1SetupRequest,
|
||||
S1ap-S1SetupResponse,
|
||||
E-S1ap-RABModifyRequest,
|
||||
E-S1ap-RABModifyResponse,
|
||||
E-S1ap-RABReleaseCommand,
|
||||
E-S1ap-RABReleaseResponse,
|
||||
E-S1ap-RABReleaseIndication,
|
||||
E-S1ap-RABSetupRequest,
|
||||
E-S1ap-RABSetupResponse,
|
||||
S1ap-TraceFailureIndication,
|
||||
S1ap-TraceStart,
|
||||
S1ap-UECapabilityInfoIndication,
|
||||
S1ap-UEContextModificationFailure,
|
||||
S1ap-UEContextModificationRequest,
|
||||
S1ap-UEContextModificationResponse,
|
||||
S1ap-UEContextReleaseCommand,
|
||||
S1ap-UEContextReleaseComplete,
|
||||
S1ap-UEContextReleaseRequest,
|
||||
S1ap-UplinkUEAssociatedLPPaTransport,
|
||||
S1ap-UplinkNASTransport,
|
||||
S1ap-UplinkNonUEAssociatedLPPaTransport,
|
||||
S1ap-UplinkS1cdma2000tunneling,
|
||||
S1ap-WriteReplaceWarningRequest,
|
||||
S1ap-WriteReplaceWarningResponse,
|
||||
S1ap-ENBConfigurationTransfer,
|
||||
S1ap-MMEConfigurationTransfer
|
||||
|
||||
FROM S1AP-PDU-Contents
|
||||
|
||||
id-CellTrafficTrace,
|
||||
id-DeactivateTrace,
|
||||
id-downlinkUEAssociatedLPPaTransport,
|
||||
id-downlinkNASTransport,
|
||||
id-downlinkNonUEAssociatedLPPaTransport,
|
||||
id-DownlinkS1cdma2000tunneling,
|
||||
id-eNBStatusTransfer,
|
||||
id-ErrorIndication,
|
||||
id-HandoverCancel,
|
||||
id-HandoverNotification,
|
||||
id-HandoverPreparation,
|
||||
id-HandoverResourceAllocation,
|
||||
id-InitialContextSetup,
|
||||
id-initialUEMessage,
|
||||
id-ENBConfigurationUpdate,
|
||||
id-Kill,
|
||||
id-LocationReportingControl,
|
||||
id-LocationReportingFailureIndication,
|
||||
id-LocationReport,
|
||||
id-eNBDirectInformationTransfer,
|
||||
id-MMEConfigurationUpdate,
|
||||
id-MMEDirectInformationTransfer,
|
||||
id-MMEStatusTransfer,
|
||||
id-NASNonDeliveryIndication,
|
||||
id-OverloadStart,
|
||||
id-OverloadStop,
|
||||
id-Paging,
|
||||
id-PathSwitchRequest,
|
||||
id-PrivateMessage,
|
||||
id-Reset,
|
||||
id-S1Setup,
|
||||
id-E-RABModify,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-TraceFailureIndication,
|
||||
id-TraceStart,
|
||||
id-UECapabilityInfoIndication,
|
||||
id-UEContextModification,
|
||||
id-UEContextRelease,
|
||||
id-UEContextReleaseRequest,
|
||||
id-uplinkUEAssociatedLPPaTransport,
|
||||
id-uplinkNASTransport,
|
||||
id-uplinkNonUEAssociatedLPPaTransport,
|
||||
id-UplinkS1cdma2000tunneling,
|
||||
id-WriteReplaceWarning,
|
||||
id-eNBConfigurationTransfer,
|
||||
id-MMEConfigurationTransfer
|
||||
FROM S1AP-Constants;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
|
||||
&InitiatingMessage ,
|
||||
&SuccessfulOutcome OPTIONAL,
|
||||
&UnsuccessfulOutcome OPTIONAL,
|
||||
&procedureCode ProcedureCode UNIQUE,
|
||||
&criticality Criticality DEFAULT ignore
|
||||
}
|
||||
WITH SYNTAX {
|
||||
INITIATING MESSAGE &InitiatingMessage
|
||||
[SUCCESSFUL OUTCOME &SuccessfulOutcome]
|
||||
[UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
|
||||
PROCEDURE CODE &procedureCode
|
||||
[CRITICALITY &criticality]
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface PDU Definition
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverPreparation |
|
||||
handoverResourceAllocation |
|
||||
pathSwitchRequest |
|
||||
e-RABSetup |
|
||||
e-RABModify |
|
||||
e-RABRelease |
|
||||
initialContextSetup |
|
||||
handoverCancel |
|
||||
kill |
|
||||
reset |
|
||||
s1Setup |
|
||||
uEContextModification |
|
||||
uEContextRelease |
|
||||
eNBConfigurationUpdate |
|
||||
mMEConfigurationUpdate |
|
||||
writeReplaceWarning ,
|
||||
...
|
||||
}
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverNotification |
|
||||
e-RABReleaseIndication |
|
||||
paging |
|
||||
downlinkNASTransport |
|
||||
initialUEMessage |
|
||||
uplinkNASTransport |
|
||||
errorIndication |
|
||||
nASNonDeliveryIndication |
|
||||
uEContextReleaseRequest |
|
||||
downlinkS1cdma2000tunneling |
|
||||
uplinkS1cdma2000tunneling |
|
||||
uECapabilityInfoIndication |
|
||||
eNBStatusTransfer |
|
||||
mMEStatusTransfer |
|
||||
deactivateTrace |
|
||||
traceStart |
|
||||
traceFailureIndication |
|
||||
cellTrafficTrace |
|
||||
locationReportingControl |
|
||||
locationReportingFailureIndication |
|
||||
locationReport |
|
||||
overloadStart |
|
||||
overloadStop |
|
||||
eNBDirectInformationTransfer |
|
||||
mMEDirectInformationTransfer |
|
||||
eNBConfigurationTransfer |
|
||||
mMEConfigurationTransfer |
|
||||
privateMessage ,
|
||||
...,
|
||||
downlinkUEAssociatedLPPaTransport |
|
||||
uplinkUEAssociatedLPPaTransport |
|
||||
downlinkNonUEAssociatedLPPaTransport |
|
||||
uplinkNonUEAssociatedLPPaTransport
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequired
|
||||
SUCCESSFUL OUTCOME HandoverCommand
|
||||
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
|
||||
PROCEDURE CODE id-HandoverPreparation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequest
|
||||
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME HandoverFailure
|
||||
PROCEDURE CODE id-HandoverResourceAllocation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverNotify
|
||||
PROCEDURE CODE id-HandoverNotification
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PathSwitchRequest
|
||||
SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
|
||||
PROCEDURE CODE id-PathSwitchRequest
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABSetupRequest
|
||||
SUCCESSFUL OUTCOME E-RABSetupResponse
|
||||
PROCEDURE CODE id-E-RABSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABModifyRequest
|
||||
SUCCESSFUL OUTCOME E-RABModifyResponse
|
||||
PROCEDURE CODE id-E-RABModify
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseCommand
|
||||
SUCCESSFUL OUTCOME E-RABReleaseResponse
|
||||
PROCEDURE CODE id-E-RABRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseIndication
|
||||
PROCEDURE CODE id-E-RABReleaseIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialContextSetupRequest
|
||||
SUCCESSFUL OUTCOME InitialContextSetupResponse
|
||||
UNSUCCESSFUL OUTCOME InitialContextSetupFailure
|
||||
PROCEDURE CODE id-InitialContextSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseRequest
|
||||
PROCEDURE CODE id-UEContextReleaseRequest
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
paging S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Paging
|
||||
PROCEDURE CODE id-Paging
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNASTransport
|
||||
PROCEDURE CODE id-downlinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialUEMessage
|
||||
PROCEDURE CODE id-initialUEMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNASTransport
|
||||
PROCEDURE CODE id-uplinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE NASNonDeliveryIndication
|
||||
PROCEDURE CODE id-NASNonDeliveryIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverCancel
|
||||
SUCCESSFUL OUTCOME HandoverCancelAcknowledge
|
||||
PROCEDURE CODE id-HandoverCancel
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
reset S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Reset
|
||||
SUCCESSFUL OUTCOME ResetAcknowledge
|
||||
PROCEDURE CODE id-Reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-ErrorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE S1SetupRequest
|
||||
SUCCESSFUL OUTCOME S1SetupResponse
|
||||
UNSUCCESSFUL OUTCOME S1SetupFailure
|
||||
PROCEDURE CODE id-S1Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-ENBConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-MMEConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-DownlinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-UplinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextModificationRequest
|
||||
SUCCESSFUL OUTCOME UEContextModificationResponse
|
||||
UNSUCCESSFUL OUTCOME UEContextModificationFailure
|
||||
|
||||
PROCEDURE CODE id-UEContextModification
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UECapabilityInfoIndication
|
||||
PROCEDURE CODE id-UECapabilityInfoIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseCommand
|
||||
SUCCESSFUL OUTCOME UEContextReleaseComplete
|
||||
PROCEDURE CODE id-UEContextRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBStatusTransfer
|
||||
PROCEDURE CODE id-eNBStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEStatusTransfer
|
||||
PROCEDURE CODE id-MMEStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DeactivateTrace
|
||||
PROCEDURE CODE id-DeactivateTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceStart
|
||||
PROCEDURE CODE id-TraceStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceFailureIndication
|
||||
PROCEDURE CODE id-TraceFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
|
||||
INITIATING MESSAGE CellTrafficTrace
|
||||
PROCEDURE CODE id-CellTrafficTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingControl
|
||||
PROCEDURE CODE id-LocationReportingControl
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingFailureIndication
|
||||
PROCEDURE CODE id-LocationReportingFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReport
|
||||
PROCEDURE CODE id-LocationReport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStart
|
||||
PROCEDURE CODE id-OverloadStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStop
|
||||
PROCEDURE CODE id-OverloadStop
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE WriteReplaceWarningRequest
|
||||
SUCCESSFUL OUTCOME WriteReplaceWarningResponse
|
||||
PROCEDURE CODE id-WriteReplaceWarning
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBDirectInformationTransfer
|
||||
PROCEDURE CODE id-eNBDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEDirectInformationTransfer
|
||||
PROCEDURE CODE id-MMEDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationTransfer
|
||||
PROCEDURE CODE id-eNBConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationTransfer
|
||||
PROCEDURE CODE id-MMEConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
|
||||
privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-PrivateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
kill S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE KillRequest
|
||||
SUCCESSFUL OUTCOME KillResponse
|
||||
PROCEDURE CODE id-Kill
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
END
|
||||
@@ -1,412 +0,0 @@
|
||||
S1AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1)
|
||||
}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
S1ap-Criticality,
|
||||
S1ap-ProcedureCode,
|
||||
S1ap-ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
s1ap-maxProtocolIEs
|
||||
|
||||
FROM S1AP-Constants;
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage S1ap-InitiatingMessage,
|
||||
successfulOutcome S1ap-SuccessfulOutcome,
|
||||
unsuccessfulOutcome S1ap-UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode S1ap-ProcedureCode,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
S1ap-SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1ap-ProcedureCode,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
S1ap-UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1ap-ProcedureCode,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
S1ap-HandoverRequired ::= SEQUENCE {
|
||||
s1ap-HandoverRequired-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverCommand ::= SEQUENCE {
|
||||
s1ap-HandoverCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverPreparationFailure ::= SEQUENCE {
|
||||
s1ap-HandoverPreparationFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverRequest ::= SEQUENCE {
|
||||
s1ap-HandoverRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
s1ap-HandoverRequestAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverFailure ::= SEQUENCE {
|
||||
s1ap-HandoverFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverNotify ::= SEQUENCE {
|
||||
s1ap-HandoverNotify-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PathSwitchRequest ::= SEQUENCE {
|
||||
s1ap-PathSwitchRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PathSwitchRequestAcknowledge ::= SEQUENCE {
|
||||
s1ap-PathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PathSwitchRequestFailure ::= SEQUENCE {
|
||||
s1ap-PathSwitchRequestFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABSetupRequest ::= SEQUENCE {
|
||||
s1ap-E-RABSetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABSetupResponse ::= SEQUENCE {
|
||||
s1ap-E-RABSetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABModifyRequest ::= SEQUENCE {
|
||||
s1ap-E-RABModifyRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABModifyResponse ::= SEQUENCE {
|
||||
s1ap-E-RABModifyResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABReleaseIndication ::= SEQUENCE {
|
||||
s1ap-E-RABReleaseIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABReleaseCommand ::= SEQUENCE {
|
||||
s1ap-E-RABReleaseCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-E-RABReleaseResponse ::= SEQUENCE {
|
||||
s1ap-E-RABReleaseResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialContextSetupRequest ::= SEQUENCE {
|
||||
s1ap-InitialContextSetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialContextSetupResponse ::= SEQUENCE {
|
||||
s1ap-InitialContextSetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialContextSetupFailure ::= SEQUENCE {
|
||||
s1ap-InitialContextSetupFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextReleaseRequest ::= SEQUENCE {
|
||||
s1ap-UEContextReleaseRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-Paging ::= SEQUENCE {
|
||||
s1ap-Paging-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkNASTransport ::= SEQUENCE {
|
||||
s1ap-DownlinkNASTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-InitialUEMessage ::= SEQUENCE {
|
||||
s1ap-InitialUEMessage-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkNASTransport ::= SEQUENCE {
|
||||
s1ap-UplinkNASTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-NASNonDeliveryIndication ::= SEQUENCE {
|
||||
s1ap-NASNonDeliveryIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverCancel ::= SEQUENCE {
|
||||
s1ap-HandoverCancel-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-HandoverCancelAcknowledge ::= SEQUENCE {
|
||||
s1ap-HandoverCancelAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-Reset ::= SEQUENCE {
|
||||
s1ap-Reset-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ResetAcknowledge ::= SEQUENCE {
|
||||
s1ap-ResetAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-S1SetupResponse ::= SEQUENCE {
|
||||
s1ap-S1SetupResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-S1SetupRequest ::= SEQUENCE {
|
||||
s1ap-S1SetupRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-S1SetupFailure ::= SEQUENCE {
|
||||
s1ap-S1SetupFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ErrorIndication ::= SEQUENCE {
|
||||
s1ap-ErrorIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationUpdate ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationUpdate-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationUpdate ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationUpdate-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationUpdateFailure ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
s1ap-DownlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
s1ap-UplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextModificationRequest ::= SEQUENCE {
|
||||
s1ap-UEContextModificationRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextModificationResponse ::= SEQUENCE {
|
||||
s1ap-UEContextModificationResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextModificationFailure ::= SEQUENCE {
|
||||
s1ap-UEContextModificationFailure-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UECapabilityInfoIndication ::= SEQUENCE {
|
||||
s1ap-UECapabilityInfoIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextReleaseCommand ::= SEQUENCE {
|
||||
s1ap-UEContextReleaseCommand-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UEContextReleaseComplete ::= SEQUENCE {
|
||||
s1ap-UEContextReleaseComplete-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBStatusTransfer ::= SEQUENCE {
|
||||
s1ap-ENBStatusTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEStatusTransfer ::= SEQUENCE {
|
||||
s1ap-MMEStatusTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DeactivateTrace ::= SEQUENCE {
|
||||
s1ap-DeactivateTrace-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-TraceStart ::= SEQUENCE {
|
||||
s1ap-TraceStart-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-TraceFailureIndication ::= SEQUENCE {
|
||||
s1ap-TraceFailureIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-CellTrafficTrace ::= SEQUENCE {
|
||||
s1ap-CellTrafficTrace-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-LocationReportingControl ::= SEQUENCE {
|
||||
s1ap-LocationReportingControl-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-LocationReportingFailureIndication ::= SEQUENCE {
|
||||
s1ap-LocationReportingFailureIndication-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-LocationReport ::= SEQUENCE {
|
||||
s1ap-LocationReport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-OverloadStart ::= SEQUENCE {
|
||||
s1ap-OverloadStart-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-OverloadStop ::= SEQUENCE {
|
||||
s1ap-OverloadStop-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-WriteReplaceWarningRequest ::= SEQUENCE {
|
||||
s1ap-WriteReplaceWarningRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-WriteReplaceWarningResponse ::= SEQUENCE {
|
||||
s1ap-WriteReplaceWarningResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBDirectInformationTransfer ::= SEQUENCE {
|
||||
s1ap-ENBDirectInformationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEDirectInformationTransfer ::= SEQUENCE {
|
||||
s1ap-MMEDirectInformationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-ENBConfigurationTransfer ::= SEQUENCE {
|
||||
s1ap-ENBConfigurationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-MMEConfigurationTransfer ::= SEQUENCE {
|
||||
s1ap-MMEConfigurationTransfer-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-PrivateMessage ::= SEQUENCE {
|
||||
s1ap-PrivateMessage-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-KillRequest ::= SEQUENCE {
|
||||
s1ap-KillRequest-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-KillResponse ::= SEQUENCE {
|
||||
s1ap-KillResponse-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-DownlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-UplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-DownlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
s1ap-UplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..s1ap-maxProtocolIEs)) OF S1ap-IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1ap-IE ::= SEQUENCE {
|
||||
id S1ap-ProtocolIE-ID,
|
||||
criticality S1ap-Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
END
|
||||
+5097
File diff suppressed because it is too large
Load Diff
+5422
File diff suppressed because it is too large
Load Diff
+5947
File diff suppressed because it is too large
Load Diff
+6679
File diff suppressed because it is too large
Load Diff
+6986
File diff suppressed because it is too large
Load Diff
+6985
File diff suppressed because it is too large
Load Diff
+7240
File diff suppressed because it is too large
Load Diff
+6883
File diff suppressed because it is too large
Load Diff
@@ -1,201 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
Criticality ::= ENUMERATED { reject, ignore, notify }
|
||||
|
||||
Presence ::= ENUMERATED { optional, conditional, mandatory }
|
||||
|
||||
PrivateIE-ID ::= CHOICE {
|
||||
local INTEGER (0..65535),
|
||||
global OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
--ProcedureCode ::= INTEGER (0..255)
|
||||
ProcedureCode ::= INTEGER {
|
||||
id-HandoverPreparation(0),
|
||||
id-HandoverResourceAllocation(1),
|
||||
id-HandoverNotification(2),
|
||||
id-PathSwitchRequest(3),
|
||||
id-HandoverCancel(4),
|
||||
id-E-RABSetup(5),
|
||||
id-E-RABModify(6),
|
||||
id-E-RABRelease(7),
|
||||
id-E-RABReleaseIndication(8),
|
||||
id-InitialContextSetup(9),
|
||||
id-Paging(10),
|
||||
id-downlinkNASTransport(11),
|
||||
id-initialUEMessage(12),
|
||||
id-uplinkNASTransport(13),
|
||||
id-Reset(14),
|
||||
id-ErrorIndication(15),
|
||||
id-NASNonDeliveryIndication(16),
|
||||
id-S1Setup(17),
|
||||
id-UEContextReleaseRequest(18),
|
||||
id-DownlinkS1cdma2000tunneling(19),
|
||||
id-UplinkS1cdma2000tunneling(20),
|
||||
id-UEContextModification(21),
|
||||
id-UECapabilityInfoIndication(22),
|
||||
id-UEContextRelease(23),
|
||||
id-eNBStatusTransfer(24),
|
||||
id-MMEStatusTransfer(25),
|
||||
id-DeactivateTrace(26),
|
||||
id-TraceStart(27),
|
||||
id-TraceFailureIndication(28),
|
||||
id-ENBConfigurationUpdate(29),
|
||||
id-MMEConfigurationUpdate(30),
|
||||
id-LocationReportingControl(31),
|
||||
id-LocationReportingFailureIndication(32),
|
||||
id-LocationReport(33),
|
||||
id-OverloadStart(34),
|
||||
id-OverloadStop(35),
|
||||
id-WriteReplaceWarning(36),
|
||||
id-eNBDirectInformationTransfer(37),
|
||||
id-MMEDirectInformationTransfer(38),
|
||||
id-PrivateMessage(39),
|
||||
id-eNBConfigurationTransfer(40),
|
||||
id-MMEConfigurationTransfer(41),
|
||||
id-CellTrafficTrace(42)
|
||||
} (0..255)
|
||||
|
||||
ProtocolExtensionID ::= INTEGER (0..65535)
|
||||
|
||||
ProtocolIE-ID ::= INTEGER {
|
||||
id-MME-UE-S1AP-ID(0),
|
||||
id-HandoverType(1),
|
||||
id-Cause(2),
|
||||
id-SourceID(3),
|
||||
id-TargetID (4),
|
||||
id-eNB-UE-S1AP-ID(8),
|
||||
id-E-RABSubjecttoDataForwardingList(12),
|
||||
id-E-RABtoReleaseListHOCmd(13),
|
||||
id-E-RABDataForwardingItem(14),
|
||||
id-E-RABReleaseItemBearerRelComp(15),
|
||||
id-E-RABToBeSetupListBearerSUReq(16),
|
||||
id-E-RABToBeSetupItemBearerSUReq(17),
|
||||
id-E-RABAdmittedList(18),
|
||||
id-E-RABFailedToSetupListHOReqAck(19),
|
||||
id-E-RABAdmittedItem(20),
|
||||
id-E-RABFailedtoSetupItemHOReqAck(21),
|
||||
id-E-RABToBeSwitchedDLList(22),
|
||||
id-E-RABToBeSwitchedDLItem(23),
|
||||
id-E-RABToBeSetupListCtxtSUReq(24),
|
||||
id-TraceActivation(25),
|
||||
id-NAS-PDU(26),
|
||||
id-E-RABToBeSetupItemHOReq(27),
|
||||
id-E-RABSetupListBearerSURes(28),
|
||||
id-E-RABFailedToSetupListBearerSURes(29),
|
||||
id-E-RABToBeModifiedListBearerModReq(30),
|
||||
id-E-RABModifyListBearerModRes(31),
|
||||
id-E-RABFailedToModifyList(32),
|
||||
id-E-RABToBeReleasedList(33),
|
||||
id-E-RABFailedToReleaseList(34),
|
||||
id-E-RABItem(35),
|
||||
id-E-RABToBeModifiedItemBearerModReq(36),
|
||||
id-E-RABModifyItemBearerModRes(37),
|
||||
id-E-RABReleaseItem(38),
|
||||
id-E-RABSetupItemBearerSURes(39),
|
||||
id-SecurityContext(40),
|
||||
id-HandoverRestrictionList(41),
|
||||
id-UEPagingID(43),
|
||||
id-pagingDRX(44),
|
||||
id-TAIList(46),
|
||||
id-TAIItem(47),
|
||||
id-E-RABFailedToSetupListCtxtSURes(48),
|
||||
id-E-RABReleaseItemHOCmd(49),
|
||||
id-E-RABSetupItemCtxtSURes(50),
|
||||
id-E-RABSetupListCtxtSURes(51),
|
||||
id-E-RABToBeSetupItemCtxtSUReq(52),
|
||||
id-E-RABToBeSetupListHOReq(53),
|
||||
id-GERANtoLTEHOInformationRes(55),
|
||||
id-UTRANtoLTEHOInformationRes(57),
|
||||
id-CriticalityDiagnostics(58),
|
||||
id-Global-ENB-ID(59),
|
||||
id-eNBname(60),
|
||||
id-MMEname(61),
|
||||
id-ServedPLMNs(63),
|
||||
id-SupportedTAs(64),
|
||||
id-TimeToWait(65),
|
||||
id-uEaggregateMaximumBitrate(66),
|
||||
id-TAI(67),
|
||||
id-E-RABReleaseListBearerRelComp(69),
|
||||
id-cdma2000PDU(70),
|
||||
id-cdma2000RATType(71),
|
||||
id-cdma2000SectorID(72),
|
||||
id-SecurityKey(73),
|
||||
id-UERadioCapability(74),
|
||||
id-GUMMEI-ID(75),
|
||||
id-E-RABInformationListItem(78),
|
||||
id-Direct-Forwarding-Path-Availability(79),
|
||||
id-UEIdentityIndexValue(80),
|
||||
id-cdma2000HOStatus(83),
|
||||
id-cdma2000HORequiredIndication(84),
|
||||
id-E-UTRAN-Trace-ID(86),
|
||||
id-RelativeMMECapacity(87),
|
||||
id-SourceMME-UE-S1AP-ID(88),
|
||||
id-Bearers-SubjectToStatusTransfer-Item(89),
|
||||
id-eNB-StatusTransfer-TransparentContainer(90),
|
||||
id-UE-associatedLogicalS1-ConnectionItem(91),
|
||||
id-ResetType(92),
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck(93),
|
||||
id-E-RABToBeSwitchedULItem(94),
|
||||
id-E-RABToBeSwitchedULList(95),
|
||||
id-S-TMSI(96),
|
||||
id-cdma2000OneXRAND(97),
|
||||
id-RequestType(98),
|
||||
id-UE-S1AP-IDs(99),
|
||||
id-EUTRAN-CGI(100),
|
||||
id-OverloadResponse(101),
|
||||
id-cdma2000OneXSRVCCInfo(102),
|
||||
id-E-RABFailedToBeReleasedList(103),
|
||||
id-Source-ToTarget-TransparentContainer(104),
|
||||
id-ServedGUMMEIs(105),
|
||||
id-SubscriberProfileIDforRFP(106),
|
||||
id-UESecurityCapabilities(107),
|
||||
id-CSFallbackIndicator(108),
|
||||
id-CNDomain(109),
|
||||
id-E-RABReleasedList(110),
|
||||
id-MessageIdentifier(111),
|
||||
id-SerialNumber(112),
|
||||
id-WarningAreaList(113),
|
||||
id-RepetitionPeriod(114),
|
||||
id-NumberofBroadcastRequest(115),
|
||||
id-WarningType(116),
|
||||
id-WarningSecurityInfo(117),
|
||||
id-DataCodingScheme(118),
|
||||
id-WarningMessageContents(119),
|
||||
id-BroadcastCompletedAreaList(120),
|
||||
id-Inter-SystemInformationTransferTypeEDT(121),
|
||||
id-Inter-SystemInformationTransferTypeMDT(122),
|
||||
id-Target-ToSource-TransparentContainer(123),
|
||||
id-SRVCCOperationPossible(124),
|
||||
id-SRVCCHOIndication(125),
|
||||
id-NAS-DownlinkCount(126),
|
||||
id-CSG-Id(127),
|
||||
id-CSG-IdList(128),
|
||||
id-SONConfigurationTransferECT(129),
|
||||
id-SONConfigurationTransferMCT(130),
|
||||
id-TraceCollectionEntityIPAddress(131),
|
||||
id-MSClassmark2(132),
|
||||
id-MSClassmark3(133),
|
||||
id-RRC-Establishment-Cause(134),
|
||||
id-NASSecurityParametersfromE-UTRAN(135),
|
||||
id-NASSecurityParameterstoE-UTRAN(136),
|
||||
id-DefaultPagingDRX(137),
|
||||
id-Source-ToTarget-TransparentContainer-Secondary(138),
|
||||
id-Target-ToSource-TransparentContainer-Secondary(139)
|
||||
} (0..65535)
|
||||
|
||||
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
|
||||
|
||||
END
|
||||
@@ -1,249 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
|
||||
IMPORTS
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-HandoverPreparation ProcedureCode ::= 0
|
||||
id-HandoverResourceAllocation ProcedureCode ::= 1
|
||||
id-HandoverNotification ProcedureCode ::= 2
|
||||
id-PathSwitchRequest ProcedureCode ::= 3
|
||||
id-HandoverCancel ProcedureCode ::= 4
|
||||
id-E-RABSetup ProcedureCode ::= 5
|
||||
id-E-RABModify ProcedureCode ::= 6
|
||||
id-E-RABRelease ProcedureCode ::= 7
|
||||
id-E-RABReleaseIndication ProcedureCode ::= 8
|
||||
id-InitialContextSetup ProcedureCode ::= 9
|
||||
id-Paging ProcedureCode ::= 10
|
||||
id-downlinkNASTransport ProcedureCode ::= 11
|
||||
id-initialUEMessage ProcedureCode ::= 12
|
||||
id-uplinkNASTransport ProcedureCode ::= 13
|
||||
id-Reset ProcedureCode ::= 14
|
||||
id-ErrorIndication ProcedureCode ::= 15
|
||||
id-NASNonDeliveryIndication ProcedureCode ::= 16
|
||||
id-S1Setup ProcedureCode ::= 17
|
||||
id-UEContextReleaseRequest ProcedureCode ::= 18
|
||||
id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
|
||||
id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
|
||||
id-UEContextModification ProcedureCode ::= 21
|
||||
id-UECapabilityInfoIndication ProcedureCode ::= 22
|
||||
id-UEContextRelease ProcedureCode ::= 23
|
||||
id-eNBStatusTransfer ProcedureCode ::= 24
|
||||
id-MMEStatusTransfer ProcedureCode ::= 25
|
||||
id-DeactivateTrace ProcedureCode ::= 26
|
||||
id-TraceStart ProcedureCode ::= 27
|
||||
id-TraceFailureIndication ProcedureCode ::= 28
|
||||
id-ENBConfigurationUpdate ProcedureCode ::= 29
|
||||
id-MMEConfigurationUpdate ProcedureCode ::= 30
|
||||
id-LocationReportingControl ProcedureCode ::= 31
|
||||
id-LocationReportingFailureIndication ProcedureCode ::= 32
|
||||
id-LocationReport ProcedureCode ::= 33
|
||||
id-OverloadStart ProcedureCode ::= 34
|
||||
id-OverloadStop ProcedureCode ::= 35
|
||||
id-WriteReplaceWarning ProcedureCode ::= 36
|
||||
id-eNBDirectInformationTransfer ProcedureCode ::= 37
|
||||
id-MMEDirectInformationTransfer ProcedureCode ::= 38
|
||||
id-PrivateMessage ProcedureCode ::= 39
|
||||
id-eNBConfigurationTransfer ProcedureCode ::= 40
|
||||
id-MMEConfigurationTransfer ProcedureCode ::= 41
|
||||
id-CellTrafficTrace ProcedureCode ::= 42
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxPrivateIEs INTEGER ::= 65535
|
||||
maxProtocolExtensions INTEGER ::= 65535
|
||||
maxProtocolIEs INTEGER ::= 65535
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxNrOfCSGs INTEGER ::= 256
|
||||
maxNrOfE-RABs INTEGER ::= 256
|
||||
maxnoofTAIs INTEGER ::= 256
|
||||
maxnoofTACs INTEGER ::= 256
|
||||
maxNrOfErrors INTEGER ::= 256
|
||||
maxnoofBPLMNs INTEGER ::= 6
|
||||
maxnoofPLMNsPerMME INTEGER ::= 32
|
||||
maxnoofEPLMNs INTEGER ::= 15
|
||||
maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
maxnoofForbLACs INTEGER ::= 4096
|
||||
maxnoofForbTACs INTEGER ::= 4096
|
||||
maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
|
||||
maxnoofCells INTEGER ::= 16
|
||||
maxnoofTAIforWarning INTEGER ::= 65535
|
||||
maxnoofCellID INTEGER ::= 65535
|
||||
maxnoofEmergencyAreaID INTEGER ::= 65535
|
||||
maxnoofCellinTAI INTEGER ::= 65535
|
||||
maxnoofCellinEAI INTEGER ::= 65535
|
||||
maxnoofeNBX2TLAs INTEGER ::= 2
|
||||
maxnoofRATs INTEGER ::= 8
|
||||
maxnoofGroupIDs INTEGER ::= 65535
|
||||
maxnoofMMECs INTEGER ::= 256
|
||||
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
|
||||
id-HandoverType ProtocolIE-ID ::= 1
|
||||
id-Cause ProtocolIE-ID ::= 2
|
||||
id-SourceID ProtocolIE-ID ::= 3
|
||||
id-TargetID ProtocolIE-ID ::= 4
|
||||
id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
|
||||
id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
|
||||
id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
|
||||
id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
|
||||
id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
|
||||
id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
|
||||
id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
|
||||
id-E-RABAdmittedList ProtocolIE-ID ::= 18
|
||||
id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
|
||||
id-E-RABAdmittedItem ProtocolIE-ID ::= 20
|
||||
id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
|
||||
id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
|
||||
id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
|
||||
id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
|
||||
id-TraceActivation ProtocolIE-ID ::= 25
|
||||
id-NAS-PDU ProtocolIE-ID ::= 26
|
||||
id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
|
||||
id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
|
||||
id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
|
||||
id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
|
||||
id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
|
||||
id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
|
||||
id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
|
||||
id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
|
||||
id-E-RABItem ProtocolIE-ID ::= 35
|
||||
id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
|
||||
id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
|
||||
id-E-RABReleaseItem ProtocolIE-ID ::= 38
|
||||
id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
|
||||
id-SecurityContext ProtocolIE-ID ::= 40
|
||||
id-HandoverRestrictionList ProtocolIE-ID ::= 41
|
||||
id-UEPagingID ProtocolIE-ID ::= 43
|
||||
id-pagingDRX ProtocolIE-ID ::= 44
|
||||
id-TAIList ProtocolIE-ID ::= 46
|
||||
id-TAIItem ProtocolIE-ID ::= 47
|
||||
id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
|
||||
id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
|
||||
id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
|
||||
id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
|
||||
id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
|
||||
id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
|
||||
id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
|
||||
id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
|
||||
id-CriticalityDiagnostics ProtocolIE-ID ::= 58
|
||||
id-Global-ENB-ID ProtocolIE-ID ::= 59
|
||||
id-eNBname ProtocolIE-ID ::= 60
|
||||
id-MMEname ProtocolIE-ID ::= 61
|
||||
id-ServedPLMNs ProtocolIE-ID ::= 63
|
||||
id-SupportedTAs ProtocolIE-ID ::= 64
|
||||
id-TimeToWait ProtocolIE-ID ::= 65
|
||||
id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
|
||||
id-TAI ProtocolIE-ID ::= 67
|
||||
id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
|
||||
id-cdma2000PDU ProtocolIE-ID ::= 70
|
||||
id-cdma2000RATType ProtocolIE-ID ::= 71
|
||||
id-cdma2000SectorID ProtocolIE-ID ::= 72
|
||||
id-SecurityKey ProtocolIE-ID ::= 73
|
||||
id-UERadioCapability ProtocolIE-ID ::= 74
|
||||
id-GUMMEI-ID ProtocolIE-ID ::= 75
|
||||
id-E-RABInformationListItem ProtocolIE-ID ::= 78
|
||||
id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
|
||||
id-UEIdentityIndexValue ProtocolIE-ID ::= 80
|
||||
id-cdma2000HOStatus ProtocolIE-ID ::= 83
|
||||
id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
|
||||
id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
|
||||
id-RelativeMMECapacity ProtocolIE-ID ::= 87
|
||||
id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
|
||||
id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
|
||||
id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
|
||||
id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
|
||||
id-ResetType ProtocolIE-ID ::= 92
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
|
||||
id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
|
||||
id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
|
||||
id-S-TMSI ProtocolIE-ID ::= 96
|
||||
id-cdma2000OneXRAND ProtocolIE-ID ::= 97
|
||||
id-RequestType ProtocolIE-ID ::= 98
|
||||
id-UE-S1AP-IDs ProtocolIE-ID ::= 99
|
||||
id-EUTRAN-CGI ProtocolIE-ID ::= 100
|
||||
id-OverloadResponse ProtocolIE-ID ::= 101
|
||||
id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
|
||||
id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
|
||||
id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
|
||||
id-ServedGUMMEIs ProtocolIE-ID ::= 105
|
||||
id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
|
||||
id-UESecurityCapabilities ProtocolIE-ID ::= 107
|
||||
id-CSFallbackIndicator ProtocolIE-ID ::= 108
|
||||
id-CNDomain ProtocolIE-ID ::= 109
|
||||
id-E-RABReleasedList ProtocolIE-ID ::= 110
|
||||
id-MessageIdentifier ProtocolIE-ID ::= 111
|
||||
id-SerialNumber ProtocolIE-ID ::= 112
|
||||
id-WarningAreaList ProtocolIE-ID ::= 113
|
||||
id-RepetitionPeriod ProtocolIE-ID ::= 114
|
||||
id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
|
||||
id-WarningType ProtocolIE-ID ::= 116
|
||||
id-WarningSecurityInfo ProtocolIE-ID ::= 117
|
||||
id-DataCodingScheme ProtocolIE-ID ::= 118
|
||||
id-WarningMessageContents ProtocolIE-ID ::= 119
|
||||
id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
|
||||
id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
|
||||
id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
|
||||
id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
|
||||
id-SRVCCOperationPossible ProtocolIE-ID ::= 124
|
||||
id-SRVCCHOIndication ProtocolIE-ID ::= 125
|
||||
id-NAS-DownlinkCount ProtocolIE-ID ::= 126
|
||||
id-CSG-Id ProtocolIE-ID ::= 127
|
||||
id-CSG-IdList ProtocolIE-ID ::= 128
|
||||
id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
|
||||
id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
|
||||
id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
|
||||
id-MSClassmark2 ProtocolIE-ID ::= 132
|
||||
id-MSClassmark3 ProtocolIE-ID ::= 133
|
||||
id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
|
||||
id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
|
||||
id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
|
||||
id-DefaultPagingDRX ProtocolIE-ID ::= 137
|
||||
id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
|
||||
id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
|
||||
END
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,663 +0,0 @@
|
||||
S1AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1)
|
||||
}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
UEAggregateMaximumBitrate,
|
||||
Cause,
|
||||
Cdma2000HORequiredIndication,
|
||||
Cdma2000HOStatus,
|
||||
Cdma2000OneXSRVCCInfo,
|
||||
Cdma2000OneXRAND,
|
||||
Cdma2000PDU,
|
||||
Cdma2000RATType,
|
||||
Cdma2000SectorID,
|
||||
CNDomain,
|
||||
CriticalityDiagnostics,
|
||||
CSFallbackIndicator,
|
||||
CSG-Id,
|
||||
CSG-IdList,
|
||||
Direct-Forwarding-Path-Availability,
|
||||
Global-ENB-ID,
|
||||
EUTRAN-CGI,
|
||||
ENBname,
|
||||
ENB-StatusTransfer-TransparentContainer,
|
||||
ENB-UE-S1AP-ID,
|
||||
GTP-TEID,
|
||||
GUMMEI,
|
||||
HandoverRestrictionList,
|
||||
HandoverType,
|
||||
MMEname,
|
||||
MME-UE-S1AP-ID,
|
||||
MSClassmark2,
|
||||
MSClassmark3,
|
||||
NAS-PDU,
|
||||
NASSecurityParametersfromE-UTRAN,
|
||||
NASSecurityParameterstoE-UTRAN,
|
||||
OverloadResponse,
|
||||
PagingDRX,
|
||||
PLMNidentity,
|
||||
RIMTransfer,
|
||||
RelativeMMECapacity,
|
||||
RequestType,
|
||||
E-RAB-ID,
|
||||
E-RABLevelQoSParameters,
|
||||
E-RABList,
|
||||
SecurityKey,
|
||||
SecurityContext,
|
||||
ServedGUMMEIs,
|
||||
SONConfigurationTransfer,
|
||||
Source-ToTarget-TransparentContainer,
|
||||
SourceBSS-ToTargetBSS-TransparentContainer,
|
||||
SourceeNB-ToTargeteNB-TransparentContainer,
|
||||
SourceRNC-ToTargetRNC-TransparentContainer,
|
||||
SubscriberProfileIDforRFP,
|
||||
SRVCCOperationPossible,
|
||||
SRVCCHOIndication,
|
||||
SupportedTAs,
|
||||
TAI,
|
||||
Target-ToSource-TransparentContainer,
|
||||
TargetBSS-ToSourceBSS-TransparentContainer,
|
||||
TargeteNB-ToSourceeNB-TransparentContainer,
|
||||
TargetID,
|
||||
TargetRNC-ToSourceRNC-TransparentContainer,
|
||||
TimeToWait,
|
||||
TraceActivation,
|
||||
E-UTRAN-Trace-ID,
|
||||
TransportLayerAddress,
|
||||
UEIdentityIndexValue,
|
||||
UEPagingID,
|
||||
UERadioCapability,
|
||||
UE-S1AP-IDs,
|
||||
UE-associatedLogicalS1-ConnectionItem,
|
||||
UESecurityCapabilities,
|
||||
S-TMSI,
|
||||
MessageIdentifier,
|
||||
SerialNumber,
|
||||
WarningAreaList,
|
||||
RepetitionPeriod,
|
||||
NumberofBroadcastRequest,
|
||||
WarningType,
|
||||
WarningSecurityInfo,
|
||||
DataCodingScheme,
|
||||
WarningMessageContents,
|
||||
BroadcastCompletedAreaList,
|
||||
RRC-Establishment-Cause
|
||||
|
||||
FROM S1AP-IEs
|
||||
|
||||
ProcedureCode,
|
||||
Criticality,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
|
||||
id-uEaggregateMaximumBitrate,
|
||||
id-Cause,
|
||||
id-cdma2000HORequiredIndication,
|
||||
id-cdma2000HOStatus,
|
||||
id-cdma2000OneXSRVCCInfo,
|
||||
id-cdma2000OneXRAND,
|
||||
id-cdma2000PDU,
|
||||
id-cdma2000RATType,
|
||||
id-cdma2000SectorID,
|
||||
id-CNDomain,
|
||||
id-CriticalityDiagnostics,
|
||||
id-CSFallbackIndicator,
|
||||
id-CSG-Id,
|
||||
id-CSG-IdList,
|
||||
id-DefaultPagingDRX,
|
||||
id-Direct-Forwarding-Path-Availability,
|
||||
id-Global-ENB-ID,
|
||||
id-EUTRAN-CGI,
|
||||
id-eNBname,
|
||||
id-eNB-StatusTransfer-TransparentContainer,
|
||||
id-eNB-UE-S1AP-ID,
|
||||
id-GERANtoLTEHOInformationRes,
|
||||
id-GUMMEI-ID,
|
||||
id-HandoverRestrictionList,
|
||||
id-HandoverType,
|
||||
id-InitialContextSetup,
|
||||
id-Inter-SystemInformationTransferTypeEDT,
|
||||
id-Inter-SystemInformationTransferTypeMDT,
|
||||
id-NAS-DownlinkCount,
|
||||
id-MMEname,
|
||||
id-MME-UE-S1AP-ID,
|
||||
id-MSClassmark2,
|
||||
id-MSClassmark3,
|
||||
id-NAS-PDU,
|
||||
id-NASSecurityParametersfromE-UTRAN,
|
||||
id-NASSecurityParameterstoE-UTRAN,
|
||||
id-OverloadResponse,
|
||||
id-pagingDRX,
|
||||
id-RelativeMMECapacity,
|
||||
id-RequestType,
|
||||
id-E-RABAdmittedItem,
|
||||
id-E-RABAdmittedList,
|
||||
id-E-RABDataForwardingItem,
|
||||
id-E-RABFailedToModifyList,
|
||||
id-E-RABFailedToReleaseList,
|
||||
id-E-RABFailedtoSetupItemHOReqAck,
|
||||
id-E-RABFailedToSetupListBearerSURes,
|
||||
id-E-RABFailedToSetupListCtxtSURes,
|
||||
id-E-RABFailedToSetupListHOReqAck,
|
||||
id-E-RABFailedToBeReleasedList,
|
||||
id-E-RABModify,
|
||||
id-E-RABModifyItemBearerModRes,
|
||||
id-E-RABModifyListBearerModRes,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseItemBearerRelComp,
|
||||
id-E-RABReleaseItemHOCmd,
|
||||
id-E-RABReleaseListBearerRelComp,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-E-RABSetupItemBearerSURes,
|
||||
id-E-RABSetupItemCtxtSURes,
|
||||
id-E-RABSetupListBearerSURes,
|
||||
id-E-RABSetupListCtxtSURes,
|
||||
id-E-RABSubjecttoDataForwardingList,
|
||||
id-E-RABToBeModifiedItemBearerModReq,
|
||||
id-E-RABToBeModifiedListBearerModReq,
|
||||
id-E-RABToBeReleasedList,
|
||||
id-E-RABReleasedList,
|
||||
id-E-RABToBeSetupItemBearerSUReq,
|
||||
id-E-RABToBeSetupItemCtxtSUReq,
|
||||
id-E-RABToBeSetupItemHOReq,
|
||||
id-E-RABToBeSetupListBearerSUReq,
|
||||
id-E-RABToBeSetupListCtxtSUReq,
|
||||
id-E-RABToBeSetupListHOReq,
|
||||
id-E-RABToBeSwitchedDLItem,
|
||||
id-E-RABToBeSwitchedDLList,
|
||||
id-E-RABToBeSwitchedULList,
|
||||
id-E-RABToBeSwitchedULItem,
|
||||
id-E-RABtoReleaseListHOCmd,
|
||||
id-SecurityKey,
|
||||
id-SecurityContext,
|
||||
id-ServedGUMMEIs,
|
||||
id-SONConfigurationTransferECT,
|
||||
id-SONConfigurationTransferMCT,
|
||||
id-Source-ToTarget-TransparentContainer,
|
||||
id-Source-ToTarget-TransparentContainer-Secondary,
|
||||
id-SourceMME-UE-S1AP-ID,
|
||||
id-SRVCCOperationPossible,
|
||||
id-SRVCCHOIndication,
|
||||
id-SubscriberProfileIDforRFP,
|
||||
id-SupportedTAs,
|
||||
id-S-TMSI,
|
||||
id-TAI,
|
||||
id-TAIItem,
|
||||
id-TAIList,
|
||||
id-Target-ToSource-TransparentContainer,
|
||||
id-Target-ToSource-TransparentContainer-Secondary,
|
||||
id-TargetID,
|
||||
id-TimeToWait,
|
||||
id-TraceActivation,
|
||||
id-E-UTRAN-Trace-ID,
|
||||
id-UEIdentityIndexValue,
|
||||
id-UEPagingID,
|
||||
id-UERadioCapability,
|
||||
id-UTRANtoLTEHOInformationRes,
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck,
|
||||
id-UE-associatedLogicalS1-ConnectionItem,
|
||||
id-UESecurityCapabilities,
|
||||
id-UE-S1AP-IDs,
|
||||
id-ResetType,
|
||||
id-MessageIdentifier,
|
||||
id-SerialNumber,
|
||||
id-WarningAreaList,
|
||||
id-RepetitionPeriod,
|
||||
id-NumberofBroadcastRequest,
|
||||
id-WarningType,
|
||||
id-WarningSecurityInfo,
|
||||
id-DataCodingScheme,
|
||||
id-WarningMessageContents,
|
||||
id-BroadcastCompletedAreaList,
|
||||
id-RRC-Establishment-Cause,
|
||||
id-TraceCollectionEntityIPAddress,
|
||||
maxnoofTAIs,
|
||||
maxNrOfErrors,
|
||||
maxNrOfE-RABs,
|
||||
maxNrOfIndividualS1ConnectionsToReset,
|
||||
maxnoofEmergencyAreaID,
|
||||
maxnoofCellID,
|
||||
maxnoofTAIforWarning,
|
||||
maxnoofCellinTAI,
|
||||
maxnoofCellinEAI,
|
||||
|
||||
id-CellTrafficTrace,
|
||||
id-DeactivateTrace,
|
||||
id-downlinkNASTransport,
|
||||
id-DownlinkS1cdma2000tunneling,
|
||||
id-eNBStatusTransfer,
|
||||
id-ErrorIndication,
|
||||
id-HandoverCancel,
|
||||
id-HandoverNotification,
|
||||
id-HandoverPreparation,
|
||||
id-HandoverResourceAllocation,
|
||||
id-InitialContextSetup,
|
||||
id-initialUEMessage,
|
||||
id-ENBConfigurationUpdate,
|
||||
id-LocationReportingControl,
|
||||
id-LocationReportingFailureIndication,
|
||||
id-LocationReport,
|
||||
id-eNBDirectInformationTransfer,
|
||||
id-MMEConfigurationUpdate,
|
||||
id-MMEDirectInformationTransfer,
|
||||
id-MMEStatusTransfer,
|
||||
id-NASNonDeliveryIndication,
|
||||
id-OverloadStart,
|
||||
id-OverloadStop,
|
||||
id-Paging,
|
||||
id-PathSwitchRequest,
|
||||
id-PrivateMessage,
|
||||
id-Reset,
|
||||
id-S1Setup,
|
||||
id-E-RABModify,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-TraceFailureIndication,
|
||||
id-TraceStart,
|
||||
id-UECapabilityInfoIndication,
|
||||
id-UEContextModification,
|
||||
id-UEContextRelease,
|
||||
id-UEContextReleaseRequest,
|
||||
id-uplinkNASTransport,
|
||||
id-UplinkS1cdma2000tunneling,
|
||||
id-WriteReplaceWarning,
|
||||
id-eNBConfigurationTransfer,
|
||||
id-MMEConfigurationTransfer,
|
||||
maxProtocolIEs
|
||||
FROM S1AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- S1 SETUP ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
|
||||
&InitiatingMessage ,
|
||||
&SuccessfulOutcome OPTIONAL,
|
||||
&UnsuccessfulOutcome OPTIONAL,
|
||||
&procedureCode ProcedureCode UNIQUE,
|
||||
&criticality Criticality DEFAULT ignore
|
||||
}
|
||||
WITH SYNTAX {
|
||||
INITIATING MESSAGE &InitiatingMessage
|
||||
[SUCCESSFUL OUTCOME &SuccessfulOutcome]
|
||||
[UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
|
||||
PROCEDURE CODE &procedureCode
|
||||
[CRITICALITY &criticality]
|
||||
}
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
HandoverRequired ::= SEQUENCE {
|
||||
handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCommand ::= SEQUENCE {
|
||||
handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverPreparationFailure ::= SEQUENCE {
|
||||
handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequest ::= SEQUENCE {
|
||||
handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverFailure ::= SEQUENCE {
|
||||
handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverNotify ::= SEQUENCE {
|
||||
handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequest ::= SEQUENCE {
|
||||
pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestAcknowledge ::= SEQUENCE {
|
||||
pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestFailure ::= SEQUENCE {
|
||||
pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupRequest ::= SEQUENCE {
|
||||
e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupResponse ::= SEQUENCE {
|
||||
e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyRequest ::= SEQUENCE {
|
||||
e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyResponse ::= SEQUENCE {
|
||||
e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseIndication ::= SEQUENCE {
|
||||
e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseCommand ::= SEQUENCE {
|
||||
e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseResponse ::= SEQUENCE {
|
||||
e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupRequest ::= SEQUENCE {
|
||||
initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupResponse ::= SEQUENCE {
|
||||
initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupFailure ::= SEQUENCE {
|
||||
initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseRequest ::= SEQUENCE {
|
||||
ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Paging ::= SEQUENCE {
|
||||
paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkNASTransport ::= SEQUENCE {
|
||||
downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialUEMessage ::= SEQUENCE {
|
||||
initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkNASTransport ::= SEQUENCE {
|
||||
uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
NASNonDeliveryIndication ::= SEQUENCE {
|
||||
nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancel ::= SEQUENCE {
|
||||
handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancelAcknowledge ::= SEQUENCE {
|
||||
handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Reset ::= SEQUENCE {
|
||||
reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResetAcknowledge ::= SEQUENCE {
|
||||
resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupResponse ::= SEQUENCE {
|
||||
s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupRequest ::= SEQUENCE {
|
||||
s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupFailure ::= SEQUENCE
|
||||
{
|
||||
s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ErrorIndication ::= SEQUENCE {
|
||||
errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdate ::= SEQUENCE {
|
||||
eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdate ::= SEQUENCE {
|
||||
mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateFailure ::= SEQUENCE {
|
||||
mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationRequest ::= SEQUENCE {
|
||||
ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationResponse ::= SEQUENCE {
|
||||
ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationFailure ::= SEQUENCE {
|
||||
ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UECapabilityInfoIndication ::= SEQUENCE {
|
||||
ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseCommand ::= SEQUENCE {
|
||||
ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseComplete ::= SEQUENCE {
|
||||
ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBStatusTransfer ::= SEQUENCE {
|
||||
eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEStatusTransfer ::= SEQUENCE {
|
||||
mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DeactivateTrace ::= SEQUENCE {
|
||||
deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceStart ::= SEQUENCE {
|
||||
traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceFailureIndication ::= SEQUENCE {
|
||||
traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
CellTrafficTrace ::= SEQUENCE {
|
||||
cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingControl ::= SEQUENCE {
|
||||
locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingFailureIndication ::= SEQUENCE {
|
||||
locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReport ::= SEQUENCE {
|
||||
locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStart ::= SEQUENCE {
|
||||
overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStop ::= SEQUENCE {
|
||||
overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningRequest ::= SEQUENCE {
|
||||
writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningResponse ::= SEQUENCE {
|
||||
writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBDirectInformationTransfer ::= SEQUENCE {
|
||||
eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEDirectInformationTransfer ::= SEQUENCE {
|
||||
mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationTransfer ::= SEQUENCE {
|
||||
eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationTransfer ::= SEQUENCE {
|
||||
mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PrivateMessage ::= SEQUENCE {
|
||||
privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
IE ::= SEQUENCE {
|
||||
id ProtocolIE-ID,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
END
|
||||
Regular → Executable
+2272
-48
File diff suppressed because it is too large
Load Diff
@@ -1,217 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
Criticality ::= ENUMERATED { reject, ignore, notify }
|
||||
|
||||
Presence ::= ENUMERATED { optional, conditional, mandatory }
|
||||
|
||||
PrivateIE-ID ::= CHOICE {
|
||||
local INTEGER (0..65535),
|
||||
global OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
ProcedureCode ::= INTEGER {
|
||||
id-HandoverPreparation(0),
|
||||
id-HandoverResourceAllocation(1),
|
||||
id-HandoverNotification(2),
|
||||
id-PathSwitchRequest(3),
|
||||
id-HandoverCancel(4),
|
||||
id-E-RABSetup(5),
|
||||
id-E-RABModify(6),
|
||||
id-E-RABRelease(7),
|
||||
id-E-RABReleaseIndication(8),
|
||||
id-InitialContextSetup(9),
|
||||
id-Paging(10),
|
||||
id-downlinkNASTransport(11),
|
||||
id-initialUEMessage(12),
|
||||
id-uplinkNASTransport(13),
|
||||
id-Reset(14),
|
||||
id-ErrorIndication(15),
|
||||
id-NASNonDeliveryIndication(16),
|
||||
id-S1Setup(17),
|
||||
id-UEContextReleaseRequest(18),
|
||||
id-DownlinkS1cdma2000tunneling(19),
|
||||
id-UplinkS1cdma2000tunneling(20),
|
||||
id-UEContextModification(21),
|
||||
id-UECapabilityInfoIndication(22),
|
||||
id-UEContextRelease(23),
|
||||
id-eNBStatusTransfer(24),
|
||||
id-MMEStatusTransfer(25),
|
||||
id-DeactivateTrace(26),
|
||||
id-TraceStart(27),
|
||||
id-TraceFailureIndication(28),
|
||||
id-ENBConfigurationUpdate(29),
|
||||
id-MMEConfigurationUpdate(30),
|
||||
id-LocationReportingControl(31),
|
||||
id-LocationReportingFailureIndication(32),
|
||||
id-LocationReport(33),
|
||||
id-OverloadStart(34),
|
||||
id-OverloadStop(35),
|
||||
id-WriteReplaceWarning(36),
|
||||
id-eNBDirectInformationTransfer(37),
|
||||
id-MMEDirectInformationTransfer(38),
|
||||
id-PrivateMessage(39),
|
||||
id-eNBConfigurationTransfer(40),
|
||||
id-MMEConfigurationTransfer(41),
|
||||
id-CellTrafficTrace(42),
|
||||
id-Kill(43),
|
||||
id-downlinkUEAssociatedLPPaTransport(44),
|
||||
id-uplinkUEAssociatedLPPaTransport(45),
|
||||
id-downlinkNonUEAssociatedLPPaTransport(46),
|
||||
id-uplinkNonUEAssociatedLPPaTransport(47)
|
||||
} (0..255)
|
||||
|
||||
ProtocolExtensionID ::= INTEGER (0..65535)
|
||||
|
||||
ProtocolIE-ID ::= INTEGER {
|
||||
id-MME-UE-S1AP-ID(0),
|
||||
id-HandoverType(1),
|
||||
id-Cause(2),
|
||||
id-SourceID(3),
|
||||
id-TargetID (4),
|
||||
id-eNB-UE-S1AP-ID(8),
|
||||
id-E-RABSubjecttoDataForwardingList(12),
|
||||
id-E-RABtoReleaseListHOCmd(13),
|
||||
id-E-RABDataForwardingItem(14),
|
||||
id-E-RABReleaseItemBearerRelComp(15),
|
||||
id-E-RABToBeSetupListBearerSUReq(16),
|
||||
id-E-RABToBeSetupItemBearerSUReq(17),
|
||||
id-E-RABAdmittedList(18),
|
||||
id-E-RABFailedToSetupListHOReqAck(19),
|
||||
id-E-RABAdmittedItem(20),
|
||||
id-E-RABFailedtoSetupItemHOReqAck(21),
|
||||
id-E-RABToBeSwitchedDLList(22),
|
||||
id-E-RABToBeSwitchedDLItem(23),
|
||||
id-E-RABToBeSetupListCtxtSUReq(24),
|
||||
id-TraceActivation(25),
|
||||
id-NAS-PDU(26),
|
||||
id-E-RABToBeSetupItemHOReq(27),
|
||||
id-E-RABSetupListBearerSURes(28),
|
||||
id-E-RABFailedToSetupListBearerSURes(29),
|
||||
id-E-RABToBeModifiedListBearerModReq(30),
|
||||
id-E-RABModifyListBearerModRes(31),
|
||||
id-E-RABFailedToModifyList(32),
|
||||
id-E-RABToBeReleasedList(33),
|
||||
id-E-RABFailedToReleaseList(34),
|
||||
id-E-RABItem(35),
|
||||
id-E-RABToBeModifiedItemBearerModReq(36),
|
||||
id-E-RABModifyItemBearerModRes(37),
|
||||
id-E-RABReleaseItem(38),
|
||||
id-E-RABSetupItemBearerSURes(39),
|
||||
id-SecurityContext(40),
|
||||
id-HandoverRestrictionList(41),
|
||||
id-UEPagingID(43),
|
||||
id-pagingDRX(44),
|
||||
id-TAIList(46),
|
||||
id-TAIItem(47),
|
||||
id-E-RABFailedToSetupListCtxtSURes(48),
|
||||
id-E-RABReleaseItemHOCmd(49),
|
||||
id-E-RABSetupItemCtxtSURes(50),
|
||||
id-E-RABSetupListCtxtSURes(51),
|
||||
id-E-RABToBeSetupItemCtxtSUReq(52),
|
||||
id-E-RABToBeSetupListHOReq(53),
|
||||
id-GERANtoLTEHOInformationRes(55),
|
||||
id-UTRANtoLTEHOInformationRes(57),
|
||||
id-CriticalityDiagnostics(58),
|
||||
id-Global-ENB-ID(59),
|
||||
id-eNBname(60),
|
||||
id-MMEname(61),
|
||||
id-ServedPLMNs(63),
|
||||
id-SupportedTAs(64),
|
||||
id-TimeToWait(65),
|
||||
id-uEaggregateMaximumBitrate(66),
|
||||
id-TAI(67),
|
||||
id-E-RABReleaseListBearerRelComp(69),
|
||||
id-cdma2000PDU(70),
|
||||
id-cdma2000RATType(71),
|
||||
id-cdma2000SectorID(72),
|
||||
id-SecurityKey(73),
|
||||
id-UERadioCapability(74),
|
||||
id-GUMMEI-ID(75),
|
||||
id-E-RABInformationListItem(78),
|
||||
id-Direct-Forwarding-Path-Availability(79),
|
||||
id-UEIdentityIndexValue(80),
|
||||
id-cdma2000HOStatus(83),
|
||||
id-cdma2000HORequiredIndication(84),
|
||||
id-E-UTRAN-Trace-ID(86),
|
||||
id-RelativeMMECapacity(87),
|
||||
id-SourceMME-UE-S1AP-ID(88),
|
||||
id-Bearers-SubjectToStatusTransfer-Item(89),
|
||||
id-eNB-StatusTransfer-TransparentContainer(90),
|
||||
id-UE-associatedLogicalS1-ConnectionItem(91),
|
||||
id-ResetType(92),
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck(93),
|
||||
id-E-RABToBeSwitchedULItem(94),
|
||||
id-E-RABToBeSwitchedULList(95),
|
||||
id-S-TMSI(96),
|
||||
id-cdma2000OneXRAND(97),
|
||||
id-RequestType(98),
|
||||
id-UE-S1AP-IDs(99),
|
||||
id-EUTRAN-CGI(100),
|
||||
id-OverloadResponse(101),
|
||||
id-cdma2000OneXSRVCCInfo(102),
|
||||
id-E-RABFailedToBeReleasedList(103),
|
||||
id-Source-ToTarget-TransparentContainer(104),
|
||||
id-ServedGUMMEIs(105),
|
||||
id-SubscriberProfileIDforRFP(106),
|
||||
id-UESecurityCapabilities(107),
|
||||
id-CSFallbackIndicator(108),
|
||||
id-CNDomain(109),
|
||||
id-E-RABReleasedList(110),
|
||||
id-MessageIdentifier(111),
|
||||
id-SerialNumber(112),
|
||||
id-WarningAreaList(113),
|
||||
id-RepetitionPeriod(114),
|
||||
id-NumberofBroadcastRequest(115),
|
||||
id-WarningType(116),
|
||||
id-WarningSecurityInfo(117),
|
||||
id-DataCodingScheme(118),
|
||||
id-WarningMessageContents(119),
|
||||
id-BroadcastCompletedAreaList(120),
|
||||
id-Inter-SystemInformationTransferTypeEDT(121),
|
||||
id-Inter-SystemInformationTransferTypeMDT(122),
|
||||
id-Target-ToSource-TransparentContainer(123),
|
||||
id-SRVCCOperationPossible(124),
|
||||
id-SRVCCHOIndication(125),
|
||||
id-NAS-DownlinkCount(126),
|
||||
id-CSG-Id(127),
|
||||
id-CSG-IdList(128),
|
||||
id-SONConfigurationTransferECT(129),
|
||||
id-SONConfigurationTransferMCT(130),
|
||||
id-TraceCollectionEntityIPAddress(131),
|
||||
id-MSClassmark2(132),
|
||||
id-MSClassmark3(133),
|
||||
id-RRC-Establishment-Cause(134),
|
||||
id-NASSecurityParametersfromE-UTRAN(135),
|
||||
id-NASSecurityParameterstoE-UTRAN(136),
|
||||
id-DefaultPagingDRX(137),
|
||||
id-Source-ToTarget-TransparentContainer-Secondary(138),
|
||||
id-Target-ToSource-TransparentContainer-Secondary(139),
|
||||
id-EUTRANRoundTripDelayEstimationInfo(140),
|
||||
id-BroadcastCancelledAreaList(141),
|
||||
id-ConcurrentWarningMessageIndicator(142),
|
||||
id-Data-Forwarding-Not-Possible(143),
|
||||
id-ExtendedRepetitionPeriod(144),
|
||||
id-CellAccessMode(145),
|
||||
id-CSGMembershipStatus(146),
|
||||
id-LPPa-PDU(147),
|
||||
id-Routing-ID(148),
|
||||
id-Time-Synchronization-Info(149),
|
||||
id-PS-ServiceNotAvailable(150),
|
||||
id-RegisteredLAI(159)
|
||||
} (0..65535)
|
||||
|
||||
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
|
||||
|
||||
END
|
||||
@@ -1,265 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-HandoverPreparation ProcedureCode ::= 0
|
||||
id-HandoverResourceAllocation ProcedureCode ::= 1
|
||||
id-HandoverNotification ProcedureCode ::= 2
|
||||
id-PathSwitchRequest ProcedureCode ::= 3
|
||||
id-HandoverCancel ProcedureCode ::= 4
|
||||
id-E-RABSetup ProcedureCode ::= 5
|
||||
id-E-RABModify ProcedureCode ::= 6
|
||||
id-E-RABRelease ProcedureCode ::= 7
|
||||
id-E-RABReleaseIndication ProcedureCode ::= 8
|
||||
id-InitialContextSetup ProcedureCode ::= 9
|
||||
id-Paging ProcedureCode ::= 10
|
||||
id-downlinkNASTransport ProcedureCode ::= 11
|
||||
id-initialUEMessage ProcedureCode ::= 12
|
||||
id-uplinkNASTransport ProcedureCode ::= 13
|
||||
id-Reset ProcedureCode::= 14
|
||||
id-ErrorIndication ProcedureCode ::= 15
|
||||
id-NASNonDeliveryIndication ProcedureCode ::= 16
|
||||
id-S1Setup ProcedureCode ::= 17
|
||||
id-UEContextReleaseRequest ProcedureCode ::= 18
|
||||
id-DownlinkS1cdma2000tunneling ProcedureCode ::= 19
|
||||
id-UplinkS1cdma2000tunneling ProcedureCode ::= 20
|
||||
id-UEContextModification ProcedureCode ::= 21
|
||||
id-UECapabilityInfoIndication ProcedureCode ::= 22
|
||||
id-UEContextRelease ProcedureCode ::= 23
|
||||
id-eNBStatusTransfer ProcedureCode ::= 24
|
||||
id-MMEStatusTransfer ProcedureCode ::= 25
|
||||
id-DeactivateTrace ProcedureCode ::= 26
|
||||
id-TraceStart ProcedureCode ::= 27
|
||||
id-TraceFailureIndication ProcedureCode ::= 28
|
||||
id-ENBConfigurationUpdate ProcedureCode ::= 29
|
||||
id-MMEConfigurationUpdate ProcedureCode ::= 30
|
||||
id-LocationReportingControl ProcedureCode ::= 31
|
||||
id-LocationReportingFailureIndication ProcedureCode ::= 32
|
||||
id-LocationReport ProcedureCode ::= 33
|
||||
id-OverloadStart ProcedureCode ::= 34
|
||||
id-OverloadStop ProcedureCode ::= 35
|
||||
id-WriteReplaceWarning ProcedureCode ::= 36
|
||||
id-eNBDirectInformationTransfer ProcedureCode ::= 37
|
||||
id-MMEDirectInformationTransfer ProcedureCode ::= 38
|
||||
id-PrivateMessage ProcedureCode ::= 39
|
||||
id-eNBConfigurationTransfer ProcedureCode ::= 40
|
||||
id-MMEConfigurationTransfer ProcedureCode ::= 41
|
||||
id-CellTrafficTrace ProcedureCode ::= 42
|
||||
id-Kill ProcedureCode ::= 43
|
||||
id-downlinkUEAssociatedLPPaTransport ProcedureCode ::= 44
|
||||
id-uplinkUEAssociatedLPPaTransport ProcedureCode ::= 45
|
||||
id-downlinkNonUEAssociatedLPPaTransport ProcedureCode ::= 46
|
||||
id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxPrivateIEs INTEGER ::= 65535
|
||||
maxProtocolExtensions INTEGER ::= 65535
|
||||
maxProtocolIEs INTEGER ::= 65535
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxNrOfCSGs INTEGER ::= 256
|
||||
maxNrOfE-RABs INTEGER ::= 256
|
||||
maxnoofTAIs INTEGER ::= 256
|
||||
maxnoofTACs INTEGER ::= 256
|
||||
maxNrOfErrors INTEGER ::= 256
|
||||
maxnoofBPLMNs INTEGER ::= 6
|
||||
maxnoofPLMNsPerMME INTEGER ::= 32
|
||||
maxnoofEPLMNs INTEGER ::= 15
|
||||
maxnoofEPLMNsPlusOne INTEGER ::= 16
|
||||
maxnoofForbLACs INTEGER ::= 4096
|
||||
maxnoofForbTACs INTEGER ::= 4096
|
||||
maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
|
||||
maxnoofCells INTEGER ::= 16
|
||||
maxnoofTAIforWarning INTEGER ::= 65535
|
||||
maxnoofCellID INTEGER ::= 65535
|
||||
maxnoofEmergencyAreaID INTEGER ::= 65535
|
||||
maxnoofCellinTAI INTEGER ::= 65535
|
||||
maxnoofCellinEAI INTEGER ::= 65535
|
||||
maxnoofeNBX2TLAs INTEGER ::= 2
|
||||
maxnoofRATs INTEGER ::= 8
|
||||
maxnoofGroupIDs INTEGER ::= 65535
|
||||
maxnoofMMECs INTEGER ::= 256
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-MME-UE-S1AP-ID ProtocolIE-ID ::= 0
|
||||
id-HandoverType ProtocolIE-ID ::= 1
|
||||
id-Cause ProtocolIE-ID ::= 2
|
||||
id-SourceID ProtocolIE-ID ::= 3
|
||||
id-TargetID ProtocolIE-ID ::= 4
|
||||
id-eNB-UE-S1AP-ID ProtocolIE-ID ::= 8
|
||||
id-E-RABSubjecttoDataForwardingList ProtocolIE-ID ::= 12
|
||||
id-E-RABtoReleaseListHOCmd ProtocolIE-ID ::= 13
|
||||
id-E-RABDataForwardingItem ProtocolIE-ID ::= 14
|
||||
id-E-RABReleaseItemBearerRelComp ProtocolIE-ID ::= 15
|
||||
id-E-RABToBeSetupListBearerSUReq ProtocolIE-ID ::= 16
|
||||
id-E-RABToBeSetupItemBearerSUReq ProtocolIE-ID ::= 17
|
||||
id-E-RABAdmittedList ProtocolIE-ID ::= 18
|
||||
id-E-RABFailedToSetupListHOReqAck ProtocolIE-ID ::= 19
|
||||
id-E-RABAdmittedItem ProtocolIE-ID ::= 20
|
||||
id-E-RABFailedtoSetupItemHOReqAck ProtocolIE-ID ::= 21
|
||||
id-E-RABToBeSwitchedDLList ProtocolIE-ID ::= 22
|
||||
id-E-RABToBeSwitchedDLItem ProtocolIE-ID ::= 23
|
||||
id-E-RABToBeSetupListCtxtSUReq ProtocolIE-ID ::= 24
|
||||
id-TraceActivation ProtocolIE-ID ::= 25
|
||||
id-NAS-PDU ProtocolIE-ID ::= 26
|
||||
id-E-RABToBeSetupItemHOReq ProtocolIE-ID ::= 27
|
||||
id-E-RABSetupListBearerSURes ProtocolIE-ID ::= 28
|
||||
id-E-RABFailedToSetupListBearerSURes ProtocolIE-ID ::= 29
|
||||
id-E-RABToBeModifiedListBearerModReq ProtocolIE-ID ::= 30
|
||||
id-E-RABModifyListBearerModRes ProtocolIE-ID ::= 31
|
||||
id-E-RABFailedToModifyList ProtocolIE-ID ::= 32
|
||||
id-E-RABToBeReleasedList ProtocolIE-ID ::= 33
|
||||
id-E-RABFailedToReleaseList ProtocolIE-ID ::= 34
|
||||
id-E-RABItem ProtocolIE-ID ::= 35
|
||||
id-E-RABToBeModifiedItemBearerModReq ProtocolIE-ID ::= 36
|
||||
id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
|
||||
id-E-RABReleaseItem ProtocolIE-ID ::= 38
|
||||
id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
|
||||
id-SecurityContext ProtocolIE-ID ::= 40
|
||||
id-HandoverRestrictionList ProtocolIE-ID ::= 41
|
||||
id-UEPagingID ProtocolIE-ID ::= 43
|
||||
id-pagingDRX ProtocolIE-ID ::= 44
|
||||
id-TAIList ProtocolIE-ID ::= 46
|
||||
id-TAIItem ProtocolIE-ID ::= 47
|
||||
id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
|
||||
id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
|
||||
id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
|
||||
id-E-RABSetupListCtxtSURes ProtocolIE-ID ::= 51
|
||||
id-E-RABToBeSetupItemCtxtSUReq ProtocolIE-ID ::= 52
|
||||
id-E-RABToBeSetupListHOReq ProtocolIE-ID ::= 53
|
||||
id-GERANtoLTEHOInformationRes ProtocolIE-ID ::= 55
|
||||
id-UTRANtoLTEHOInformationRes ProtocolIE-ID ::= 57
|
||||
id-CriticalityDiagnostics ProtocolIE-ID ::= 58
|
||||
id-Global-ENB-ID ProtocolIE-ID ::= 59
|
||||
id-eNBname ProtocolIE-ID ::= 60
|
||||
id-MMEname ProtocolIE-ID ::= 61
|
||||
id-ServedPLMNs ProtocolIE-ID ::= 63
|
||||
id-SupportedTAs ProtocolIE-ID ::= 64
|
||||
id-TimeToWait ProtocolIE-ID ::= 65
|
||||
id-uEaggregateMaximumBitrate ProtocolIE-ID ::= 66
|
||||
id-TAI ProtocolIE-ID ::= 67
|
||||
id-E-RABReleaseListBearerRelComp ProtocolIE-ID ::= 69
|
||||
id-cdma2000PDU ProtocolIE-ID ::= 70
|
||||
id-cdma2000RATType ProtocolIE-ID ::= 71
|
||||
id-cdma2000SectorID ProtocolIE-ID ::= 72
|
||||
id-SecurityKey ProtocolIE-ID ::= 73
|
||||
id-UERadioCapability ProtocolIE-ID ::= 74
|
||||
id-GUMMEI-ID ProtocolIE-ID ::= 75
|
||||
id-E-RABInformationListItem ProtocolIE-ID ::= 78
|
||||
id-Direct-Forwarding-Path-Availability ProtocolIE-ID ::= 79
|
||||
id-UEIdentityIndexValue ProtocolIE-ID ::= 80
|
||||
id-cdma2000HOStatus ProtocolIE-ID ::= 83
|
||||
id-cdma2000HORequiredIndication ProtocolIE-ID ::= 84
|
||||
id-E-UTRAN-Trace-ID ProtocolIE-ID ::= 86
|
||||
id-RelativeMMECapacity ProtocolIE-ID ::= 87
|
||||
id-SourceMME-UE-S1AP-ID ProtocolIE-ID ::= 88
|
||||
id-Bearers-SubjectToStatusTransfer-Item ProtocolIE-ID ::= 89
|
||||
id-eNB-StatusTransfer-TransparentContainer ProtocolIE-ID ::= 90
|
||||
id-UE-associatedLogicalS1-ConnectionItem ProtocolIE-ID ::= 91
|
||||
id-ResetType ProtocolIE-ID ::= 92
|
||||
id-UE-associatedLogicalS1-ConnectionListResAck ProtocolIE-ID ::= 93
|
||||
id-E-RABToBeSwitchedULItem ProtocolIE-ID ::= 94
|
||||
id-E-RABToBeSwitchedULList ProtocolIE-ID ::= 95
|
||||
id-S-TMSI ProtocolIE-ID ::= 96
|
||||
id-cdma2000OneXRAND ProtocolIE-ID ::= 97
|
||||
id-RequestType ProtocolIE-ID ::= 98
|
||||
id-UE-S1AP-IDs ProtocolIE-ID ::= 99
|
||||
id-EUTRAN-CGI ProtocolIE-ID ::= 100
|
||||
id-OverloadResponse ProtocolIE-ID ::= 101
|
||||
id-cdma2000OneXSRVCCInfo ProtocolIE-ID ::= 102
|
||||
id-E-RABFailedToBeReleasedList ProtocolIE-ID ::= 103
|
||||
id-Source-ToTarget-TransparentContainer ProtocolIE-ID ::= 104
|
||||
id-ServedGUMMEIs ProtocolIE-ID ::= 105
|
||||
id-SubscriberProfileIDforRFP ProtocolIE-ID ::= 106
|
||||
id-UESecurityCapabilities ProtocolIE-ID ::= 107
|
||||
id-CSFallbackIndicator ProtocolIE-ID ::= 108
|
||||
id-CNDomain ProtocolIE-ID ::= 109
|
||||
id-E-RABReleasedList ProtocolIE-ID ::= 110
|
||||
id-MessageIdentifier ProtocolIE-ID ::= 111
|
||||
id-SerialNumber ProtocolIE-ID ::= 112
|
||||
id-WarningAreaList ProtocolIE-ID ::= 113
|
||||
id-RepetitionPeriod ProtocolIE-ID ::= 114
|
||||
id-NumberofBroadcastRequest ProtocolIE-ID ::= 115
|
||||
id-WarningType ProtocolIE-ID ::= 116
|
||||
id-WarningSecurityInfo ProtocolIE-ID ::= 117
|
||||
id-DataCodingScheme ProtocolIE-ID ::= 118
|
||||
id-WarningMessageContents ProtocolIE-ID ::= 119
|
||||
id-BroadcastCompletedAreaList ProtocolIE-ID ::= 120
|
||||
id-Inter-SystemInformationTransferTypeEDT ProtocolIE-ID ::= 121
|
||||
id-Inter-SystemInformationTransferTypeMDT ProtocolIE-ID ::= 122
|
||||
id-Target-ToSource-TransparentContainer ProtocolIE-ID ::= 123
|
||||
id-SRVCCOperationPossible ProtocolIE-ID ::= 124
|
||||
id-SRVCCHOIndication ProtocolIE-ID ::= 125
|
||||
id-NAS-DownlinkCount ProtocolIE-ID ::= 126
|
||||
id-CSG-Id ProtocolIE-ID ::= 127
|
||||
id-CSG-IdList ProtocolIE-ID ::= 128
|
||||
id-SONConfigurationTransferECT ProtocolIE-ID ::= 129
|
||||
id-SONConfigurationTransferMCT ProtocolIE-ID ::= 130
|
||||
id-TraceCollectionEntityIPAddress ProtocolIE-ID ::= 131
|
||||
id-MSClassmark2 ProtocolIE-ID ::= 132
|
||||
id-MSClassmark3 ProtocolIE-ID ::= 133
|
||||
id-RRC-Establishment-Cause ProtocolIE-ID ::= 134
|
||||
id-NASSecurityParametersfromE-UTRAN ProtocolIE-ID ::= 135
|
||||
id-NASSecurityParameterstoE-UTRAN ProtocolIE-ID ::= 136
|
||||
id-DefaultPagingDRX ProtocolIE-ID ::= 137
|
||||
id-Source-ToTarget-TransparentContainer-Secondary ProtocolIE-ID ::= 138
|
||||
id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
|
||||
id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID ::= 140
|
||||
id-BroadcastCancelledAreaList ProtocolIE-ID ::= 141
|
||||
id-ConcurrentWarningMessageIndicator ProtocolIE-ID ::= 142
|
||||
id-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143
|
||||
id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144
|
||||
id-CellAccessMode ProtocolIE-ID ::= 145
|
||||
id-CSGMembershipStatus ProtocolIE-ID ::= 146
|
||||
id-LPPa-PDU ProtocolIE-ID ::= 147
|
||||
id-Routing-ID ProtocolIE-ID ::= 148
|
||||
id-Time-Synchronization-Info ProtocolIE-ID ::= 149
|
||||
id-PS-ServiceNotAvailable ProtocolIE-ID ::= 150
|
||||
id-RegisteredLAI ProtocolIE-ID ::= 159
|
||||
|
||||
END
|
||||
@@ -1,197 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-Containers {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
Presence,
|
||||
PrivateIE-ID,
|
||||
ProtocolExtensionID,
|
||||
ProtocolIE-ID
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
maxPrivateIEs,
|
||||
maxProtocolExtensions,
|
||||
maxProtocolIEs
|
||||
FROM S1AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-IES ::= CLASS {
|
||||
&id ProtocolIE-ID UNIQUE,
|
||||
&criticality Criticality,
|
||||
&Value,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-IES-PAIR ::= CLASS {
|
||||
&id ProtocolIE-ID UNIQUE,
|
||||
&firstCriticality Criticality,
|
||||
&FirstValue,
|
||||
&secondCriticality Criticality,
|
||||
&SecondValue,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
FIRST CRITICALITY &firstCriticality
|
||||
FIRST TYPE &FirstValue
|
||||
SECOND CRITICALITY &secondCriticality
|
||||
SECOND TYPE &SecondValue
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PROTOCOL-EXTENSION ::= CLASS {
|
||||
&id ProtocolExtensionID UNIQUE,
|
||||
&criticality Criticality,
|
||||
&Extension,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
EXTENSION &Extension
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PRIVATE-IES ::= CLASS {
|
||||
&id PrivateIE-ID,
|
||||
&criticality Criticality,
|
||||
&Value,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IE Pairs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-FieldPair {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
|
||||
firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
|
||||
firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
|
||||
secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
|
||||
secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container Lists for Protocol IE Containers
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-SingleContainer {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
|
||||
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
|
||||
ProtocolExtensionField {{ExtensionSetParam}}
|
||||
|
||||
ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
|
||||
id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
|
||||
criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
|
||||
extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
|
||||
SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
|
||||
PrivateIE-Field {{IEsSetParam}}
|
||||
|
||||
PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
|
||||
criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
END
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,591 +0,0 @@
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
ProcedureCode
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
CellTrafficTrace,
|
||||
DeactivateTrace,
|
||||
DownlinkUEAssociatedLPPaTransport,
|
||||
DownlinkNASTransport,
|
||||
DownlinkNonUEAssociatedLPPaTransport,
|
||||
DownlinkS1cdma2000tunneling,
|
||||
ENBDirectInformationTransfer,
|
||||
ENBStatusTransfer,
|
||||
ENBConfigurationUpdate,
|
||||
ENBConfigurationUpdateAcknowledge,
|
||||
ENBConfigurationUpdateFailure,
|
||||
ErrorIndication,
|
||||
HandoverCancel,
|
||||
HandoverCancelAcknowledge,
|
||||
HandoverCommand,
|
||||
HandoverFailure,
|
||||
HandoverNotify,
|
||||
HandoverPreparationFailure,
|
||||
HandoverRequest,
|
||||
HandoverRequestAcknowledge,
|
||||
HandoverRequired,
|
||||
InitialContextSetupFailure,
|
||||
InitialContextSetupRequest,
|
||||
InitialContextSetupResponse,
|
||||
InitialUEMessage,
|
||||
KillRequest,
|
||||
KillResponse,
|
||||
LocationReportingControl,
|
||||
LocationReportingFailureIndication,
|
||||
LocationReport,
|
||||
MMEConfigurationUpdate,
|
||||
MMEConfigurationUpdateAcknowledge,
|
||||
MMEConfigurationUpdateFailure,
|
||||
MMEDirectInformationTransfer,
|
||||
MMEStatusTransfer,
|
||||
NASNonDeliveryIndication,
|
||||
OverloadStart,
|
||||
OverloadStop,
|
||||
Paging,
|
||||
PathSwitchRequest,
|
||||
PathSwitchRequestAcknowledge,
|
||||
PathSwitchRequestFailure,
|
||||
PrivateMessage,
|
||||
Reset,
|
||||
ResetAcknowledge,
|
||||
S1SetupFailure,
|
||||
S1SetupRequest,
|
||||
S1SetupResponse,
|
||||
E-RABModifyRequest,
|
||||
E-RABModifyResponse,
|
||||
E-RABReleaseCommand,
|
||||
E-RABReleaseResponse,
|
||||
E-RABReleaseIndication,
|
||||
E-RABSetupRequest,
|
||||
E-RABSetupResponse,
|
||||
TraceFailureIndication,
|
||||
TraceStart,
|
||||
UECapabilityInfoIndication,
|
||||
UEContextModificationFailure,
|
||||
UEContextModificationRequest,
|
||||
UEContextModificationResponse,
|
||||
UEContextReleaseCommand,
|
||||
UEContextReleaseComplete,
|
||||
UEContextReleaseRequest,
|
||||
UplinkUEAssociatedLPPaTransport,
|
||||
UplinkNASTransport,
|
||||
UplinkNonUEAssociatedLPPaTransport,
|
||||
UplinkS1cdma2000tunneling,
|
||||
WriteReplaceWarningRequest,
|
||||
WriteReplaceWarningResponse,
|
||||
ENBConfigurationTransfer,
|
||||
MMEConfigurationTransfer
|
||||
|
||||
|
||||
FROM S1AP-PDU-Contents
|
||||
|
||||
id-CellTrafficTrace,
|
||||
id-DeactivateTrace,
|
||||
id-downlinkUEAssociatedLPPaTransport,
|
||||
id-downlinkNASTransport,
|
||||
id-downlinkNonUEAssociatedLPPaTransport,
|
||||
id-DownlinkS1cdma2000tunneling,
|
||||
id-eNBStatusTransfer,
|
||||
id-ErrorIndication,
|
||||
id-HandoverCancel,
|
||||
id-HandoverNotification,
|
||||
id-HandoverPreparation,
|
||||
id-HandoverResourceAllocation,
|
||||
id-InitialContextSetup,
|
||||
id-initialUEMessage,
|
||||
id-ENBConfigurationUpdate,
|
||||
id-Kill,
|
||||
id-LocationReportingControl,
|
||||
id-LocationReportingFailureIndication,
|
||||
id-LocationReport,
|
||||
id-eNBDirectInformationTransfer,
|
||||
id-MMEConfigurationUpdate,
|
||||
id-MMEDirectInformationTransfer,
|
||||
id-MMEStatusTransfer,
|
||||
id-NASNonDeliveryIndication,
|
||||
id-OverloadStart,
|
||||
id-OverloadStop,
|
||||
id-Paging,
|
||||
id-PathSwitchRequest,
|
||||
id-PrivateMessage,
|
||||
id-Reset,
|
||||
id-S1Setup,
|
||||
id-E-RABModify,
|
||||
id-E-RABRelease,
|
||||
id-E-RABReleaseIndication,
|
||||
id-E-RABSetup,
|
||||
id-TraceFailureIndication,
|
||||
id-TraceStart,
|
||||
id-UECapabilityInfoIndication,
|
||||
id-UEContextModification,
|
||||
id-UEContextRelease,
|
||||
id-UEContextReleaseRequest,
|
||||
id-uplinkUEAssociatedLPPaTransport,
|
||||
id-uplinkNASTransport,
|
||||
id-uplinkNonUEAssociatedLPPaTransport,
|
||||
id-UplinkS1cdma2000tunneling,
|
||||
id-WriteReplaceWarning,
|
||||
id-eNBConfigurationTransfer,
|
||||
id-MMEConfigurationTransfer
|
||||
FROM S1AP-Constants;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURE ::= CLASS {
|
||||
&InitiatingMessage ,
|
||||
&SuccessfulOutcome OPTIONAL,
|
||||
&UnsuccessfulOutcome OPTIONAL,
|
||||
&procedureCode ProcedureCode UNIQUE,
|
||||
&criticality Criticality DEFAULT ignore
|
||||
}
|
||||
WITH SYNTAX {
|
||||
INITIATING MESSAGE &InitiatingMessage
|
||||
[SUCCESSFUL OUTCOME &SuccessfulOutcome]
|
||||
[UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
|
||||
PROCEDURE CODE &procedureCode
|
||||
[CRITICALITY &criticality]
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface PDU Definition
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode S1AP-ELEMENTARY-PROCEDURE.&procedureCode ({S1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality S1AP-ELEMENTARY-PROCEDURE.&criticality ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value S1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({S1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverPreparation |
|
||||
handoverResourceAllocation |
|
||||
pathSwitchRequest |
|
||||
e-RABSetup |
|
||||
e-RABModify |
|
||||
e-RABRelease |
|
||||
initialContextSetup |
|
||||
handoverCancel |
|
||||
kill |
|
||||
reset |
|
||||
s1Setup |
|
||||
uEContextModification |
|
||||
uEContextRelease |
|
||||
eNBConfigurationUpdate |
|
||||
mMEConfigurationUpdate |
|
||||
writeReplaceWarning ,
|
||||
...
|
||||
}
|
||||
|
||||
S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
handoverNotification |
|
||||
e-RABReleaseIndication |
|
||||
paging |
|
||||
downlinkNASTransport |
|
||||
initialUEMessage |
|
||||
uplinkNASTransport |
|
||||
errorIndication |
|
||||
nASNonDeliveryIndication |
|
||||
uEContextReleaseRequest |
|
||||
downlinkS1cdma2000tunneling |
|
||||
uplinkS1cdma2000tunneling |
|
||||
uECapabilityInfoIndication |
|
||||
eNBStatusTransfer |
|
||||
mMEStatusTransfer |
|
||||
deactivateTrace |
|
||||
traceStart |
|
||||
traceFailureIndication |
|
||||
cellTrafficTrace |
|
||||
locationReportingControl |
|
||||
locationReportingFailureIndication |
|
||||
locationReport |
|
||||
overloadStart |
|
||||
overloadStop |
|
||||
eNBDirectInformationTransfer |
|
||||
mMEDirectInformationTransfer |
|
||||
eNBConfigurationTransfer |
|
||||
mMEConfigurationTransfer |
|
||||
privateMessage ,
|
||||
...,
|
||||
downlinkUEAssociatedLPPaTransport |
|
||||
uplinkUEAssociatedLPPaTransport |
|
||||
downlinkNonUEAssociatedLPPaTransport |
|
||||
uplinkNonUEAssociatedLPPaTransport
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequired
|
||||
SUCCESSFUL OUTCOME HandoverCommand
|
||||
UNSUCCESSFUL OUTCOME HandoverPreparationFailure
|
||||
PROCEDURE CODE id-HandoverPreparation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverRequest
|
||||
SUCCESSFUL OUTCOME HandoverRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME HandoverFailure
|
||||
PROCEDURE CODE id-HandoverResourceAllocation
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverNotify
|
||||
PROCEDURE CODE id-HandoverNotification
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PathSwitchRequest
|
||||
SUCCESSFUL OUTCOME PathSwitchRequestAcknowledge
|
||||
UNSUCCESSFUL OUTCOME PathSwitchRequestFailure
|
||||
PROCEDURE CODE id-PathSwitchRequest
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABSetupRequest
|
||||
SUCCESSFUL OUTCOME E-RABSetupResponse
|
||||
PROCEDURE CODE id-E-RABSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABModifyRequest
|
||||
SUCCESSFUL OUTCOME E-RABModifyResponse
|
||||
PROCEDURE CODE id-E-RABModify
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseCommand
|
||||
SUCCESSFUL OUTCOME E-RABReleaseResponse
|
||||
PROCEDURE CODE id-E-RABRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE E-RABReleaseIndication
|
||||
PROCEDURE CODE id-E-RABReleaseIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialContextSetupRequest
|
||||
SUCCESSFUL OUTCOME InitialContextSetupResponse
|
||||
UNSUCCESSFUL OUTCOME InitialContextSetupFailure
|
||||
PROCEDURE CODE id-InitialContextSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseRequest
|
||||
PROCEDURE CODE id-UEContextReleaseRequest
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
paging S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Paging
|
||||
PROCEDURE CODE id-Paging
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNASTransport
|
||||
PROCEDURE CODE id-downlinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE InitialUEMessage
|
||||
PROCEDURE CODE id-initialUEMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNASTransport
|
||||
PROCEDURE CODE id-uplinkNASTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE NASNonDeliveryIndication
|
||||
PROCEDURE CODE id-NASNonDeliveryIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE HandoverCancel
|
||||
SUCCESSFUL OUTCOME HandoverCancelAcknowledge
|
||||
PROCEDURE CODE id-HandoverCancel
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
reset S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Reset
|
||||
SUCCESSFUL OUTCOME ResetAcknowledge
|
||||
PROCEDURE CODE id-Reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
errorIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-ErrorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE S1SetupRequest
|
||||
SUCCESSFUL OUTCOME S1SetupResponse
|
||||
UNSUCCESSFUL OUTCOME S1SetupFailure
|
||||
PROCEDURE CODE id-S1Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME ENBConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME ENBConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-ENBConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME MMEConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME MMEConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-MMEConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-DownlinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkS1cdma2000tunneling
|
||||
PROCEDURE CODE id-UplinkS1cdma2000tunneling
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextModificationRequest
|
||||
SUCCESSFUL OUTCOME UEContextModificationResponse
|
||||
UNSUCCESSFUL OUTCOME UEContextModificationFailure
|
||||
|
||||
PROCEDURE CODE id-UEContextModification
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UECapabilityInfoIndication
|
||||
PROCEDURE CODE id-UECapabilityInfoIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseCommand
|
||||
SUCCESSFUL OUTCOME UEContextReleaseComplete
|
||||
PROCEDURE CODE id-UEContextRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBStatusTransfer
|
||||
PROCEDURE CODE id-eNBStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEStatusTransfer
|
||||
PROCEDURE CODE id-MMEStatusTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DeactivateTrace
|
||||
PROCEDURE CODE id-DeactivateTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceStart
|
||||
PROCEDURE CODE id-TraceStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE TraceFailureIndication
|
||||
PROCEDURE CODE id-TraceFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
|
||||
INITIATING MESSAGE CellTrafficTrace
|
||||
PROCEDURE CODE id-CellTrafficTrace
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingControl
|
||||
PROCEDURE CODE id-LocationReportingControl
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReportingFailureIndication
|
||||
PROCEDURE CODE id-LocationReportingFailureIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE LocationReport
|
||||
PROCEDURE CODE id-LocationReport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStart
|
||||
PROCEDURE CODE id-OverloadStart
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE OverloadStop
|
||||
PROCEDURE CODE id-OverloadStop
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE WriteReplaceWarningRequest
|
||||
SUCCESSFUL OUTCOME WriteReplaceWarningResponse
|
||||
PROCEDURE CODE id-WriteReplaceWarning
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBDirectInformationTransfer
|
||||
PROCEDURE CODE id-eNBDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEDirectInformationTransfer
|
||||
PROCEDURE CODE id-MMEDirectInformationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ENBConfigurationTransfer
|
||||
PROCEDURE CODE id-eNBConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE MMEConfigurationTransfer
|
||||
PROCEDURE CODE id-MMEConfigurationTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
|
||||
privateMessage S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-PrivateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
kill S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE KillRequest
|
||||
SUCCESSFUL OUTCOME KillResponse
|
||||
PROCEDURE CODE id-Kill
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
|
||||
PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
END
|
||||
@@ -1,413 +0,0 @@
|
||||
S1AP-PDU {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
eps-Access (21) modules (3) s1ap (1) version1 (1)
|
||||
}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM S1AP-CommonDataTypes
|
||||
|
||||
maxProtocolIEs
|
||||
|
||||
FROM S1AP-Constants;
|
||||
|
||||
S1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode ProcedureCode,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
HandoverRequired ::= SEQUENCE {
|
||||
handoverRequired-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCommand ::= SEQUENCE {
|
||||
handoverCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverPreparationFailure ::= SEQUENCE {
|
||||
handoverPreparationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequest ::= SEQUENCE {
|
||||
handoverRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverRequestAcknowledge ::= SEQUENCE {
|
||||
handoverRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverFailure ::= SEQUENCE {
|
||||
handoverFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverNotify ::= SEQUENCE {
|
||||
handoverNotify-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequest ::= SEQUENCE {
|
||||
pathSwitchRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestAcknowledge ::= SEQUENCE {
|
||||
pathSwitchRequestAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PathSwitchRequestFailure ::= SEQUENCE {
|
||||
pathSwitchRequestFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupRequest ::= SEQUENCE {
|
||||
e-RABSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABSetupResponse ::= SEQUENCE {
|
||||
e-RABSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyRequest ::= SEQUENCE {
|
||||
e-RABModifyRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABModifyResponse ::= SEQUENCE {
|
||||
e-RABModifyResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseIndication ::= SEQUENCE {
|
||||
e-RABReleaseIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseCommand ::= SEQUENCE {
|
||||
e-RABReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
E-RABReleaseResponse ::= SEQUENCE {
|
||||
e-RABReleaseResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupRequest ::= SEQUENCE {
|
||||
initialContextSetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupResponse ::= SEQUENCE {
|
||||
initialContextSetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialContextSetupFailure ::= SEQUENCE {
|
||||
initialContextSetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseRequest ::= SEQUENCE {
|
||||
ueContextReleaseRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Paging ::= SEQUENCE {
|
||||
paging-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkNASTransport ::= SEQUENCE {
|
||||
downlinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
InitialUEMessage ::= SEQUENCE {
|
||||
initialUEMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkNASTransport ::= SEQUENCE {
|
||||
uplinkNASTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
NASNonDeliveryIndication ::= SEQUENCE {
|
||||
nasNonDeliveryIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancel ::= SEQUENCE {
|
||||
handoverCancel-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
HandoverCancelAcknowledge ::= SEQUENCE {
|
||||
handoverCancelAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
Reset ::= SEQUENCE {
|
||||
reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ResetAcknowledge ::= SEQUENCE {
|
||||
resetAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupResponse ::= SEQUENCE {
|
||||
s1SetupResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupRequest ::= SEQUENCE {
|
||||
s1SetupRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
S1SetupFailure ::= SEQUENCE
|
||||
{
|
||||
s1SetupFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ErrorIndication ::= SEQUENCE {
|
||||
errorIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdate ::= SEQUENCE {
|
||||
eNBConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
eNBConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationUpdateFailure ::= SEQUENCE {
|
||||
eNBConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdate ::= SEQUENCE {
|
||||
mmeConfigurationUpdate-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
mmeConfigurationUpdateAcknowledge-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationUpdateFailure ::= SEQUENCE {
|
||||
mmeConfigurationUpdateFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
downlinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkS1cdma2000tunneling ::= SEQUENCE {
|
||||
uplinkS1cdma2000tunneling-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationRequest ::= SEQUENCE {
|
||||
ueContextModificationRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationResponse ::= SEQUENCE {
|
||||
ueContextModificationResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationFailure ::= SEQUENCE {
|
||||
ueContextModificationFailure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UECapabilityInfoIndication ::= SEQUENCE {
|
||||
ueCapabilityInfoIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseCommand ::= SEQUENCE {
|
||||
ueContextReleaseCommand-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseComplete ::= SEQUENCE {
|
||||
ueContextReleaseComplete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBStatusTransfer ::= SEQUENCE {
|
||||
eNBStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEStatusTransfer ::= SEQUENCE {
|
||||
mmeStatusTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DeactivateTrace ::= SEQUENCE {
|
||||
deactivateTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceStart ::= SEQUENCE {
|
||||
traceStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
TraceFailureIndication ::= SEQUENCE {
|
||||
traceFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
CellTrafficTrace ::= SEQUENCE {
|
||||
cellTrafficTrace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingControl ::= SEQUENCE {
|
||||
locationReportingControl-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReportingFailureIndication ::= SEQUENCE {
|
||||
locationReportingFailureIndication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
LocationReport ::= SEQUENCE {
|
||||
locationReport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStart ::= SEQUENCE {
|
||||
overloadStart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
OverloadStop ::= SEQUENCE {
|
||||
overloadStop-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningRequest ::= SEQUENCE {
|
||||
writeReplaceWarningRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
WriteReplaceWarningResponse ::= SEQUENCE {
|
||||
writeReplaceWarningResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBDirectInformationTransfer ::= SEQUENCE {
|
||||
eNBDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEDirectInformationTransfer ::= SEQUENCE {
|
||||
mmeDirectInformationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
ENBConfigurationTransfer ::= SEQUENCE {
|
||||
eNBConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
MMEConfigurationTransfer ::= SEQUENCE {
|
||||
mmeConfigurationTransfer-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
PrivateMessage ::= SEQUENCE {
|
||||
privateMessage-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
KillRequest ::= SEQUENCE {
|
||||
killRequest-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
KillResponse ::= SEQUENCE {
|
||||
killResponse-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
downlinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
uplinkUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
downlinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
|
||||
uplinkNonUEAssociatedLPPaTransport-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
|
||||
...
|
||||
}
|
||||
|
||||
IE ::= SEQUENCE {
|
||||
id ProtocolIE-ID,
|
||||
criticality Criticality,
|
||||
value ANY
|
||||
}
|
||||
|
||||
END
|
||||
+4698
File diff suppressed because it is too large
Load Diff
@@ -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; \
|
||||
|
||||
+150
-93
@@ -80,12 +80,16 @@ uint32_t s1ap_generate_eNB_id(void)
|
||||
char hostname[50];
|
||||
int ret;
|
||||
uint32_t eNB_id;
|
||||
|
||||
/* Retrieve the host name */
|
||||
ret = gethostname(hostname, sizeof(hostname));
|
||||
DevAssert(ret == 0);
|
||||
|
||||
out = crypt(hostname, "eurecom");
|
||||
DevAssert(out != NULL);
|
||||
|
||||
eNB_id = ((out[0] << 24) | (out[1] << 16) | (out[2] << 8) | out[3]);
|
||||
|
||||
return eNB_id;
|
||||
}
|
||||
|
||||
@@ -99,32 +103,46 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
|
||||
sctp_new_association_req_t *sctp_new_association_req_p = NULL;
|
||||
s1ap_eNB_mme_data_t *s1ap_mme_data_p = NULL;
|
||||
struct s1ap_eNB_mme_data_s *mme = NULL;
|
||||
|
||||
DevAssert(instance_p != NULL);
|
||||
DevAssert(mme_ip_address != NULL);
|
||||
|
||||
message_p = itti_alloc_new_message(TASK_S1AP, SCTP_NEW_ASSOCIATION_REQ);
|
||||
|
||||
sctp_new_association_req_p = &message_p->ittiMsg.sctp_new_association_req;
|
||||
|
||||
sctp_new_association_req_p->port = S1AP_PORT_NUMBER;
|
||||
sctp_new_association_req_p->ppid = S1AP_SCTP_PPID;
|
||||
|
||||
sctp_new_association_req_p->in_streams = in_streams;
|
||||
sctp_new_association_req_p->out_streams = out_streams;
|
||||
|
||||
memcpy(&sctp_new_association_req_p->remote_address,
|
||||
mme_ip_address,
|
||||
sizeof(*mme_ip_address));
|
||||
|
||||
memcpy(&sctp_new_association_req_p->local_address,
|
||||
local_ip_addr,
|
||||
sizeof(*local_ip_addr));
|
||||
|
||||
S1AP_INFO("[eNB %d] check the mme registration state\n",instance_p->instance);
|
||||
|
||||
mme = s1ap_eNB_get_MME_from_instance(instance_p);
|
||||
|
||||
if ( mme == NULL ) {
|
||||
|
||||
/* Create new MME descriptor */
|
||||
s1ap_mme_data_p = calloc(1, sizeof(*s1ap_mme_data_p));
|
||||
DevAssert(s1ap_mme_data_p != NULL);
|
||||
|
||||
s1ap_mme_data_p->cnx_id = s1ap_eNB_fetch_add_global_cnx_id();
|
||||
sctp_new_association_req_p->ulp_cnx_id = s1ap_mme_data_p->cnx_id;
|
||||
|
||||
s1ap_mme_data_p->assoc_id = -1;
|
||||
s1ap_mme_data_p->s1ap_eNB_instance = instance_p;
|
||||
|
||||
STAILQ_INIT(&s1ap_mme_data_p->served_gummei);
|
||||
|
||||
/* Insert the new descriptor in list of known MME
|
||||
* but not yet associated.
|
||||
*/
|
||||
@@ -135,10 +153,12 @@ static void s1ap_eNB_register_mme(s1ap_eNB_instance_t *instance_p,
|
||||
} else if (mme->state == S1AP_ENB_STATE_WAITING) {
|
||||
instance_p->s1ap_mme_pending_nb ++;
|
||||
sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id;
|
||||
|
||||
S1AP_INFO("[eNB %d] MME already registered, retrive the data (state %d, cnx %d, mme_nb %d, mme_pending_nb %d)\n",
|
||||
instance_p->instance,
|
||||
mme->state, mme->cnx_id,
|
||||
instance_p->s1ap_mme_nb, instance_p->s1ap_mme_pending_nb);
|
||||
|
||||
/*s1ap_mme_data_p->cnx_id = mme->cnx_id;
|
||||
sctp_new_association_req_p->ulp_cnx_id = mme->cnx_id;
|
||||
|
||||
@@ -160,7 +180,9 @@ void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *
|
||||
{
|
||||
s1ap_eNB_instance_t *new_instance;
|
||||
uint8_t index;
|
||||
|
||||
DevAssert(s1ap_register_eNB != NULL);
|
||||
|
||||
/* Look if the provided instance already exists */
|
||||
new_instance = s1ap_eNB_get_instance(instance);
|
||||
|
||||
@@ -176,8 +198,10 @@ void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *
|
||||
} else {
|
||||
new_instance = calloc(1, sizeof(s1ap_eNB_instance_t));
|
||||
DevAssert(new_instance != NULL);
|
||||
|
||||
RB_INIT(&new_instance->s1ap_ue_head);
|
||||
RB_INIT(&new_instance->s1ap_mme_head);
|
||||
|
||||
/* Copy usefull parameters */
|
||||
new_instance->instance = instance;
|
||||
new_instance->eNB_name = s1ap_register_eNB->eNB_name;
|
||||
@@ -188,8 +212,10 @@ void s1ap_eNB_handle_register_eNB(instance_t instance, s1ap_register_enb_req_t *
|
||||
new_instance->mnc = s1ap_register_eNB->mnc;
|
||||
new_instance->mnc_digit_length = s1ap_register_eNB->mnc_digit_length;
|
||||
new_instance->default_drx = s1ap_register_eNB->default_drx;
|
||||
|
||||
/* Add the new instance to the list of eNB (meaningfull in virtual mode) */
|
||||
s1ap_eNB_insert_new_instance(new_instance);
|
||||
|
||||
S1AP_INFO("Registered new eNB[%d] and %s eNB id %u\n",
|
||||
instance,
|
||||
s1ap_register_eNB->cell_type == CELL_MACRO_ENB ? "macro" : "home",
|
||||
@@ -213,9 +239,12 @@ void s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
|
||||
{
|
||||
s1ap_eNB_instance_t *instance_p;
|
||||
s1ap_eNB_mme_data_t *s1ap_mme_data_p;
|
||||
|
||||
DevAssert(sctp_new_association_resp != NULL);
|
||||
|
||||
instance_p = s1ap_eNB_get_instance(instance);
|
||||
DevAssert(instance_p != NULL);
|
||||
|
||||
s1ap_mme_data_p = s1ap_eNB_get_MME(instance_p, -1,
|
||||
sctp_new_association_resp->ulp_cnx_id);
|
||||
DevAssert(s1ap_mme_data_p != NULL);
|
||||
@@ -225,7 +254,9 @@ void s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
|
||||
sctp_new_association_resp->sctp_state,
|
||||
instance,
|
||||
sctp_new_association_resp->ulp_cnx_id);
|
||||
|
||||
s1ap_handle_s1_setup_message(s1ap_mme_data_p, sctp_new_association_resp->sctp_state == SCTP_STATE_SHUTDOWN);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -233,6 +264,7 @@ void s1ap_eNB_handle_sctp_association_resp(instance_t instance, sctp_new_associa
|
||||
s1ap_mme_data_p->assoc_id = sctp_new_association_resp->assoc_id;
|
||||
s1ap_mme_data_p->in_streams = sctp_new_association_resp->in_streams;
|
||||
s1ap_mme_data_p->out_streams = sctp_new_association_resp->out_streams;
|
||||
|
||||
/* Prepare new S1 Setup Request */
|
||||
s1ap_eNB_generate_s1_setup_request(instance_p, s1ap_mme_data_p);
|
||||
}
|
||||
@@ -241,10 +273,11 @@ static
|
||||
void s1ap_eNB_handle_sctp_data_ind(sctp_data_ind_t *sctp_data_ind)
|
||||
{
|
||||
int result;
|
||||
|
||||
DevAssert(sctp_data_ind != NULL);
|
||||
#if defined(TEST_S1C_MME)
|
||||
mme_test_s1_notify_sctp_data_ind(sctp_data_ind->assoc_id, sctp_data_ind->stream,
|
||||
sctp_data_ind->buffer, sctp_data_ind->buffer_length);
|
||||
sctp_data_ind->buffer, sctp_data_ind->buffer_length);
|
||||
#else
|
||||
s1ap_eNB_handle_message(sctp_data_ind->assoc_id, sctp_data_ind->stream,
|
||||
sctp_data_ind->buffer, sctp_data_ind->buffer_length);
|
||||
@@ -257,8 +290,11 @@ void *s1ap_eNB_task(void *arg)
|
||||
{
|
||||
MessageDef *received_msg = NULL;
|
||||
int result;
|
||||
|
||||
S1AP_DEBUG("Starting S1AP layer\n");
|
||||
|
||||
s1ap_eNB_prepare_internal_data();
|
||||
|
||||
itti_mark_task_ready(TASK_S1AP);
|
||||
MSC_START_USE();
|
||||
|
||||
@@ -266,112 +302,116 @@ void *s1ap_eNB_task(void *arg)
|
||||
itti_receive_msg(TASK_S1AP, &received_msg);
|
||||
|
||||
switch (ITTI_MSG_ID(received_msg)) {
|
||||
case TERMINATE_MESSAGE:
|
||||
S1AP_WARN(" *** Exiting S1AP thread\n");
|
||||
itti_exit_task();
|
||||
break;
|
||||
|
||||
case S1AP_REGISTER_ENB_REQ: {
|
||||
/* Register a new eNB.
|
||||
* in Virtual mode eNBs will be distinguished using the mod_id/
|
||||
* Each eNB has to send an S1AP_REGISTER_ENB message with its
|
||||
* own parameters.
|
||||
*/
|
||||
s1ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_REGISTER_ENB_REQ(received_msg));
|
||||
}
|
||||
case TERMINATE_MESSAGE:
|
||||
S1AP_WARN(" *** Exiting S1AP thread\n");
|
||||
itti_exit_task();
|
||||
break;
|
||||
|
||||
case SCTP_NEW_ASSOCIATION_RESP: {
|
||||
s1ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&received_msg->ittiMsg.sctp_new_association_resp);
|
||||
}
|
||||
break;
|
||||
case S1AP_REGISTER_ENB_REQ: {
|
||||
/* Register a new eNB.
|
||||
* in Virtual mode eNBs will be distinguished using the mod_id/
|
||||
* Each eNB has to send an S1AP_REGISTER_ENB message with its
|
||||
* own parameters.
|
||||
*/
|
||||
s1ap_eNB_handle_register_eNB(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_REGISTER_ENB_REQ(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case SCTP_DATA_IND: {
|
||||
s1ap_eNB_handle_sctp_data_ind(&received_msg->ittiMsg.sctp_data_ind);
|
||||
}
|
||||
break;
|
||||
case SCTP_NEW_ASSOCIATION_RESP: {
|
||||
s1ap_eNB_handle_sctp_association_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&received_msg->ittiMsg.sctp_new_association_resp);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_NAS_FIRST_REQ: {
|
||||
s1ap_eNB_handle_nas_first_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_NAS_FIRST_REQ(received_msg));
|
||||
}
|
||||
break;
|
||||
case SCTP_DATA_IND: {
|
||||
s1ap_eNB_handle_sctp_data_ind(&received_msg->ittiMsg.sctp_data_ind);
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_UPLINK_NAS: {
|
||||
s1ap_eNB_nas_uplink(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UPLINK_NAS(received_msg));
|
||||
}
|
||||
break;
|
||||
case S1AP_NAS_FIRST_REQ: {
|
||||
s1ap_eNB_handle_nas_first_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_NAS_FIRST_REQ(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_UE_CAPABILITIES_IND: {
|
||||
s1ap_eNB_ue_capabilities(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UE_CAPABILITIES_IND(received_msg));
|
||||
}
|
||||
break;
|
||||
case S1AP_UPLINK_NAS: {
|
||||
s1ap_eNB_nas_uplink(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UPLINK_NAS(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_INITIAL_CONTEXT_SETUP_RESP: {
|
||||
s1ap_eNB_initial_ctxt_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_INITIAL_CONTEXT_SETUP_RESP(received_msg));
|
||||
}
|
||||
break;
|
||||
case S1AP_UE_CAPABILITIES_IND: {
|
||||
s1ap_eNB_ue_capabilities(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UE_CAPABILITIES_IND(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_E_RAB_SETUP_RESP: {
|
||||
s1ap_eNB_e_rab_setup_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_E_RAB_SETUP_RESP(received_msg));
|
||||
}
|
||||
break;
|
||||
case S1AP_INITIAL_CONTEXT_SETUP_RESP: {
|
||||
s1ap_eNB_initial_ctxt_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_INITIAL_CONTEXT_SETUP_RESP(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_E_RAB_MODIFY_RESP: {
|
||||
s1ap_eNB_e_rab_modify_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_E_RAB_MODIFY_RESP(received_msg));
|
||||
}
|
||||
break;
|
||||
case S1AP_E_RAB_SETUP_RESP: {
|
||||
s1ap_eNB_e_rab_setup_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_E_RAB_SETUP_RESP(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_NAS_NON_DELIVERY_IND: {
|
||||
s1ap_eNB_nas_non_delivery_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_NAS_NON_DELIVERY_IND(received_msg));
|
||||
}
|
||||
break;
|
||||
case S1AP_E_RAB_MODIFY_RESP: {
|
||||
s1ap_eNB_e_rab_modify_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_E_RAB_MODIFY_RESP(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_NAS_NON_DELIVERY_IND: {
|
||||
s1ap_eNB_nas_non_delivery_ind(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_NAS_NON_DELIVERY_IND(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_UE_CONTEXT_RELEASE_COMPLETE: {
|
||||
s1ap_ue_context_release_complete(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UE_CONTEXT_RELEASE_COMPLETE(received_msg));
|
||||
}
|
||||
break;
|
||||
case S1AP_UE_CONTEXT_RELEASE_COMPLETE: {
|
||||
s1ap_ue_context_release_complete(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UE_CONTEXT_RELEASE_COMPLETE(received_msg));
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_UE_CONTEXT_RELEASE_REQ: {
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance_p = NULL; // test
|
||||
struct s1ap_eNB_ue_context_s *ue_context_p = NULL; // test
|
||||
s1ap_ue_context_release_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UE_CONTEXT_RELEASE_REQ(received_msg));
|
||||
s1ap_eNB_instance_p = s1ap_eNB_get_instance(ITTI_MESSAGE_GET_INSTANCE(received_msg)); // test
|
||||
DevAssert(s1ap_eNB_instance_p != NULL); // test
|
||||
case S1AP_UE_CONTEXT_RELEASE_REQ: {
|
||||
s1ap_eNB_instance_t *s1ap_eNB_instance_p = NULL; // test
|
||||
struct s1ap_eNB_ue_context_s *ue_context_p = NULL; // test
|
||||
|
||||
if ((ue_context_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p,
|
||||
S1AP_UE_CONTEXT_RELEASE_REQ(received_msg).eNB_ue_s1ap_id)) == NULL) { // test
|
||||
/* The context for this eNB ue s1ap id doesn't exist in the map of eNB UEs */
|
||||
S1AP_ERROR("Failed to find ue context associated with eNB ue s1ap id: %u\n",
|
||||
S1AP_UE_CONTEXT_RELEASE_REQ(received_msg).eNB_ue_s1ap_id); // test
|
||||
} // test
|
||||
}
|
||||
break;
|
||||
s1ap_ue_context_release_req(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_UE_CONTEXT_RELEASE_REQ(received_msg));
|
||||
|
||||
case S1AP_E_RAB_RELEASE_RESPONSE: {
|
||||
|
||||
s1ap_eNB_instance_p = s1ap_eNB_get_instance(ITTI_MESSAGE_GET_INSTANCE(received_msg)); // test
|
||||
DevAssert(s1ap_eNB_instance_p != NULL); // test
|
||||
|
||||
if ((ue_context_p = s1ap_eNB_get_ue_context(s1ap_eNB_instance_p,
|
||||
S1AP_UE_CONTEXT_RELEASE_REQ(received_msg).eNB_ue_s1ap_id)) == NULL) { // test
|
||||
/* The context for this eNB ue s1ap id doesn't exist in the map of eNB UEs */
|
||||
S1AP_ERROR("Failed to find ue context associated with eNB ue s1ap id: %u\n",
|
||||
S1AP_UE_CONTEXT_RELEASE_REQ(received_msg).eNB_ue_s1ap_id); // test
|
||||
} // test
|
||||
}
|
||||
break;
|
||||
|
||||
case S1AP_E_RAB_RELEASE_RESPONSE: {
|
||||
s1ap_eNB_e_rab_release_resp(ITTI_MESSAGE_GET_INSTANCE(received_msg),
|
||||
&S1AP_E_RAB_RELEASE_RESPONSE(received_msg));
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
S1AP_ERROR("Received unhandled message: %d:%s\n",
|
||||
ITTI_MSG_ID(received_msg), ITTI_MSG_NAME(received_msg));
|
||||
break;
|
||||
default:
|
||||
S1AP_ERROR("Received unhandled message: %d:%s\n",
|
||||
ITTI_MSG_ID(received_msg), ITTI_MSG_NAME(received_msg));
|
||||
break;
|
||||
}
|
||||
|
||||
result = itti_free (ITTI_MSG_ORIGIN_ID(received_msg), received_msg);
|
||||
AssertFatal (result == EXIT_SUCCESS, "Failed to free memory (%d)!\n", result);
|
||||
|
||||
received_msg = NULL;
|
||||
}
|
||||
|
||||
@@ -389,7 +429,12 @@ static int s1ap_eNB_generate_s1_setup_request(
|
||||
uint8_t *buffer;
|
||||
uint32_t len;
|
||||
int ret = 0;
|
||||
|
||||
DevAssert(instance_p != NULL);
|
||||
DevAssert(s1ap_mme_data_p != NULL);
|
||||
|
||||
s1ap_mme_data_p->state = S1AP_ENB_STATE_WAITING;
|
||||
|
||||
/* Prepare the S1AP message to encode */
|
||||
memset(&pdu, 0, sizeof(pdu));
|
||||
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
|
||||
@@ -397,6 +442,8 @@ 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;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_Global_ENB_ID;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
@@ -423,17 +470,24 @@ static int s1ap_eNB_generate_s1_setup_request(
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
}
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_SupportedTAs;
|
||||
ie->criticality = S1AP_Criticality_reject;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_SupportedTAs;
|
||||
ta = (S1AP_SupportedTAs_Item_t *)calloc(1, sizeof(S1AP_SupportedTAs_Item_t));
|
||||
INT16_TO_OCTET_STRING(instance_p->tac, &ta->tAC);
|
||||
plmn = (S1AP_PLMNidentity_t *)calloc(1, sizeof(S1AP_PLMNidentity_t));
|
||||
MCC_MNC_TO_TBCD(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn);
|
||||
ASN_SEQUENCE_ADD(&ta->broadcastPLMNs.list, plmn);
|
||||
ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAs.list, ta);
|
||||
{
|
||||
ta = (S1AP_SupportedTAs_Item_t *)calloc(1, sizeof(S1AP_SupportedTAs_Item_t));
|
||||
INT16_TO_OCTET_STRING(instance_p->tac, &ta->tAC);
|
||||
{
|
||||
plmn = (S1AP_PLMNidentity_t *)calloc(1, sizeof(S1AP_PLMNidentity_t));
|
||||
MCC_MNC_TO_TBCD(instance_p->mcc, instance_p->mnc, instance_p->mnc_digit_length, plmn);
|
||||
ASN_SEQUENCE_ADD(&ta->broadcastPLMNs.list, plmn);
|
||||
}
|
||||
ASN_SEQUENCE_ADD(&ie->value.choice.SupportedTAs.list, ta);
|
||||
}
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_DefaultPagingDRX;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
@@ -452,9 +506,10 @@ static int s1ap_eNB_generate_s1_setup_request(
|
||||
}
|
||||
|
||||
/* optional */
|
||||
#if (S1AP_VERSION >= MAKE_VERSION(13, 0, 0))
|
||||
if (0) {
|
||||
ie = (S1AP_S1SetupRequestIEs_t *)calloc(1, sizeof(S1AP_S1SetupRequestIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_UE_RetentionInformation ;
|
||||
ie->id = S1AP_ProtocolIE_ID_id_UE_RetentionInformation;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
ie->value.present = S1AP_S1SetupRequestIEs__value_PR_UE_RetentionInformation;
|
||||
// ie->value.choice.UE_RetentionInformation = ;
|
||||
@@ -470,6 +525,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");
|
||||
@@ -478,5 +534,6 @@ static int s1ap_eNB_generate_s1_setup_request(
|
||||
|
||||
/* Non UE-Associated signalling -> stream = 0 */
|
||||
s1ap_eNB_itti_send_sctp_data_req(instance_p->instance, s1ap_mme_data_p->assoc_id, buffer, len, 0);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -60,8 +60,10 @@ 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);
|
||||
DevAssert(s1ap_eNB_instance_p != NULL);
|
||||
|
||||
@@ -85,12 +87,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 +114,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 +125,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;
|
||||
@@ -126,6 +134,7 @@ int s1ap_ue_context_release_complete(instance_t instance,
|
||||
ie->value.present = S1AP_UEContextReleaseComplete_IEs__value_PR_InformationOnRecommendedCellsAndENBsForPaging;
|
||||
// ie->value.choice.InformationOnRecommendedCellsAndENBsForPaging = ;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
ie = (S1AP_UEContextReleaseComplete_IEs_t *)calloc(1, sizeof(S1AP_UEContextReleaseComplete_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_CellIdentifierAndCELevelForCECapableUEs;
|
||||
ie->criticality = S1AP_Criticality_ignore;
|
||||
@@ -133,6 +142,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 +158,16 @@ int s1ap_ue_context_release_complete(instance_t instance,
|
||||
length,
|
||||
MSC_AS_TIME_FMT" UEContextRelease successfulOutcome eNB_ue_s1ap_id %u mme_ue_s1ap_id %u",
|
||||
0,0, //MSC_AS_TIME_ARGS(ctxt_pP),
|
||||
ue_ctxt_release_complete_ies_p->eNB_UE_S1AP_ID,
|
||||
ue_ctxt_release_complete_ies_p->mme_ue_s1ap_id);
|
||||
ue_release_complete_p->eNB_ue_s1ap_id,
|
||||
ue_context_p->mme_ue_s1ap_id);
|
||||
|
||||
/* UE associated signalling -> use the allocated stream */
|
||||
s1ap_eNB_itti_send_sctp_data_req(s1ap_eNB_instance_p->instance,
|
||||
ue_context_p->mme_ref->assoc_id, buffer,
|
||||
length, ue_context_p->tx_stream);
|
||||
|
||||
//LG s1ap_eNB_itti_send_sctp_close_association(s1ap_eNB_instance_p->instance,
|
||||
// ue_context_p->mme_ref->assoc_id);
|
||||
// ue_context_p->mme_ref->assoc_id);
|
||||
// release UE context
|
||||
struct s1ap_eNB_ue_context_s *ue_context2_p = NULL;
|
||||
|
||||
@@ -167,12 +180,12 @@ int s1ap_ue_context_release_complete(instance_t instance,
|
||||
S1AP_WARN("Removing UE context eNB_ue_s1ap_id %u: did not find context\n",
|
||||
ue_context_p->eNB_ue_s1ap_id);
|
||||
}
|
||||
|
||||
/*RB_FOREACH(ue_context_p, s1ap_ue_map, &s1ap_eNB_instance_p->s1ap_ue_head) {
|
||||
S1AP_WARN("in s1ap_ue_map: UE context eNB_ue_s1ap_id %u mme_ue_s1ap_id %u state %u\n",
|
||||
ue_context_p->eNB_ue_s1ap_id, ue_context_p->mme_ue_s1ap_id,
|
||||
ue_context_p->ue_state);
|
||||
}*/
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -189,6 +202,7 @@ int s1ap_ue_context_release_req(instance_t instance,
|
||||
uint32_t length;
|
||||
/* Retrieve the S1AP eNB instance associated with Mod_id */
|
||||
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
|
||||
|
||||
DevAssert(ue_release_req_p != NULL);
|
||||
DevAssert(s1ap_eNB_instance_p != NULL);
|
||||
|
||||
@@ -207,18 +221,24 @@ 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 +279,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 +288,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,12 +303,14 @@ 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,
|
||||
length, ue_context_p->tx_stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
#include "s1ap_common.h"
|
||||
#include "s1ap_eNB_decoder.h"
|
||||
|
||||
|
||||
static int s1ap_eNB_decode_initiating_message(S1AP_S1AP_PDU_t *pdu)
|
||||
{
|
||||
MessageDef *message_p;
|
||||
@@ -123,7 +122,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 +206,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,
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
|
||||
#ifndef S1AP_ENB_DECODER_H_
|
||||
#define S1AP_ENB_DECODER_H_
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -56,7 +56,8 @@ void s1ap_eNB_itti_send_nas_downlink_ind(instance_t instance,
|
||||
|
||||
s1ap_downlink_nas->ue_initial_id = ue_initial_id;
|
||||
s1ap_downlink_nas->eNB_ue_s1ap_id = eNB_ue_s1ap_id;
|
||||
s1ap_downlink_nas->nas_pdu.buffer = nas_pdu;
|
||||
s1ap_downlink_nas->nas_pdu.buffer = malloc(sizeof(uint8_t) * nas_pdu_length);
|
||||
memcpy(s1ap_downlink_nas->nas_pdu.buffer, nas_pdu, nas_pdu_length);
|
||||
s1ap_downlink_nas->nas_pdu.length = nas_pdu_length;
|
||||
|
||||
itti_send_msg_to_task(TASK_RRC_ENB, instance, message_p);
|
||||
|
||||
@@ -61,10 +61,13 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
S1AP_InitialUEMessage_IEs_t *ie;
|
||||
uint8_t *buffer = NULL;
|
||||
uint32_t length = 0;
|
||||
|
||||
DevAssert(s1ap_nas_first_req_p != NULL);
|
||||
|
||||
/* Retrieve the S1AP eNB instance associated with Mod_id */
|
||||
instance_p = s1ap_eNB_get_instance(instance);
|
||||
DevAssert(instance_p != NULL);
|
||||
|
||||
memset(&pdu, 0, sizeof(pdu));
|
||||
pdu.present = S1AP_S1AP_PDU_PR_initiatingMessage;
|
||||
pdu.choice.initiatingMessage.procedureCode = S1AP_ProcedureCode_id_initialUEMessage;
|
||||
@@ -105,6 +108,7 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
* In case eNB has no MME associated, the eNB should inform RRC and discard
|
||||
* this request.
|
||||
*/
|
||||
|
||||
S1AP_WARN("No MME is associated to the eNB\n");
|
||||
// TODO: Inform RRC
|
||||
return -1;
|
||||
@@ -115,6 +119,7 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
*/
|
||||
ue_desc_p = s1ap_eNB_allocate_new_UE_context();
|
||||
DevAssert(ue_desc_p != NULL);
|
||||
|
||||
/* Keep a reference to the selected MME */
|
||||
ue_desc_p->mme_ref = mme_desc_p;
|
||||
ue_desc_p->ue_initial_id = s1ap_nas_first_req_p->ue_initial_id;
|
||||
@@ -122,6 +127,7 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
|
||||
do {
|
||||
struct s1ap_eNB_ue_context_s *collision_p;
|
||||
|
||||
/* Peek a random value for the eNB_ue_s1ap_id */
|
||||
ue_desc_p->eNB_ue_s1ap_id = (random() + random()) & 0x00ffffff;
|
||||
|
||||
@@ -142,21 +148,23 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
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_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;
|
||||
@@ -169,6 +177,7 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
instance_p->mnc_digit_length,
|
||||
&ie->value.choice.TAI.pLMNidentity);
|
||||
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_EUTRAN_CGI;
|
||||
@@ -187,9 +196,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 +253,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 +264,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;
|
||||
@@ -271,6 +284,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 +325,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 +356,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 +376,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 */
|
||||
@@ -368,6 +389,7 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
|
||||
/* Update the current S1AP UE state */
|
||||
ue_desc_p->ue_state = S1AP_UE_WAITING_CSR;
|
||||
|
||||
/* Assign a stream for this UE :
|
||||
* From 3GPP 36.412 7)Transport layers:
|
||||
* Within the SCTP association established between one MME and eNB pair:
|
||||
@@ -387,6 +409,7 @@ int s1ap_eNB_handle_nas_first_req(
|
||||
}
|
||||
|
||||
ue_desc_p->tx_stream = mme_desc_p->nextstream;
|
||||
|
||||
MSC_LOG_TX_MESSAGE(
|
||||
MSC_S1AP_ENB,
|
||||
MSC_S1AP_MME,
|
||||
@@ -394,10 +417,12 @@ 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);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -431,25 +456,28 @@ int s1ap_eNB_handle_nas_downlink(uint32_t assoc_id,
|
||||
}
|
||||
|
||||
s1ap_eNB_instance = mme_desc_p->s1ap_eNB_instance;
|
||||
|
||||
/* 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);
|
||||
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);
|
||||
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,22 +518,25 @@ 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,
|
||||
ue_desc_p->eNB_ue_s1ap_id,
|
||||
ie->value.choice.NAS_PDU.buf,
|
||||
ie->value.choice.NAS_PDU.size);
|
||||
|
||||
// LG: Why set to 0 ??
|
||||
//ue_desc_p->ue_initial_id = 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -520,7 +551,9 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
|
||||
S1AP_UplinkNASTransport_IEs_t *ie;
|
||||
uint8_t *buffer;
|
||||
uint32_t length;
|
||||
|
||||
DevAssert(s1ap_uplink_nas_p != NULL);
|
||||
|
||||
/* Retrieve the S1AP eNB instance associated with Mod_id */
|
||||
s1ap_eNB_instance_p = s1ap_eNB_get_instance(instance);
|
||||
DevAssert(s1ap_eNB_instance_p != NULL);
|
||||
@@ -550,6 +583,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
|
||||
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_ignore;
|
||||
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_UplinkNASTransport;
|
||||
out = &pdu.choice.initiatingMessage.value.choice.UplinkNASTransport;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
@@ -557,6 +591,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
|
||||
ie->value.present = S1AP_UplinkNASTransport_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_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
@@ -564,6 +599,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
|
||||
ie->value.present = S1AP_UplinkNASTransport_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_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_NAS_PDU;
|
||||
@@ -572,6 +608,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
|
||||
ie->value.choice.NAS_PDU.buf = s1ap_uplink_nas_p->nas_pdu.buffer;
|
||||
ie->value.choice.NAS_PDU.size = s1ap_uplink_nas_p->nas_pdu.length;
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_EUTRAN_CGI;
|
||||
@@ -587,6 +624,7 @@ int s1ap_eNB_nas_uplink(instance_t instance, s1ap_uplink_nas_t *s1ap_uplink_nas_
|
||||
0,
|
||||
&ie->value.choice.EUTRAN_CGI.cell_ID);
|
||||
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_UplinkNASTransport_IEs_t *)calloc(1, sizeof(S1AP_UplinkNASTransport_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_TAI;
|
||||
@@ -601,6 +639,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 +650,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 +669,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,12 +685,14 @@ 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,
|
||||
length, ue_context_p->tx_stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -665,7 +709,9 @@ 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);
|
||||
DevAssert(s1ap_eNB_instance_p != NULL);
|
||||
@@ -688,6 +734,7 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance,
|
||||
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_ignore;
|
||||
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_NASNonDeliveryIndication;
|
||||
out = &pdu.choice.initiatingMessage.value.choice.NASNonDeliveryIndication;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(S1AP_NASNonDeliveryIndication_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
@@ -695,6 +742,7 @@ int s1ap_eNB_nas_non_delivery_ind(instance_t instance,
|
||||
ie->value.present = S1AP_NASNonDeliveryIndication_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_NASNonDeliveryIndication_IEs_t *)calloc(1, sizeof(S1AP_NASNonDeliveryIndication_IEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
@@ -702,17 +750,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 +783,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,
|
||||
@@ -758,8 +810,10 @@ int s1ap_eNB_initial_ctxt_resp(
|
||||
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(initial_ctxt_resp_p != NULL);
|
||||
DevAssert(s1ap_eNB_instance_p != NULL);
|
||||
|
||||
@@ -789,6 +843,7 @@ int s1ap_eNB_initial_ctxt_resp(
|
||||
pdu.choice.successfulOutcome.criticality = S1AP_Criticality_reject;
|
||||
pdu.choice.successfulOutcome.value.present = S1AP_SuccessfulOutcome__value_PR_InitialContextSetupResponse;
|
||||
out = &pdu.choice.successfulOutcome.value.choice.InitialContextSetupResponse;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_InitialContextSetupResponseIEs_t *)calloc(1, sizeof(S1AP_InitialContextSetupResponseIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
@@ -796,6 +851,7 @@ int s1ap_eNB_initial_ctxt_resp(
|
||||
ie->value.present = S1AP_InitialContextSetupResponseIEs__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_InitialContextSetupResponseIEs_t *)calloc(1, sizeof(S1AP_InitialContextSetupResponseIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
@@ -803,22 +859,26 @@ 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 +903,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 +915,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 +962,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,8 +985,10 @@ 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);
|
||||
DevAssert(s1ap_eNB_instance_p != NULL);
|
||||
|
||||
@@ -959,6 +1018,7 @@ int s1ap_eNB_ue_capabilities(instance_t instance,
|
||||
pdu.choice.initiatingMessage.criticality = S1AP_Criticality_ignore;
|
||||
pdu.choice.initiatingMessage.value.present = S1AP_InitiatingMessage__value_PR_UECapabilityInfoIndication;
|
||||
out = &pdu.choice.initiatingMessage.value.choice.UECapabilityInfoIndication;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_UECapabilityInfoIndicationIEs_t *)calloc(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
@@ -966,6 +1026,7 @@ int s1ap_eNB_ue_capabilities(instance_t instance,
|
||||
ie->value.present = S1AP_UECapabilityInfoIndicationIEs__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_UECapabilityInfoIndicationIEs_t *)calloc(1, sizeof(S1AP_UECapabilityInfoIndicationIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
@@ -973,6 +1034,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 +1045,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 +1054,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,12 +1069,14 @@ 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,
|
||||
length, ue_context_p->tx_stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1027,13 +1093,15 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
|
||||
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_setup_resp_p != NULL);
|
||||
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);
|
||||
@@ -1058,6 +1126,7 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
|
||||
pdu.choice.successfulOutcome.criticality = S1AP_Criticality_reject;
|
||||
pdu.choice.successfulOutcome.value.present = S1AP_SuccessfulOutcome__value_PR_E_RABSetupResponse;
|
||||
out = &pdu.choice.successfulOutcome.value.choice.E_RABSetupResponse;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_E_RABSetupResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABSetupResponseIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
@@ -1065,6 +1134,7 @@ int s1ap_eNB_e_rab_setup_resp(instance_t instance,
|
||||
ie->value.present = S1AP_E_RABSetupResponseIEs__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_E_RABSetupResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABSetupResponseIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
@@ -1083,13 +1153,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 +1188,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 +1200,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 +1241,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,12 +1254,14 @@ 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,
|
||||
length, ue_context_p->tx_stream);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1206,16 +1275,19 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
|
||||
S1AP_S1AP_PDU_t pdu;
|
||||
S1AP_E_RABModifyResponse_t *out;
|
||||
S1AP_E_RABModifyResponseIEs_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_modify_resp_p != NULL);
|
||||
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 +1312,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;
|
||||
@@ -1247,6 +1320,7 @@ int s1ap_eNB_e_rab_modify_resp(instance_t instance,
|
||||
ie->value.present = S1AP_E_RABModifyResponseIEs__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_E_RABModifyResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABModifyResponseIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
@@ -1264,7 +1338,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;
|
||||
@@ -1285,7 +1359,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 +1371,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 +1406,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 +1419,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 +1433,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);
|
||||
@@ -1392,6 +1462,7 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
|
||||
pdu.choice.successfulOutcome.criticality = S1AP_Criticality_reject;
|
||||
pdu.choice.successfulOutcome.value.present = S1AP_SuccessfulOutcome__value_PR_E_RABReleaseResponse;
|
||||
out = &pdu.choice.successfulOutcome.value.choice.E_RABReleaseResponse;
|
||||
|
||||
/* mandatory */
|
||||
ie = (S1AP_E_RABReleaseResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABReleaseResponseIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_MME_UE_S1AP_ID;
|
||||
@@ -1399,6 +1470,7 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
|
||||
ie->value.present = S1AP_E_RABReleaseResponseIEs__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_E_RABReleaseResponseIEs_t *)calloc(1, sizeof(S1AP_E_RABReleaseResponseIEs_t));
|
||||
ie->id = S1AP_ProtocolIE_ID_id_eNB_UE_S1AP_ID;
|
||||
@@ -1416,7 +1488,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;
|
||||
@@ -1437,7 +1509,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 +1521,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 +1555,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 +1564,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... */
|
||||
@@ -1514,11 +1582,14 @@ int s1ap_eNB_e_rab_release_resp(instance_t instance,
|
||||
0,0,//MSC_AS_TIME_ARGS(ctxt_pP),
|
||||
e_rab_release_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);
|
||||
|
||||
S1AP_INFO("e_rab_release_response sended eNB_UE_S1AP_ID %d mme_ue_s1ap_id %d nb_of_e_rabs_released %d nb_of_e_rabs_failed %d\n",
|
||||
e_rab_release_resp_p->eNB_ue_s1ap_id, ue_context_p->mme_ue_s1ap_id,e_rab_release_resp_p->nb_of_e_rabs_released,e_rab_release_resp_p->nb_of_e_rabs_failed);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -71,6 +76,7 @@ int s1ap_eNB_handle_overload_start(uint32_t assoc_id,
|
||||
mme_desc_p->state = S1AP_ENB_OVERLOAD;
|
||||
mme_desc_p->overload_state =
|
||||
ie->value.choice.OverloadResponse.choice.overloadAction;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -83,7 +89,9 @@ int s1ap_eNB_handle_overload_stop(uint32_t assoc_id,
|
||||
* Information Element.
|
||||
*/
|
||||
DevAssert(pdu != NULL);
|
||||
|
||||
s1ap_eNB_mme_data_t *mme_desc_p;
|
||||
|
||||
/* Non UE-associated signalling -> stream 0 */
|
||||
DevCheck(stream == 0, stream, 0, 0);
|
||||
|
||||
|
||||
@@ -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,32 @@ 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 +109,18 @@ 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.
|
||||
*/
|
||||
@@ -130,5 +143,6 @@ int s1ap_eNB_handle_deactivate_trace(uint32_t assoc_id,
|
||||
// S1AP_DeactivateTraceIEs_t *deactivate_trace_p;
|
||||
//
|
||||
// deactivate_trace_p = &message_p->msg.deactivateTraceIEs;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
+1
-1
@@ -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;
|
||||
|
||||
@@ -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 {\
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -37,7 +37,9 @@
|
||||
int et_s1ap_decode_pdu(S1AP_PDU_t *const pdu, const uint8_t *const buffer, const uint32_t length)
|
||||
{
|
||||
asn_dec_rval_t dec_ret;
|
||||
|
||||
DevAssert(buffer != NULL);
|
||||
|
||||
memset((void *)pdu, 0, sizeof(S1AP_S1AP_PDU_t));
|
||||
dec_ret = aper_decode(NULL,
|
||||
&asn_DEF_S1AP_S1AP_PDU,
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||
@@ -73,30 +73,24 @@ void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t *const s1ap, xmlNode *node, cons
|
||||
// modify
|
||||
for (cur_node = (xmlNode *)node; cur_node; cur_node = cur_node->next) {
|
||||
go_deeper_in_tree = 1;
|
||||
|
||||
if ((!xmlStrcmp(cur_node->name, (const xmlChar *)"field"))) {
|
||||
// do not get hidden fields
|
||||
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"hide");
|
||||
|
||||
if (NULL != xml_char) {
|
||||
if ((!xmlStrcmp(xml_char, (const xmlChar *)"yes"))) {
|
||||
go_deeper_in_tree = 0;
|
||||
}
|
||||
|
||||
xmlFree(xml_char);
|
||||
}
|
||||
|
||||
if (0 < go_deeper_in_tree) {
|
||||
// first get size
|
||||
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"pos");
|
||||
|
||||
if (NULL != xml_char) {
|
||||
pos = strtoul((const char *)xml_char, NULL, 0);
|
||||
pos -= s1ap->xml_stream_pos_offset;
|
||||
AssertFatal(pos >= 0, "Bad pos %d xml_stream_pos_offset %d", pos, s1ap->xml_stream_pos_offset);
|
||||
xmlFree(xml_char);
|
||||
xml_char = xmlGetProp((xmlNode *)cur_node, (const xmlChar *)"size");
|
||||
|
||||
if (NULL != xml_char) {
|
||||
const xmlChar value_d[32];
|
||||
const xmlChar value_h[20];
|
||||
@@ -106,6 +100,7 @@ void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t *const s1ap, xmlNode *node, cons
|
||||
unsigned long int uli = 0;
|
||||
char hex[3] = {0,0,0};
|
||||
char *end_ptr = NULL;
|
||||
|
||||
size = strtoul((const char *)xml_char, NULL, 0);
|
||||
xmlFree(xml_char);
|
||||
// second: try to set value (always hex)
|
||||
@@ -115,12 +110,12 @@ void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t *const s1ap, xmlNode *node, cons
|
||||
AssertFatal((ret > 0) && (ret < 20), "Could not convert int to hex str");
|
||||
ret = snprintf((char *)showname, 64, "MME-UE-S1AP-ID: %d", new_id);
|
||||
AssertFatal((ret > 0) && (ret < 64), "Could not convert int to dec str");
|
||||
|
||||
attr = xmlSetProp((xmlNode *)cur_node, (const xmlChar *)"value", value_h);
|
||||
attr = xmlSetProp((xmlNode *)cur_node, (const xmlChar *)"show", value_d);
|
||||
attr = xmlSetProp((xmlNode *)cur_node, (const xmlChar *)"showname", showname);
|
||||
//TODO update s1ap->binary_stream @pos with new_id_hex, size
|
||||
AssertFatal((pos+size) < s1ap->binary_stream_allocated_size, "Rewrite of mme_ue_s1ap_id out of bounds of binary_stream");
|
||||
|
||||
//avoid endianess issues
|
||||
do {
|
||||
hex[0] = value_h[pos2++];
|
||||
@@ -131,7 +126,6 @@ void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t *const s1ap, xmlNode *node, cons
|
||||
AssertFatal((uli != ULONG_MAX) && (end_ptr != NULL) && (*end_ptr == '\0'), "Conversion of hexstring %s failed returned %ld errno %d", hex, uli, errno);
|
||||
s1ap->binary_stream[pos++] = (unsigned char)uli;
|
||||
} while (pos2 < (2*5));
|
||||
|
||||
// update ASN1
|
||||
et_decode_s1ap(s1ap);
|
||||
//S1AP_INFO("Updated ASN1 for %s\n", showname);
|
||||
@@ -139,7 +133,6 @@ void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t *const s1ap, xmlNode *node, cons
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (0 < go_deeper_in_tree) {
|
||||
update_xpath_node_mme_ue_s1ap_id(s1ap, cur_node->children, new_id);
|
||||
}
|
||||
@@ -154,11 +147,12 @@ void update_xpath_node_mme_ue_s1ap_id(et_s1ap_t *const s1ap, xmlNode *node, cons
|
||||
* Prints the @nodes content to @output.
|
||||
* From http://www.xmlsoft.org/examples/#xpath2.c
|
||||
*/
|
||||
void update_xpath_nodes_mme_ue_s1ap_id(et_s1ap_t *const s1ap_payload, xmlNodeSetPtr nodes, const S1AP_MME_UE_S1AP_ID_t new_id)
|
||||
void update_xpath_nodes_mme_ue_s1ap_id(et_s1ap_t * const s1ap_payload, xmlNodeSetPtr nodes, const S1ap_MME_UE_S1AP_ID_t new_id)
|
||||
{
|
||||
int size = 0;
|
||||
int i = 0;
|
||||
xmlNode *s1ap_node = NULL;
|
||||
|
||||
size = (nodes) ? nodes->nodeNr : 0;
|
||||
//S1AP_DEBUG("%s() num nodes %u\n", __FUNCTION__, size);
|
||||
|
||||
@@ -174,7 +168,6 @@ void update_xpath_nodes_mme_ue_s1ap_id(et_s1ap_t *const s1ap_payload, xmlNodeSet
|
||||
s1ap_node = nodes->nodeTab[i];
|
||||
AssertFatal(NULL != s1ap_node, "One element of resultset of XPATH expression is NULL\n");
|
||||
update_xpath_node_mme_ue_s1ap_id(s1ap_payload, s1ap_node, new_id);
|
||||
|
||||
/*
|
||||
* All the elements returned by an XPath query are pointers to
|
||||
* elements from the tree *except* namespace nodes where the XPath
|
||||
@@ -197,24 +190,26 @@ void update_xpath_nodes_mme_ue_s1ap_id(et_s1ap_t *const s1ap_payload, xmlNodeSet
|
||||
}
|
||||
}
|
||||
//------------------------------------------------------------------------------
|
||||
int et_s1ap_update_mme_ue_s1ap_id(et_packet_t *const packet, const S1AP_MME_UE_S1AP_ID_t old_id, const S1AP_MME_UE_S1AP_ID_t new_id)
|
||||
int et_s1ap_update_mme_ue_s1ap_id(et_packet_t * const packet, const S1ap_MME_UE_S1AP_ID_t old_id, const S1ap_MME_UE_S1AP_ID_t new_id)
|
||||
{
|
||||
xmlChar xpath_expression[ET_XPATH_EXPRESSION_MAX_LENGTH];
|
||||
int ret = 0;
|
||||
xmlDocPtr doc = NULL;
|
||||
xmlXPathContextPtr xpath_ctx = NULL;
|
||||
xmlXPathObjectPtr xpath_obj = NULL;
|
||||
|
||||
//S1AP_DEBUG("%s() packet num %u original frame number %u, mme_ue_s1ap_id %u -> %u\n", __FUNCTION__, packet->packet_number, packet->original_frame_number, old_id, new_id);
|
||||
|
||||
ret = snprintf(xpath_expression, ET_XPATH_EXPRESSION_MAX_LENGTH, "//field[@name=\"s1ap.MME_UE_S1AP_ID\"][@show=\"%u\"]", old_id);
|
||||
AssertFatal((ret > 0) && (ret < ET_XPATH_EXPRESSION_MAX_LENGTH), "Could not build XPATH expression err=%d", ret);
|
||||
|
||||
doc = packet->sctp_hdr.u.data_hdr.payload.doc;
|
||||
// Create xpath evaluation context
|
||||
xpath_ctx = xmlXPathNewContext(doc);
|
||||
|
||||
if(xpath_ctx == NULL) {
|
||||
fprintf(stderr,"Error: unable to create new XPath context\n");
|
||||
xmlFreeDoc(doc);
|
||||
return(-1);
|
||||
fprintf(stderr,"Error: unable to create new XPath context\n");
|
||||
xmlFreeDoc(doc);
|
||||
return(-1);
|
||||
}
|
||||
|
||||
// Evaluate xpath expression
|
||||
@@ -222,16 +217,17 @@ int et_s1ap_update_mme_ue_s1ap_id(et_packet_t *const packet, const S1AP_MME_UE_S
|
||||
xmlXPathFreeContext(xpath_ctx);
|
||||
AssertFatal(xpath_obj != NULL, "Unable to evaluate XPATH expression \"%s\"\n", xpath_expression);
|
||||
|
||||
if(xmlXPathNodeSetIsEmpty(xpath_obj->nodesetval)) {
|
||||
if(xmlXPathNodeSetIsEmpty(xpath_obj->nodesetval)){
|
||||
xmlXPathFreeObject(xpath_obj);
|
||||
S1AP_DEBUG("%s() No match \"%s\"packet num %u original frame number %u, mme_ue_s1ap_id %u -> %u\n",
|
||||
__FUNCTION__, xpath_expression, packet->packet_number, packet->original_frame_number, old_id, new_id);
|
||||
__FUNCTION__, xpath_expression, packet->packet_number, packet->original_frame_number, old_id, new_id);
|
||||
return -1;
|
||||
}
|
||||
|
||||
// update selected nodes
|
||||
update_xpath_nodes_mme_ue_s1ap_id(&packet->sctp_hdr.u.data_hdr.payload, xpath_obj->nodesetval, new_id);
|
||||
|
||||
// Cleanup of XPath data
|
||||
xmlXPathFreeObject(xpath_obj);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user