-- **************************************************************
--
-- Elementary Procedure definitions
--
-- **************************************************************

X2AP-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Descriptions (0) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************

IMPORTS
	Criticality,
	ProcedureCode

FROM X2AP-CommonDataTypes

	CellActivationRequest,
	CellActivationResponse,
	CellActivationFailure,
	ENBConfigurationUpdate,
	ENBConfigurationUpdateAcknowledge,
	ENBConfigurationUpdateFailure,
	ErrorIndication,
	HandoverCancel,
	HandoverReport,
	HandoverPreparationFailure,
	HandoverRequest,
	HandoverRequestAcknowledge,
	LoadInformation,
	PrivateMessage,
	ResetRequest,
	ResetResponse,
	ResourceStatusFailure,
	ResourceStatusRequest,
	ResourceStatusResponse,
	ResourceStatusUpdate,
	RLFIndication,
	SNStatusTransfer,
	UEContextRelease,
	X2SetupFailure,
	X2SetupRequest,
	X2SetupResponse,
	MobilityChangeRequest,
	MobilityChangeAcknowledge,
	MobilityChangeFailure,
	X2Release,
	X2APMessageTransfer,
	SeNBAdditionRequest,
	SeNBAdditionRequestAcknowledge,
	SeNBAdditionRequestReject,
	SeNBReconfigurationComplete,
	SeNBModificationRequest,
	SeNBModificationRequestAcknowledge,
	SeNBModificationRequestReject,
	SeNBModificationRequired,
	SeNBModificationConfirm,
	SeNBModificationRefuse,
	SeNBReleaseRequest,
	SeNBReleaseRequired,
	SeNBReleaseConfirm,
	SeNBCounterCheckRequest,
	X2RemovalFailure,
	X2RemovalRequest,
	X2RemovalResponse,
	RetrieveUEContextRequest,
	RetrieveUEContextResponse,
	RetrieveUEContextFailure

FROM X2AP-PDU-Contents

	id-cellActivation,
	id-eNBConfigurationUpdate,
	id-errorIndication,
	id-handoverCancel,
	id-handoverReport,
	id-handoverPreparation,

	id-loadIndication,
	id-privateMessage,
	id-reset,

	id-resourceStatusReporting,
	id-resourceStatusReportingInitiation,
	id-rLFIndication,
	id-snStatusTransfer,
	id-uEContextRelease,
	id-x2Setup,
	id-mobilitySettingsChange,
	id-x2Release,
	id-x2APMessageTransfer,
	id-seNBAdditionPreparation,
	id-seNBReconfigurationCompletion,
	id-meNBinitiatedSeNBModificationPreparation,
	id-seNBinitiatedSeNBModification,
	id-meNBinitiatedSeNBRelease,
	id-seNBinitiatedSeNBRelease,
	id-seNBCounterCheck,
	id-x2Removal,
	id-retrieveUEContext

FROM X2AP-Constants;

-- **************************************************************
--
-- Interface Elementary Procedure Class
--
-- **************************************************************

X2AP-ELEMENTARY-PROCEDURE ::= CLASS {
	&InitiatingMessage				,
	&SuccessfulOutcome				OPTIONAL,
	&UnsuccessfulOutcome				OPTIONAL,
	&procedureCode			ProcedureCode 	UNIQUE,
	&criticality			Criticality 	DEFAULT ignore
}
WITH SYNTAX {
	INITIATING MESSAGE		&InitiatingMessage
	[SUCCESSFUL OUTCOME		&SuccessfulOutcome]
	[UNSUCCESSFUL OUTCOME		&UnsuccessfulOutcome]
	PROCEDURE CODE			&procedureCode
	[CRITICALITY			&criticality]
}

-- **************************************************************
--
-- Interface PDU Definition
--
-- **************************************************************

X2AP-PDU ::= CHOICE {
	initiatingMessage	InitiatingMessage,
	successfulOutcome	SuccessfulOutcome,
	unsuccessfulOutcome	UnsuccessfulOutcome,
	...
}

InitiatingMessage ::= SEQUENCE {
	procedureCode	X2AP-ELEMENTARY-PROCEDURE.&procedureCode		({X2AP-ELEMENTARY-PROCEDURES}),
	criticality		X2AP-ELEMENTARY-PROCEDURE.&criticality			({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
	value			X2AP-ELEMENTARY-PROCEDURE.&InitiatingMessage	({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}

SuccessfulOutcome ::= SEQUENCE {
	procedureCode	X2AP-ELEMENTARY-PROCEDURE.&procedureCode		({X2AP-ELEMENTARY-PROCEDURES}),
	criticality		X2AP-ELEMENTARY-PROCEDURE.&criticality			({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
	value			X2AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome	({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}

UnsuccessfulOutcome ::= SEQUENCE {
	procedureCode	X2AP-ELEMENTARY-PROCEDURE.&procedureCode		({X2AP-ELEMENTARY-PROCEDURES}),
	criticality		X2AP-ELEMENTARY-PROCEDURE.&criticality			({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
	value			X2AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome	({X2AP-ELEMENTARY-PROCEDURES}{@procedureCode})
}

-- **************************************************************
--
-- Interface Elementary Procedure List
--
-- **************************************************************

X2AP-ELEMENTARY-PROCEDURES X2AP-ELEMENTARY-PROCEDURE ::= {
	X2AP-ELEMENTARY-PROCEDURES-CLASS-1			|
	X2AP-ELEMENTARY-PROCEDURES-CLASS-2			,
	...
}

X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
	handoverPreparation										|
	reset													|
	x2Setup													|
	resourceStatusReportingInitiation						|
	eNBConfigurationUpdate									|
	mobilitySettingsChange									|
	cellActivation											|
	seNBAdditionPreparation									|
	meNBinitiatedSeNBModificationPreparation				|
	seNBinitiatedSeNBModification							|
	seNBinitiatedSeNBRelease								|
	x2Removal												|
	retrieveUEContext,
	...
}

X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= {
	snStatusTransfer						|
	uEContextRelease						|
	handoverCancel							|
	errorIndication							|
	resourceStatusReporting					|
	loadIndication							|
	privateMessage							|
	rLFIndication							|
	handoverReport							|
	x2Release								|
	x2APMessageTransfer						|
	seNBReconfigurationCompletion			|
	meNBinitiatedSeNBRelease				|
	seNBCounterCheck,
	...

}

-- **************************************************************
--
-- Interface Elementary Procedures
--
-- **************************************************************

handoverPreparation X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		HandoverRequest
	SUCCESSFUL OUTCOME		HandoverRequestAcknowledge
	UNSUCCESSFUL OUTCOME	HandoverPreparationFailure
	PROCEDURE CODE			id-handoverPreparation
	CRITICALITY				reject
}

snStatusTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SNStatusTransfer
	PROCEDURE CODE			id-snStatusTransfer
	CRITICALITY				ignore
}

uEContextRelease X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEContextRelease
	PROCEDURE CODE			id-uEContextRelease
	CRITICALITY				ignore
}


handoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		HandoverCancel
	PROCEDURE CODE			id-handoverCancel
	CRITICALITY				ignore
}

handoverReport X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		HandoverReport
	PROCEDURE CODE			id-handoverReport
	CRITICALITY				ignore
}

errorIndication X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ErrorIndication
	PROCEDURE CODE			id-errorIndication
	CRITICALITY				ignore
}

reset	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ResetRequest
	SUCCESSFUL OUTCOME		ResetResponse
	PROCEDURE CODE			id-reset
	CRITICALITY				reject
}

x2Setup	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		X2SetupRequest
	SUCCESSFUL OUTCOME		X2SetupResponse
	UNSUCCESSFUL OUTCOME	X2SetupFailure
	PROCEDURE CODE			id-x2Setup
	CRITICALITY				reject
}


loadIndication X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		LoadInformation
	PROCEDURE CODE			id-loadIndication
	CRITICALITY				ignore
}

eNBConfigurationUpdate		X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ENBConfigurationUpdate
	SUCCESSFUL OUTCOME		ENBConfigurationUpdateAcknowledge
	UNSUCCESSFUL OUTCOME	ENBConfigurationUpdateFailure
	PROCEDURE CODE			id-eNBConfigurationUpdate
	CRITICALITY				reject
}

resourceStatusReportingInitiation	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE				ResourceStatusRequest
	SUCCESSFUL OUTCOME				ResourceStatusResponse
	UNSUCCESSFUL OUTCOME			ResourceStatusFailure
	PROCEDURE CODE					id-resourceStatusReportingInitiation
	CRITICALITY						reject
}

resourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ResourceStatusUpdate
	PROCEDURE CODE			id-resourceStatusReporting
	CRITICALITY				ignore
}

rLFIndication X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		RLFIndication
	PROCEDURE CODE			id-rLFIndication
	CRITICALITY				ignore
}

privateMessage			X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		PrivateMessage
	PROCEDURE CODE			id-privateMessage
	CRITICALITY				ignore
}

mobilitySettingsChange	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MobilityChangeRequest
	SUCCESSFUL OUTCOME		MobilityChangeAcknowledge
	UNSUCCESSFUL OUTCOME	MobilityChangeFailure
	PROCEDURE CODE			id-mobilitySettingsChange
	CRITICALITY				reject
}

cellActivation	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		CellActivationRequest
	SUCCESSFUL OUTCOME		CellActivationResponse
	UNSUCCESSFUL OUTCOME	CellActivationFailure
	PROCEDURE CODE			id-cellActivation
	CRITICALITY				reject
}

x2Release X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		X2Release
	PROCEDURE CODE			id-x2Release
	CRITICALITY				reject
}

x2APMessageTransfer X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		X2APMessageTransfer
	PROCEDURE CODE			id-x2APMessageTransfer
	CRITICALITY				reject
}

seNBAdditionPreparation	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SeNBAdditionRequest
	SUCCESSFUL OUTCOME		SeNBAdditionRequestAcknowledge
	UNSUCCESSFUL OUTCOME	SeNBAdditionRequestReject
	PROCEDURE CODE			id-seNBAdditionPreparation
	CRITICALITY				reject
}

seNBReconfigurationCompletion	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SeNBReconfigurationComplete
	PROCEDURE CODE			id-seNBReconfigurationCompletion
	CRITICALITY				ignore
}

meNBinitiatedSeNBModificationPreparation	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SeNBModificationRequest
	SUCCESSFUL OUTCOME		SeNBModificationRequestAcknowledge
	UNSUCCESSFUL OUTCOME	SeNBModificationRequestReject
	PROCEDURE CODE			id-meNBinitiatedSeNBModificationPreparation
	CRITICALITY				reject
}

seNBinitiatedSeNBModification	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SeNBModificationRequired
	SUCCESSFUL OUTCOME		SeNBModificationConfirm
	UNSUCCESSFUL OUTCOME	SeNBModificationRefuse
	PROCEDURE CODE			id-seNBinitiatedSeNBModification
	CRITICALITY				reject
}

meNBinitiatedSeNBRelease	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SeNBReleaseRequest
	PROCEDURE CODE			id-meNBinitiatedSeNBRelease
	CRITICALITY				ignore
}

seNBinitiatedSeNBRelease	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SeNBReleaseRequired
	SUCCESSFUL OUTCOME		SeNBReleaseConfirm
	PROCEDURE CODE			id-seNBinitiatedSeNBRelease
	CRITICALITY				reject
}

seNBCounterCheck	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SeNBCounterCheckRequest
	PROCEDURE CODE			id-seNBCounterCheck
	CRITICALITY				reject
}

x2Removal	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		X2RemovalRequest
	SUCCESSFUL OUTCOME		X2RemovalResponse
	UNSUCCESSFUL OUTCOME	X2RemovalFailure
	PROCEDURE CODE			id-x2Removal
	CRITICALITY				reject
}

retrieveUEContext	X2AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		RetrieveUEContextRequest
	SUCCESSFUL OUTCOME		RetrieveUEContextResponse
	UNSUCCESSFUL OUTCOME	RetrieveUEContextFailure
	PROCEDURE CODE			id-retrieveUEContext
	CRITICALITY				reject
}

END


-- **************************************************************
--
-- PDU definitions for X2AP.
--
-- **************************************************************

X2AP-PDU-Contents {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-PDU-Contents (1) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************

IMPORTS
	ABSInformation,
	ABS-Status,
	AS-SecurityInformation,
	BearerType,
	Cause,
	CompositeAvailableCapacityGroup,
	Correlation-ID,
	COUNTvalue,
	CellReportingIndicator,
	CriticalityDiagnostics,
	CRNTI,
	CSGMembershipStatus,
	CSG-Id,
	DeactivationIndication,
	DL-Forwarding,
	DynamicDLTransmissionInformation,
	ECGI,
	E-RAB-ID,
	E-RAB-Level-QoS-Parameters,
	E-RAB-List,
	EUTRANTraceID,
	GlobalENB-ID,
	GTPtunnelEndpoint,
	GUGroupIDList,
	GUMMEI,
	HandoverReportType,
	HandoverRestrictionList,
	Masked-IMEISV,
	InvokeIndication,
	LocationReportingInformation,
	MDT-Configuration,
	ManagementBasedMDTallowed,
	MDTPLMNList,
	Neighbour-Information,
	PCI,
	PDCP-SN,
	PLMN-Identity,
	ReceiveStatusofULPDCPSDUs,
	Registration-Request,
	RelativeNarrowbandTxPower,
	RadioResourceStatus,
	RRCConnReestabIndicator,
	RRCConnSetupIndicator,
	UE-RLF-Report-Container,
	RRC-Context,
	ServedCell-Information,
	ServedCells,
	ShortMAC-I,
	SRVCCOperationPossible,
	SubscriberProfileIDforRFP,
	TargetCellInUTRAN,
	TargeteNBtoSource-eNBTransparentContainer,
	TimeToWait,
	TraceActivation,
	TraceDepth,
	TransportLayerAddress,
	UEAggregateMaximumBitRate,
	UE-HistoryInformation,
	UE-HistoryInformationFromTheUE,
	UE-S1AP-ID,
	UESecurityCapabilities,
	UE-X2AP-ID,
	UL-HighInterferenceIndicationInfo,
	UL-InterferenceOverloadIndication,
	HWLoadIndicator,
	S1TNLLoadIndicator,
	Measurement-ID,
	ReportCharacteristics,
	MobilityParametersInformation,
	MobilityParametersModificationRange,
	ReceiveStatusOfULPDCPSDUsExtended,
	COUNTValueExtended,
	SubframeAssignment,
	ExtendedULInterferenceOverloadInfo,
	ExpectedUEBehaviour,
	SeNBSecurityKey,
	MeNBtoSeNBContainer,
	SeNBtoMeNBContainer,
	SCGChangeIndication,
	CoMPInformation,
	ReportingPeriodicityRSRPMR,
	RSRPMRList,
	UE-RLF-Report-Container-for-extended-bands,
	ProSeAuthorized,
	CoverageModificationList,
	ReportingPeriodicityCSIR,
	CSIReportList,
	ReceiveStatusOfULPDCPSDUsPDCP-SNlength18,
	COUNTvaluePDCP-SNlength18,
	LHN-ID,
	UE-ContextKeptIndicator,
	UE-X2AP-ID-Extension,
	SIPTOBearerDeactivationIndication,
	TunnelInformation,
	V2XServicesAuthorized,
	X2BenefitValue,
	ResumeID,
	EUTRANCellIdentifier,
	MakeBeforeBreakIndicator,
	WTID,
	WT-UE-XwAP-ID,
	UESidelinkAggregateMaximumBitRate

FROM X2AP-IEs

	PrivateIE-Container{},
	ProtocolExtensionContainer{},
	ProtocolIE-Container{},
	ProtocolIE-ContainerList{},
	ProtocolIE-ContainerPair{},
	ProtocolIE-ContainerPairList{},
	ProtocolIE-Single-Container{},
	X2AP-PRIVATE-IES,
	X2AP-PROTOCOL-EXTENSION,
	X2AP-PROTOCOL-IES,
	X2AP-PROTOCOL-IES-PAIR
FROM X2AP-Containers

	id-ABSInformation,
	id-ActivatedCellList,
	id-BearerType,
	id-Cause,
	id-CellInformation,
	id-CellInformation-Item,
	id-CellMeasurementResult,
	id-CellMeasurementResult-Item,
	id-CellToReport,
	id-CellToReport-Item,
	id-CompositeAvailableCapacityGroup,
	id-CriticalityDiagnostics,
	id-DeactivationIndication,
	id-DynamicDLTransmissionInformation,
	id-E-RABs-Admitted-Item,
	id-E-RABs-Admitted-List,
	id-E-RABs-NotAdmitted-List,
	id-E-RABs-SubjectToStatusTransfer-List,
	id-E-RABs-SubjectToStatusTransfer-Item,
	id-E-RABs-ToBeSetup-Item,
	id-GlobalENB-ID,
	id-GUGroupIDList,
	id-GUGroupIDToAddList,
	id-GUGroupIDToDeleteList,
	id-GUMMEI-ID,
	id-Masked-IMEISV,
	id-InvokeIndication,
	id-New-eNB-UE-X2AP-ID,
	id-Old-eNB-UE-X2AP-ID,
	id-Registration-Request,
	id-ReportingPeriodicity,
	id-ServedCells,
	id-ServedCellsToActivate,
	id-ServedCellsToAdd,
	id-ServedCellsToModify,
	id-ServedCellsToDelete,
	id-SRVCCOperationPossible,
	id-TargetCell-ID,
	id-TargeteNBtoSource-eNBTransparentContainer,
	id-TimeToWait,
	id-TraceActivation,
	id-UE-ContextInformation,
	id-UE-HistoryInformation,
	id-UE-X2AP-ID,
	id-Measurement-ID,
	id-ReportCharacteristics,
	id-ENB1-Measurement-ID,
	id-ENB2-Measurement-ID,
	id-ENB1-Cell-ID,
	id-ENB2-Cell-ID,
	id-ENB2-Proposed-Mobility-Parameters,
	id-ENB1-Mobility-Parameters,
	id-ENB2-Mobility-Parameters-Modification-Range,
	id-FailureCellPCI,
	id-Re-establishmentCellECGI,
	id-FailureCellCRNTI,
	id-ShortMAC-I,
	id-SourceCellECGI,
	id-FailureCellECGI,
	id-HandoverReportType,
	id-UE-RLF-Report-Container,
	id-PartialSuccessIndicator,
	id-MeasurementInitiationResult-List,
	id-MeasurementInitiationResult-Item,
	id-MeasurementFailureCause-Item,
	id-CompleteFailureCauseInformation-List,
	id-CompleteFailureCauseInformation-Item,
	id-CSGMembershipStatus,
	id-CSG-Id,
	id-MDTConfiguration,
	id-ManagementBasedMDTallowed,
	id-ABS-Status,
	id-RRCConnSetupIndicator,
	id-RRCConnReestabIndicator,
	id-TargetCellInUTRAN,
	id-MobilityInformation,
	id-SourceCellCRNTI,
	id-ManagementBasedMDTPLMNList,
	id-ReceiveStatusOfULPDCPSDUsExtended,
	id-ULCOUNTValueExtended,
	id-DLCOUNTValueExtended,
	id-IntendedULDLConfiguration,
	id-ExtendedULInterferenceOverloadInfo,
	id-RNL-Header,
	id-x2APMessage,
	id-UE-HistoryInformationFromTheUE,
	id-ExpectedUEBehaviour,
	id-MeNB-UE-X2AP-ID,
	id-SeNB-UE-X2AP-ID,
	id-UE-SecurityCapabilities,
	id-SeNBSecurityKey,
	id-SeNBUEAggregateMaximumBitRate,
	id-ServingPLMN,
	id-E-RABs-ToBeAdded-List,
	id-E-RABs-ToBeAdded-Item,
	id-MeNBtoSeNBContainer,
	id-E-RABs-Admitted-ToBeAdded-List,
	id-E-RABs-Admitted-ToBeAdded-Item,
	id-SeNBtoMeNBContainer,
	id-ResponseInformationSeNBReconfComp,
	id-UE-ContextInformationSeNBModReq,
	id-E-RABs-ToBeAdded-ModReqItem,
	id-E-RABs-ToBeModified-ModReqItem,
	id-E-RABs-ToBeReleased-ModReqItem,
	id-E-RABs-Admitted-ToBeAdded-ModAckList,
	id-E-RABs-Admitted-ToBeModified-ModAckList,
	id-E-RABs-Admitted-ToBeReleased-ModAckList,
	id-E-RABs-Admitted-ToBeAdded-ModAckItem,
	id-E-RABs-Admitted-ToBeModified-ModAckItem,
	id-E-RABs-Admitted-ToBeReleased-ModAckItem,
	id-SCGChangeIndication,
	id-E-RABs-ToBeReleased-ModReqd,
	id-E-RABs-ToBeReleased-ModReqdItem,
	id-E-RABs-ToBeReleased-List-RelReq,
	id-E-RABs-ToBeReleased-RelReqItem,
	id-E-RABs-ToBeReleased-List-RelConf,
	id-E-RABs-ToBeReleased-RelConfItem,
	id-E-RABs-SubjectToCounterCheck-List,
	id-E-RABs-SubjectToCounterCheckItem,
	id-CoMPInformation,
	id-ReportingPeriodicityRSRPMR,
	id-RSRPMRList,
	id-UE-RLF-Report-Container-for-extended-bands,
	id-ProSeAuthorized,
	id-CoverageModificationList,
	id-ReportingPeriodicityCSIR,
	id-CSIReportList,
	id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18,
	id-ULCOUNTValuePDCP-SNlength18,
	id-DLCOUNTValuePDCP-SNlength18,
	id-LHN-ID,
	id-Correlation-ID,
	id-SIPTO-Correlation-ID,
	id-UE-ContextReferenceAtSeNB,
	id-UE-ContextReferenceAtWT,
	id-UE-ContextKeptIndicator,
	id-WT-UE-ContextKeptIndicator,
	id-New-eNB-UE-X2AP-ID-Extension,
	id-Old-eNB-UE-X2AP-ID-Extension,
	id-MeNB-UE-X2AP-ID-Extension,
	id-SeNB-UE-X2AP-ID-Extension,
	id-SIPTO-BearerDeactivationIndication,
	id-Tunnel-Information-for-BBF,
	id-SIPTO-L-GW-TransportLayerAddress,
	id-GW-TransportLayerAddress,
	id-X2RemovalThreshold,
	id-CellReportingIndicator,
	id-V2XServicesAuthorized,
	id-resumeID,
	id-UE-ContextInformationRetrieve,
	id-E-RABs-ToBeSetupRetrieve-Item,
	id-NewEUTRANCellIdentifier,
	id-MakeBeforeBreakIndicator,
	id-UESidelinkAggregateMaximumBitRate,
	id-uL-GTPtunnelEndpoint,

	maxCellineNB,
	maxnoofBearers,
	maxnoofPDCP-SN,
	maxFailedMeasObjects,
	maxnoofCellIDforMDT,
	maxnoofTAforMDT
FROM X2AP-Constants;

-- **************************************************************
--
-- HANDOVER REQUEST
--
-- **************************************************************

HandoverRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container	{{HandoverRequest-IEs}},
	...
}

HandoverRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Old-eNB-UE-X2AP-ID				CRITICALITY reject	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-Cause							CRITICALITY ignore	TYPE Cause								PRESENCE mandatory}|
	{ ID id-TargetCell-ID					CRITICALITY reject	TYPE ECGI								PRESENCE mandatory}|
	{ ID id-GUMMEI-ID						CRITICALITY reject	TYPE GUMMEI								PRESENCE mandatory}|
	{ ID id-UE-ContextInformation			CRITICALITY reject	TYPE UE-ContextInformation				PRESENCE mandatory}|
	{ ID id-UE-HistoryInformation			CRITICALITY ignore	TYPE UE-HistoryInformation				PRESENCE mandatory}|
	{ ID id-TraceActivation					CRITICALITY ignore	TYPE TraceActivation					PRESENCE optional}|
	{ ID id-SRVCCOperationPossible			CRITICALITY ignore	TYPE SRVCCOperationPossible				PRESENCE optional}|
	{ ID id-CSGMembershipStatus				CRITICALITY reject	TYPE CSGMembershipStatus				PRESENCE optional}|
	{ ID id-MobilityInformation				CRITICALITY ignore	TYPE MobilityInformation				PRESENCE optional}|
	{ ID id-Masked-IMEISV					CRITICALITY ignore	TYPE Masked-IMEISV						PRESENCE optional}|
	{ ID id-UE-HistoryInformationFromTheUE	CRITICALITY ignore	TYPE UE-HistoryInformationFromTheUE	PRESENCE optional}|
	{ ID id-ExpectedUEBehaviour				CRITICALITY ignore	TYPE ExpectedUEBehaviour				PRESENCE optional}|
	{ ID id-ProSeAuthorized					CRITICALITY ignore	TYPE ProSeAuthorized					PRESENCE optional}|
	{ ID id-UE-ContextReferenceAtSeNB		CRITICALITY ignore	TYPE UE-ContextReferenceAtSeNB			PRESENCE optional}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension	CRITICALITY reject	TYPE UE-X2AP-ID-Extension				PRESENCE optional}|
	{ ID id-V2XServicesAuthorized			CRITICALITY ignore	TYPE V2XServicesAuthorized				PRESENCE optional}|
	{ ID id-UE-ContextReferenceAtWT			CRITICALITY ignore	TYPE UE-ContextReferenceAtWT			PRESENCE optional},
	...
}

UE-ContextInformation ::= SEQUENCE {
	mME-UE-S1AP-ID						UE-S1AP-ID,
	uESecurityCapabilities				UESecurityCapabilities,
	aS-SecurityInformation				AS-SecurityInformation,
	uEaggregateMaximumBitRate			UEAggregateMaximumBitRate,
	subscriberProfileIDforRFP			SubscriberProfileIDforRFP		OPTIONAL,
	e-RABs-ToBeSetup-List				E-RABs-ToBeSetup-List,
	rRC-Context							RRC-Context,
	handoverRestrictionList				HandoverRestrictionList		OPTIONAL,
	locationReportingInformation		LocationReportingInformation	OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { {UE-ContextInformation-ExtIEs} } OPTIONAL,
	...
}

UE-ContextInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-ManagementBasedMDTallowed	CRITICALITY ignore	EXTENSION ManagementBasedMDTallowed		PRESENCE optional }|
{ ID id-ManagementBasedMDTPLMNList	CRITICALITY ignore	EXTENSION MDTPLMNList					PRESENCE optional }|
{ ID id-UESidelinkAggregateMaximumBitRate	CRITICALITY ignore	EXTENSION UESidelinkAggregateMaximumBitRate		PRESENCE optional},
	...
}

E-RABs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeSetup-ItemIEs} }

E-RABs-ToBeSetup-ItemIEs 	X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeSetup-Item	 CRITICALITY ignore 	TYPE E-RABs-ToBeSetup-Item 	PRESENCE mandatory },
	...
}

E-RABs-ToBeSetup-Item ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters,
	dL-Forwarding					DL-Forwarding													OPTIONAL,
	uL-GTPtunnelEndpoint			GTPtunnelEndpoint,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeSetup-ItemExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeSetup-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-BearerType		CRITICALITY reject	EXTENSION BearerType		PRESENCE optional},
	...
}

MobilityInformation ::= BIT STRING (SIZE(32))

UE-ContextReferenceAtSeNB ::= SEQUENCE {
	source-GlobalSeNB-ID		GlobalENB-ID,
	seNB-UE-X2AP-ID				UE-X2AP-ID,
	seNB-UE-X2AP-ID-Extension	UE-X2AP-ID-Extension,
	iE-Extensions				ProtocolExtensionContainer { {UE-ContextReferenceAtSeNB-ItemExtIEs} } OPTIONAL,
	...
}

UE-ContextReferenceAtSeNB-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

UE-ContextReferenceAtWT ::= SEQUENCE {
	wTID					WTID,
	wT-UE-XwAP-ID			WT-UE-XwAP-ID,
	iE-Extensions			ProtocolExtensionContainer { {UE-ContextReferenceAtWT-ItemExtIEs} } OPTIONAL,
	...
}

UE-ContextReferenceAtWT-ItemExtIEs	X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- HANDOVER REQUEST ACKNOWLEDGE
--
-- **************************************************************

HandoverRequestAcknowledge ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{HandoverRequestAcknowledge-IEs}},
	...
}

HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Old-eNB-UE-X2AP-ID							CRITICALITY ignore	TYPE UE-X2AP-ID		PRESENCE mandatory}|
	{ ID id-New-eNB-UE-X2AP-ID							CRITICALITY ignore	TYPE UE-X2AP-ID		PRESENCE mandatory}|
	{ ID id-E-RABs-Admitted-List						CRITICALITY ignore	TYPE E-RABs-Admitted-List	PRESENCE mandatory}|
	{ ID id-E-RABs-NotAdmitted-List						CRITICALITY ignore	TYPE E-RAB-List		PRESENCE optional}|
	{ ID id-TargeteNBtoSource-eNBTransparentContainer	CRITICALITY ignore	TYPE TargeteNBtoSource-eNBTransparentContainer	PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics						CRITICALITY ignore	TYPE CriticalityDiagnostics	PRESENCE optional}|
	{ ID id-UE-ContextKeptIndicator						CRITICALITY ignore	TYPE UE-ContextKeptIndicator	PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension					CRITICALITY ignore	TYPE UE-X2AP-ID-Extension	PRESENCE optional}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension				CRITICALITY ignore	TYPE UE-X2AP-ID-Extension	PRESENCE optional}|
	{ ID id-New-eNB-UE-X2AP-ID-Extension				CRITICALITY reject	TYPE UE-X2AP-ID-Extension	PRESENCE optional}|
	{ ID id-WT-UE-ContextKeptIndicator					CRITICALITY ignore	TYPE UE-ContextKeptIndicator	PRESENCE optional},
	...
}

E-RABs-Admitted-List 		::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ItemIEs} }

E-RABs-Admitted-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-Admitted-Item	CRITICALITY ignore	TYPE E-RABs-Admitted-Item 	PRESENCE mandatory	}
}

E-RABs-Admitted-Item ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	uL-GTP-TunnelEndpoint			GTPtunnelEndpoint	OPTIONAL,
	dL-GTP-TunnelEndpoint			GTPtunnelEndpoint	OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-Admitted-Item-ExtIEs} }	OPTIONAL,
	...
}

E-RABs-Admitted-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- HANDOVER PREPARATION FAILURE
--
-- **************************************************************

HandoverPreparationFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{HandoverPreparationFailure-IEs}},
	...
}

HandoverPreparationFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Old-eNB-UE-X2AP-ID				CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-Cause							CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension	CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional},

	...
}

-- **************************************************************
--
-- Handover Report
--
-- **************************************************************

HandoverReport ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{HandoverReport-IEs}},
	...
}

HandoverReport-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-HandoverReportType							CRITICALITY ignore	TYPE HandoverReportType									PRESENCE mandatory}|
	{ ID id-Cause										CRITICALITY ignore	TYPE Cause													PRESENCE mandatory}|
	{ ID id-SourceCellECGI								CRITICALITY ignore	TYPE ECGI													PRESENCE mandatory}|
	{ ID id-FailureCellECGI								CRITICALITY ignore	TYPE ECGI													PRESENCE mandatory}|
	{ ID id-Re-establishmentCellECGI					CRITICALITY ignore	TYPE ECGI													PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to “HO to Wrong Cell” -- |
	{ ID id-TargetCellInUTRAN							CRITICALITY ignore	TYPE TargetCellInUTRAN									PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to "InterRAT ping-pong" --|
	{ ID id-SourceCellCRNTI								CRITICALITY ignore	TYPE CRNTI													PRESENCE optional}|
	{ ID id-MobilityInformation							CRITICALITY ignore	TYPE MobilityInformation									PRESENCE optional}|
	{ ID id-UE-RLF-Report-Container						CRITICALITY ignore	TYPE UE-RLF-Report-Container							PRESENCE optional}|
	{ ID id-UE-RLF-Report-Container-for-extended-bands	CRITICALITY ignore	TYPE UE-RLF-Report-Container-for-extended-bands	PRESENCE optional},
	...
}

-- **************************************************************
--
-- SN Status Transfer
--
-- **************************************************************

SNStatusTransfer ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SNStatusTransfer-IEs}},
	...
}

SNStatusTransfer-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Old-eNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID										PRESENCE mandatory}|
	{ ID id-New-eNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID										PRESENCE mandatory}|
	{ ID id-E-RABs-SubjectToStatusTransfer-List		CRITICALITY ignore	TYPE E-RABs-SubjectToStatusTransfer-List		PRESENCE mandatory}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension							PRESENCE optional}|
	{ ID id-New-eNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension							PRESENCE optional},
	...
}

E-RABs-SubjectToStatusTransfer-List	::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { { E-RABs-SubjectToStatusTransfer-ItemIEs} }

E-RABs-SubjectToStatusTransfer-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-SubjectToStatusTransfer-Item	CRITICALITY ignore	TYPE E-RABs-SubjectToStatusTransfer-Item 	PRESENCE mandatory	}
}

E-RABs-SubjectToStatusTransfer-Item ::= SEQUENCE {
	e-RAB-ID								E-RAB-ID,

	receiveStatusofULPDCPSDUs				ReceiveStatusofULPDCPSDUs			OPTIONAL,
	uL-COUNTvalue					COUNTvalue,
	dL-COUNTvalue					COUNTvalue,
	iE-Extensions							ProtocolExtensionContainer { {E-RABs-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
	...
}

E-RABs-SubjectToStatusTransfer-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-ReceiveStatusOfULPDCPSDUsExtended			CRITICALITY ignore	EXTENSION ReceiveStatusOfULPDCPSDUsExtended			PRESENCE optional}|
	{ ID id-ULCOUNTValueExtended						CRITICALITY ignore	EXTENSION COUNTValueExtended								PRESENCE optional}|
	{ ID id-DLCOUNTValueExtended						CRITICALITY ignore	EXTENSION COUNTValueExtended								PRESENCE optional}|
	{ ID id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18	CRITICALITY ignore	EXTENSION ReceiveStatusOfULPDCPSDUsPDCP-SNlength18	PRESENCE optional}|
	{ ID id-ULCOUNTValuePDCP-SNlength18					CRITICALITY ignore	EXTENSION COUNTvaluePDCP-SNlength18						PRESENCE optional}|
	{ ID id-DLCOUNTValuePDCP-SNlength18					CRITICALITY ignore	EXTENSION COUNTvaluePDCP-SNlength18						PRESENCE optional},
	...
}

-- **************************************************************
--
-- UE Context Release
--
-- **************************************************************

UEContextRelease ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{UEContextRelease-IEs}},
	...
}

UEContextRelease-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Old-eNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-New-eNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension						PRESENCE optional}|
	{ ID id-New-eNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension						PRESENCE optional}|
	{ ID id-SIPTO-BearerDeactivationIndication	CRITICALITY ignore	TYPE SIPTOBearerDeactivationIndication		PRESENCE optional},
	...
}


-- **************************************************************
--
-- HANDOVER CANCEL
--
-- **************************************************************

HandoverCancel ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{HandoverCancel-IEs}},
	...
}

HandoverCancel-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Old-eNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-New-eNB-UE-X2AP-ID					CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE optional}|
	{ ID id-Cause								CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension		PRESENCE optional}|
	{ ID id-New-eNB-UE-X2AP-ID-Extension		CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional},
	...
}

-- **************************************************************
--
-- ERROR INDICATION
--
-- **************************************************************

ErrorIndication ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ErrorIndication-IEs}},
	...
}

ErrorIndication-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Old-eNB-UE-X2AP-ID					CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE optional}|
	{ ID id-New-eNB-UE-X2AP-ID					CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE optional}|
	{ ID id-Cause								CRITICALITY ignore	TYPE Cause						PRESENCE optional}|
	{ ID id-CriticalityDiagnostics				CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension		CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional}|
	{ ID id-New-eNB-UE-X2AP-ID-Extension		CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional},
	...
}

-- **************************************************************
--
-- Reset Request
--
-- **************************************************************

ResetRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ResetRequest-IEs}},
	...
}

ResetRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Cause				CRITICALITY ignore	TYPE Cause				PRESENCE mandatory},
	...
}

-- **************************************************************
--
-- Reset Response
--
-- **************************************************************

ResetResponse ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ResetResponse-IEs}},
	...
}

ResetResponse-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional },
	...
}

-- **************************************************************
--
-- X2 SETUP REQUEST
--
-- **************************************************************

X2SetupRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2SetupRequest-IEs}},
	...
}

X2SetupRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-GlobalENB-ID			CRITICALITY reject	TYPE GlobalENB-ID			PRESENCE mandatory}|
	{ ID id-ServedCells				CRITICALITY reject	TYPE ServedCells			PRESENCE mandatory}|
	{ ID id-GUGroupIDList			CRITICALITY reject	TYPE GUGroupIDList			PRESENCE optional}|
	{ ID id-LHN-ID					CRITICALITY ignore	TYPE LHN-ID					PRESENCE optional},
...
}



-- **************************************************************
--
-- X2 SETUP RESPONSE
--
-- **************************************************************

X2SetupResponse ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2SetupResponse-IEs}},
	...
}

X2SetupResponse-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-GlobalENB-ID				CRITICALITY reject	TYPE GlobalENB-ID			PRESENCE mandatory}|
	{ ID id-ServedCells					CRITICALITY reject	TYPE ServedCells			PRESENCE mandatory}|
	{ ID id-GUGroupIDList				CRITICALITY reject	TYPE GUGroupIDList			PRESENCE optional}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics	PRESENCE optional}|
	{ ID id-LHN-ID						CRITICALITY ignore	TYPE LHN-ID					PRESENCE optional},
	...
}



-- **************************************************************
--
-- X2 SETUP FAILURE
--
-- **************************************************************

X2SetupFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2SetupFailure-IEs}},
	...
}

X2SetupFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Cause					CRITICALITY ignore		TYPE Cause								PRESENCE mandatory} |
	{ ID id-TimeToWait				CRITICALITY ignore		TYPE TimeToWait							PRESENCE optional} |
	{ ID id-CriticalityDiagnostics	CRITICALITY ignore		TYPE CriticalityDiagnostics				PRESENCE optional },

	...
}



-- **************************************************************
--
-- LOAD INFORMATION
--
-- **************************************************************

LoadInformation ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{LoadInformation-IEs}},
	...
}

LoadInformation-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-CellInformation				CRITICALITY ignore	TYPE CellInformation-List		PRESENCE mandatory} ,
	...
}

CellInformation-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellInformation-ItemIEs} }

CellInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-CellInformation-Item	CRITICALITY ignore	TYPE CellInformation-Item 	PRESENCE mandatory	}
}

CellInformation-Item ::= SEQUENCE {
	cell-ID							ECGI,
	ul-InterferenceOverloadIndication		UL-InterferenceOverloadIndication		OPTIONAL,
	ul-HighInterferenceIndicationInfo		UL-HighInterferenceIndicationInfo		OPTIONAL,
	relativeNarrowbandTxPower				RelativeNarrowbandTxPower				OPTIONAL,
	iE-Extensions							ProtocolExtensionContainer { {CellInformation-Item-ExtIEs} }	OPTIONAL,
	...
}

CellInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-ABSInformation						CRITICALITY ignore	EXTENSION ABSInformation							PRESENCE optional }|
{ ID id-InvokeIndication					CRITICALITY ignore	EXTENSION InvokeIndication							PRESENCE optional }|
{ ID id-IntendedULDLConfiguration			CRITICALITY ignore	EXTENSION SubframeAssignment						PRESENCE optional }|
{ ID id-ExtendedULInterferenceOverloadInfo	CRITICALITY ignore	EXTENSION ExtendedULInterferenceOverloadInfo	PRESENCE optional }|
{ ID id-CoMPInformation						CRITICALITY ignore	EXTENSION CoMPInformation							PRESENCE optional }|
{ ID id-DynamicDLTransmissionInformation	CRITICALITY ignore	EXTENSION DynamicDLTransmissionInformation		PRESENCE optional },
	...
}

-- **************************************************************
--
-- ENB CONFIGURATION UPDATE
--
-- **************************************************************

ENBConfigurationUpdate ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ENBConfigurationUpdate-IEs}},
	...
}

ENBConfigurationUpdate-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ServedCellsToAdd			CRITICALITY reject	TYPE ServedCells					PRESENCE optional}|
	{ ID id-ServedCellsToModify			CRITICALITY reject	TYPE ServedCellsToModify			PRESENCE optional}|
	{ ID id-ServedCellsToDelete			CRITICALITY reject	TYPE Old-ECGIs						PRESENCE optional}|
	{ ID id-GUGroupIDToAddList			CRITICALITY reject	TYPE GUGroupIDList					PRESENCE optional}|
	{ ID id-GUGroupIDToDeleteList		CRITICALITY reject	TYPE GUGroupIDList					PRESENCE optional}|
	{ ID id-CoverageModificationList	CRITICALITY reject	TYPE CoverageModificationList		PRESENCE optional},
	...
}

ServedCellsToModify::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToModify-Item

ServedCellsToModify-Item::= SEQUENCE {
	old-ecgi						ECGI,
	servedCellInfo					ServedCell-Information,
	neighbour-Info					Neighbour-Information			OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { { ServedCellsToModify-Item-ExtIEs} } OPTIONAL,
	...
}

ServedCellsToModify-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-DeactivationIndication			CRITICALITY ignore	EXTENSION DeactivationIndication				PRESENCE optional },
	...
}


Old-ECGIs::= SEQUENCE (SIZE (1..maxCellineNB)) OF ECGI

-- **************************************************************
--
-- ENB CONFIGURATION UPDATE ACKNOWLEDGE
--
-- **************************************************************

ENBConfigurationUpdateAcknowledge ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ENBConfigurationUpdateAcknowledge-IEs}},
	...
}

ENBConfigurationUpdateAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional},
...
}

-- **************************************************************
--
-- ENB CONFIGURATION UPDATE FAIURE
--
-- **************************************************************

ENBConfigurationUpdateFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ENBConfigurationUpdateFailure-IEs}},
	...
}

ENBConfigurationUpdateFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-TimeToWait					CRITICALITY ignore	TYPE TimeToWait					PRESENCE optional}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional},
	...
}



-- **************************************************************
--
-- Resource Status Request
--
-- **************************************************************

ResourceStatusRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ResourceStatusRequest-IEs}},
	...
}

ResourceStatusRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ENB1-Measurement-ID			CRITICALITY reject	TYPE Measurement-ID					PRESENCE mandatory}|
	{ ID id-ENB2-Measurement-ID			CRITICALITY ignore	TYPE Measurement-ID					PRESENCE conditional}|-- The IE shall be present if the Registration Request IE is set to “Stop”, “Partial stop” or to “Add”--
	{ ID id-Registration-Request		CRITICALITY reject	TYPE Registration-Request			PRESENCE mandatory}|
	{ ID id-ReportCharacteristics		CRITICALITY reject	TYPE ReportCharacteristics			PRESENCE optional}|
	{ ID id-CellToReport				CRITICALITY ignore	TYPE CellToReport-List				PRESENCE mandatory}|
	{ ID id-ReportingPeriodicity		CRITICALITY ignore	TYPE ReportingPeriodicity			PRESENCE optional}|
	{ ID id-PartialSuccessIndicator		CRITICALITY ignore	TYPE PartialSuccessIndicator		PRESENCE optional}|
	{ ID id-ReportingPeriodicityRSRPMR	CRITICALITY ignore	TYPE ReportingPeriodicityRSRPMR		PRESENCE optional}|
	{ ID id-ReportingPeriodicityCSIR	CRITICALITY ignore	TYPE ReportingPeriodicityCSIR		PRESENCE optional},
	...
}


CellToReport-List 		::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellToReport-ItemIEs} }

CellToReport-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-CellToReport-Item	CRITICALITY ignore	TYPE CellToReport-Item 	PRESENCE mandatory}
}

CellToReport-Item ::= SEQUENCE {
	cell-ID									ECGI,
	iE-Extensions							ProtocolExtensionContainer { {CellToReport-Item-ExtIEs} } OPTIONAL,
	...
}

CellToReport-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}


ReportingPeriodicity ::= ENUMERATED {
	one-thousand-ms,
	two-thousand-ms,
	five-thousand-ms,
	ten-thousand-ms,
...
}

PartialSuccessIndicator ::= ENUMERATED {
	partial-success-allowed,
...
}

-- **************************************************************
--
-- Resource Status Response
--
-- **************************************************************

ResourceStatusResponse ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ResourceStatusResponse-IEs}},
	...
}

ResourceStatusResponse-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ENB1-Measurement-ID					CRITICALITY reject	TYPE Measurement-ID							PRESENCE mandatory}|
	{ ID id-ENB2-Measurement-ID					CRITICALITY reject	TYPE Measurement-ID							PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics				CRITICALITY ignore	TYPE CriticalityDiagnostics					PRESENCE optional}|
	{ ID id-MeasurementInitiationResult-List	CRITICALITY ignore	TYPE MeasurementInitiationResult-List	PRESENCE optional},
	...
}


MeasurementInitiationResult-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { { MeasurementInitiationResult-ItemIEs} }

MeasurementInitiationResult-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeasurementInitiationResult-Item	CRITICALITY ignore	TYPE MeasurementInitiationResult-Item	PRESENCE mandatory}
}

MeasurementInitiationResult-Item ::= SEQUENCE {
	cell-ID											ECGI,
	measurementFailureCause-List					MeasurementFailureCause-List	OPTIONAL,
	iE-Extensions									ProtocolExtensionContainer { { MeasurementInitiationResult-Item-ExtIEs} }	OPTIONAL,
	...
}

MeasurementInitiationResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

MeasurementFailureCause-List ::= SEQUENCE (SIZE (1..maxFailedMeasObjects)) OF ProtocolIE-Single-Container { { MeasurementFailureCause-ItemIEs} }

MeasurementFailureCause-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeasurementFailureCause-Item	CRITICALITY ignore	TYPE MeasurementFailureCause-Item		PRESENCE mandatory}
}

MeasurementFailureCause-Item ::= SEQUENCE {
	measurementFailedReportCharacteristics			ReportCharacteristics,
	cause											Cause,
	iE-Extensions									ProtocolExtensionContainer { { MeasurementFailureCause-Item-ExtIEs} }	OPTIONAL,
	...
}

MeasurementFailureCause-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- Resource Status Failure
--
-- **************************************************************

ResourceStatusFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ResourceStatusFailure-IEs}},
	...
}

ResourceStatusFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ENB1-Measurement-ID						CRITICALITY reject	TYPE Measurement-ID									PRESENCE mandatory}|
	{ ID id-ENB2-Measurement-ID						CRITICALITY reject	TYPE Measurement-ID									PRESENCE mandatory}|
	{ ID id-Cause									CRITICALITY ignore	TYPE Cause											PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics					CRITICALITY ignore	TYPE CriticalityDiagnostics						PRESENCE optional}|
	{ ID id-CompleteFailureCauseInformation-List	CRITICALITY ignore	TYPE CompleteFailureCauseInformation-List	PRESENCE optional},
	...
}

CompleteFailureCauseInformation-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CompleteFailureCauseInformation-ItemIEs} }

CompleteFailureCauseInformation-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-CompleteFailureCauseInformation-Item	CRITICALITY ignore	TYPE CompleteFailureCauseInformation-Item	PRESENCE mandatory}
}

CompleteFailureCauseInformation-Item ::= SEQUENCE {
	cell-ID											ECGI,
	measurementFailureCause-List					MeasurementFailureCause-List,
	iE-Extensions									ProtocolExtensionContainer { { CompleteFailureCauseInformation-Item-ExtIEs} }	OPTIONAL,
	...
}

CompleteFailureCauseInformation-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- Resource Status Update
--
-- **************************************************************

ResourceStatusUpdate ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ResourceStatusUpdate-IEs}},
	...
}

ResourceStatusUpdate-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ENB1-Measurement-ID		CRITICALITY reject	TYPE Measurement-ID					PRESENCE mandatory}|
	{ ID id-ENB2-Measurement-ID		CRITICALITY reject	TYPE Measurement-ID					PRESENCE mandatory}|
	{ ID id-CellMeasurementResult	CRITICALITY ignore	TYPE CellMeasurementResult-List		PRESENCE mandatory},
	...
}

CellMeasurementResult-List ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ProtocolIE-Single-Container { {CellMeasurementResult-ItemIEs} }

CellMeasurementResult-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-CellMeasurementResult-Item	CRITICALITY ignore	TYPE CellMeasurementResult-Item	PRESENCE mandatory}
}

CellMeasurementResult-Item ::= SEQUENCE {
	cell-ID						ECGI,
	hWLoadIndicator				HWLoadIndicator		OPTIONAL,
	s1TNLLoadIndicator			S1TNLLoadIndicator	OPTIONAL,
	radioResourceStatus			RadioResourceStatus	OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { {CellMeasurementResult-Item-ExtIEs} }	OPTIONAL,
	...
}

CellMeasurementResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-CompositeAvailableCapacityGroup	CRITICALITY ignore	EXTENSION CompositeAvailableCapacityGroup		PRESENCE optional}|
	{ ID id-ABS-Status						CRITICALITY ignore	EXTENSION ABS-Status								PRESENCE optional}|
	{ ID id-RSRPMRList						CRITICALITY ignore	EXTENSION RSRPMRList								PRESENCE optional}|
	{ ID id-CSIReportList					CRITICALITY ignore	EXTENSION CSIReportList								PRESENCE optional}|
	{ ID id-CellReportingIndicator			CRITICALITY ignore	EXTENSION CellReportingIndicator					PRESENCE optional},
	...
}


-- **************************************************************
--
-- PRIVATE MESSAGE
--
-- **************************************************************

PrivateMessage ::= SEQUENCE {
	privateIEs		PrivateIE-Container	{{PrivateMessage-IEs}},
	...
}

PrivateMessage-IEs X2AP-PRIVATE-IES ::= {
	...
}

-- **************************************************************
--
-- MOBILITY CHANGE REQUEST
--
-- **************************************************************

MobilityChangeRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{MobilityChangeRequest-IEs}},
	...
}

MobilityChangeRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ENB1-Cell-ID						CRITICALITY reject	TYPE ECGI											PRESENCE mandatory}|
	{ ID id-ENB2-Cell-ID						CRITICALITY reject	TYPE ECGI											PRESENCE mandatory}|
	{ ID id-ENB1-Mobility-Parameters			CRITICALITY ignore	TYPE MobilityParametersInformation				PRESENCE optional}|
	{ ID id-ENB2-Proposed-Mobility-Parameters	CRITICALITY reject	TYPE MobilityParametersInformation				PRESENCE mandatory}|
	{ ID id-Cause								CRITICALITY reject	TYPE Cause											PRESENCE mandatory},
	...
}

-- **************************************************************
--
-- MOBILITY CHANGE ACKNOWLEDGE
--
-- **************************************************************

MobilityChangeAcknowledge ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{MobilityChangeAcknowledge-IEs}},
	...
}

MobilityChangeAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ENB1-Cell-ID			CRITICALITY reject	TYPE ECGI							PRESENCE mandatory}|
	{ ID id-ENB2-Cell-ID			CRITICALITY reject	TYPE ECGI							PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional},
	...
}


-- **************************************************************
--
-- MOBILITY CHANGE FAILURE
--
-- **************************************************************

MobilityChangeFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{MobilityChangeFailure-IEs}},
	...
}

MobilityChangeFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ENB1-Cell-ID									CRITICALITY ignore	TYPE ECGI												PRESENCE mandatory}|
	{ ID id-ENB2-Cell-ID									CRITICALITY ignore	TYPE ECGI												PRESENCE mandatory}|
	{ ID id-Cause											CRITICALITY ignore	TYPE Cause												PRESENCE mandatory}|
	{ ID id-ENB2-Mobility-Parameters-Modification-Range		CRITICALITY ignore	TYPE MobilityParametersModificationRange		PRESENCE optional}|
	{ ID id-CriticalityDiagnostics							CRITICALITY ignore	TYPE CriticalityDiagnostics						PRESENCE optional},
	...
}

-- **************************************************************
--
-- Radio Link Failure Indication
--
-- **************************************************************

RLFIndication ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{RLFIndication-IEs}},
	...
}

RLFIndication-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-FailureCellPCI								CRITICALITY ignore	TYPE PCI														PRESENCE mandatory}|
	{ ID id-Re-establishmentCellECGI					CRITICALITY ignore	TYPE ECGI														PRESENCE mandatory}|
	{ ID id-FailureCellCRNTI							CRITICALITY ignore	TYPE CRNTI														PRESENCE mandatory}|
	{ ID id-ShortMAC-I									CRITICALITY ignore	TYPE ShortMAC-I													PRESENCE optional}|
	{ ID id-UE-RLF-Report-Container						CRITICALITY ignore	TYPE UE-RLF-Report-Container								PRESENCE optional}|
	{ ID id-RRCConnSetupIndicator						CRITICALITY reject	TYPE RRCConnSetupIndicator									PRESENCE optional}|
	{ ID id-RRCConnReestabIndicator						CRITICALITY ignore	TYPE RRCConnReestabIndicator								PRESENCE optional}|
	{ ID id-UE-RLF-Report-Container-for-extended-bands	CRITICALITY ignore	TYPE UE-RLF-Report-Container-for-extended-bands		PRESENCE optional},
	...
}


-- **************************************************************
--
-- Cell Activation Request
--
-- **************************************************************

CellActivationRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{CellActivationRequest-IEs}},
	...
}

CellActivationRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ServedCellsToActivate 	CRITICALITY reject	TYPE ServedCellsToActivate		PRESENCE mandatory},
	...
}

ServedCellsToActivate::= SEQUENCE (SIZE (1..maxCellineNB)) OF ServedCellsToActivate-Item

ServedCellsToActivate-Item::= SEQUENCE {
	ecgi						ECGI,
	iE-Extensions					ProtocolExtensionContainer { { ServedCellsToActivate-Item-ExtIEs} } OPTIONAL,
	...
}

ServedCellsToActivate-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- Cell Activation Response
--
-- **************************************************************

CellActivationResponse ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{CellActivationResponse-IEs}},
	...
}

CellActivationResponse-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-ActivatedCellList		CRITICALITY ignore	TYPE ActivatedCellList				PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional},
	...
}

ActivatedCellList ::= SEQUENCE (SIZE (1..maxCellineNB)) OF ActivatedCellList-Item

ActivatedCellList-Item::= SEQUENCE {
	ecgi								ECGI,
	iE-Extensions						ProtocolExtensionContainer { { ActivatedCellList-Item-ExtIEs} } OPTIONAL,
	...
}

ActivatedCellList-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

--**************************************************************
--
-- CELL ACTIVATION FAILURE
--
-- **************************************************************

CellActivationFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{CellActivationFailure-IEs}},
	...
}

CellActivationFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE mandatory }|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional },
	...
}

-- **************************************************************
--
-- X2 RELEASE
--
-- **************************************************************

X2Release ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2Release-IEs}},
	...
}

X2Release-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-GlobalENB-ID			CRITICALITY reject	TYPE GlobalENB-ID			PRESENCE mandatory},
...
}

-- **************************************************************
--
-- X2AP Message Transfer
--
-- **************************************************************

X2APMessageTransfer ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2APMessageTransfer-IEs}},
	...
}

X2APMessageTransfer-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-RNL-Header	CRITICALITY reject	TYPE RNL-Header				PRESENCE mandatory}|
	{ ID id-x2APMessage	CRITICALITY reject	TYPE X2AP-Message			PRESENCE optional},
	...
}

RNL-Header ::= SEQUENCE {
	source-GlobalENB-ID	GlobalENB-ID,
	target-GlobalENB-ID	GlobalENB-ID	OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { { RNL-Header-Item-ExtIEs} } OPTIONAL,
	...
}

RNL-Header-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

X2AP-Message ::= OCTET STRING

-- **************************************************************
--
-- SENB ADDITION REQUEST
--
-- **************************************************************

SeNBAdditionRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBAdditionRequest-IEs}},
	...
}

SeNBAdditionRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-UE-SecurityCapabilities			CRITICALITY reject	TYPE UESecurityCapabilities				PRESENCE conditional}|
	-- This IE shall be present if the Bearer Option IE is set to the value “SCG bearer” --
	{ ID id-SeNBSecurityKey					CRITICALITY reject	TYPE SeNBSecurityKey					PRESENCE conditional}|
	-- This IE shall be present if the Bearer Option IE is set to the value “SCG bearer” --
	{ ID id-SeNBUEAggregateMaximumBitRate	CRITICALITY reject	TYPE UEAggregateMaximumBitRate			PRESENCE mandatory}|
	{ ID id-ServingPLMN						CRITICALITY ignore	TYPE PLMN-Identity						PRESENCE optional}|
	{ ID id-E-RABs-ToBeAdded-List			CRITICALITY reject	TYPE E-RABs-ToBeAdded-List				PRESENCE mandatory}|
	{ ID id-MeNBtoSeNBContainer				CRITICALITY reject	TYPE MeNBtoSeNBContainer				PRESENCE mandatory}|
	{ ID id-CSGMembershipStatus				CRITICALITY reject	TYPE CSGMembershipStatus				PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID							PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension				PRESENCE optional}|
	{ ID id-ExpectedUEBehaviour				CRITICALITY ignore	TYPE ExpectedUEBehaviour				PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension				PRESENCE optional},
	...
}

E-RABs-ToBeAdded-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { { E-RABs-ToBeAdded-ItemIEs} }

E-RABs-ToBeAdded-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeAdded-Item	CRITICALITY reject	TYPE E-RABs-ToBeAdded-Item		PRESENCE mandatory},
	...
}

E-RABs-ToBeAdded-Item ::= CHOICE {
	sCG-Bearer		E-RABs-ToBeAdded-Item-SCG-Bearer,
	split-Bearer	E-RABs-ToBeAdded-Item-Split-Bearer,
	...
}

E-RABs-ToBeAdded-Item-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters,
	dL-Forwarding					DL-Forwarding																	OPTIONAL,
	s1-UL-GTPtunnelEndpoint			GTPtunnelEndpoint,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeAdded-Item-SCG-BearerExtIEs} }	OPTIONAL,
	...
}

E-RABs-ToBeAdded-Item-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Correlation-ID				CRITICALITY ignore	EXTENSION Correlation-ID		PRESENCE optional}|
	{ ID id-SIPTO-Correlation-ID		CRITICALITY ignore	EXTENSION Correlation-ID		PRESENCE optional},
	...
}

E-RABs-ToBeAdded-Item-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters,
	meNB-GTPtunnelEndpoint			GTPtunnelEndpoint,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeAdded-Item-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeAdded-Item-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB ADDITION REQUEST ACKNOWLEDGE
--
-- **************************************************************

SeNBAdditionRequestAcknowledge ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBAdditionRequestAcknowledge-IEs}},
	...
}

SeNBAdditionRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-E-RABs-Admitted-ToBeAdded-List		CRITICALITY ignore	TYPE E-RABs-Admitted-ToBeAdded-List	PRESENCE mandatory}|
	{ ID id-E-RABs-NotAdmitted-List				CRITICALITY ignore	TYPE E-RAB-List							PRESENCE optional}|
	{ ID id-SeNBtoMeNBContainer					CRITICALITY reject	TYPE SeNBtoMeNBContainer				PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics				CRITICALITY ignore	TYPE CriticalityDiagnostics				PRESENCE optional}|
	{ ID id-GW-TransportLayerAddress			CRITICALITY ignore	TYPE TransportLayerAddress				PRESENCE optional}|
	{ ID id-SIPTO-L-GW-TransportLayerAddress	CRITICALITY ignore	TYPE TransportLayerAddress				PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension				PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension				PRESENCE optional}|
	{ ID id-Tunnel-Information-for-BBF			CRITICALITY ignore	TYPE TunnelInformation					PRESENCE optional},
	...
}

E-RABs-Admitted-ToBeAdded-List ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-ItemIEs} }

E-RABs-Admitted-ToBeAdded-ItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-Admitted-ToBeAdded-Item	CRITICALITY ignore	TYPE E-RABs-Admitted-ToBeAdded-Item 		PRESENCE mandatory}
}

E-RABs-Admitted-ToBeAdded-Item ::= CHOICE {
	sCG-Bearer		E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer,
	split-Bearer	E-RABs-Admitted-ToBeAdded-Item-Split-Bearer,
	...
}

E-RABs-Admitted-ToBeAdded-Item-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID								E-RAB-ID,
	s1-DL-GTPtunnelEndpoint					GTPtunnelEndpoint,
	dL-Forwarding-GTPtunnelEndpoint			GTPtunnelEndpoint																	OPTIONAL,
	uL-Forwarding-GTPtunnelEndpoint			GTPtunnelEndpoint																	OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-Item-SCG-BearerExtIEs} }	OPTIONAL,
	...
}

E-RABs-Admitted-ToBeAdded-Item-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-Admitted-ToBeAdded-Item-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	seNB-GTPtunnelEndpoint			GTPtunnelEndpoint,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-Item-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-Admitted-ToBeAdded-Item-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB ADDITION REQUEST REJECT
--
-- **************************************************************

SeNBAdditionRequestReject ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBAdditionRequestReject-IEs}},
	...
}

SeNBAdditionRequestReject-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-Cause							CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension		PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension		PRESENCE optional},
	...
}

-- **************************************************************
--
-- SENB RECONFIGURATION COMPLETE
--
-- **************************************************************

SeNBReconfigurationComplete ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBReconfigurationComplete-IEs}},
	...
}

SeNBReconfigurationComplete-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID							CRITICALITY reject	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID							CRITICALITY reject	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-ResponseInformationSeNBReconfComp		CRITICALITY ignore	TYPE ResponseInformationSeNBReconfComp	PRESENCE mandatory}|
	{ ID id-MeNB-UE-X2AP-ID-Extension				CRITICALITY reject	TYPE UE-X2AP-ID-Extension						PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension				CRITICALITY reject	TYPE UE-X2AP-ID-Extension						PRESENCE optional},
	...
}

ResponseInformationSeNBReconfComp ::= CHOICE {
	success				ResponseInformationSeNBReconfComp-SuccessItem,
	reject-by-MeNB		ResponseInformationSeNBReconfComp-RejectByMeNBItem,
	...
}

ResponseInformationSeNBReconfComp-SuccessItem ::= SEQUENCE {
	meNBtoSeNBContainer				MeNBtoSeNBContainer OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {ResponseInformationSeNBReconfComp-SuccessItemExtIEs} }	OPTIONAL,
	...
}

ResponseInformationSeNBReconfComp-SuccessItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ResponseInformationSeNBReconfComp-RejectByMeNBItem ::= SEQUENCE {
	cause							Cause,
	meNBtoSeNBContainer				MeNBtoSeNBContainer																						OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { { ResponseInformationSeNBReconfComp-RejectByMeNBItemExtIEs} }	OPTIONAL,
	...
}

ResponseInformationSeNBReconfComp-RejectByMeNBItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB MODIFICATION REQUEST
--
-- **************************************************************

SeNBModificationRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ SeNBModificationRequest-IEs}},
	...
}

SeNBModificationRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID								PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID								PRESENCE mandatory}|
	{ ID id-Cause								CRITICALITY ignore	TYPE Cause									PRESENCE mandatory}|
	{ ID id-SCGChangeIndication					CRITICALITY ignore	TYPE SCGChangeIndication					PRESENCE optional}|
	{ ID id-ServingPLMN							CRITICALITY ignore	TYPE PLMN-Identity							PRESENCE optional}|
	{ ID id-UE-ContextInformationSeNBModReq		CRITICALITY reject	TYPE UE-ContextInformationSeNBModReq	PRESENCE optional}|
	{ ID id-MeNBtoSeNBContainer					CRITICALITY ignore	TYPE MeNBtoSeNBContainer					PRESENCE optional}|
	{ ID id-CSGMembershipStatus					CRITICALITY reject	TYPE CSGMembershipStatus					PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension					PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension					PRESENCE optional},
	...
}

UE-ContextInformationSeNBModReq ::= SEQUENCE {
	uE-SecurityCapabilities			UESecurityCapabilities															OPTIONAL,
	seNB-SecurityKey				SeNBSecurityKey 																OPTIONAL,
	seNBUEAggregateMaximumBitRate	UEAggregateMaximumBitRate														OPTIONAL,
	e-RABs-ToBeAdded				E-RABs-ToBeAdded-List-ModReq													OPTIONAL,
	e-RABs-ToBeModified				E-RABs-ToBeModified-List-ModReq													OPTIONAL,
	e-RABs-ToBeReleased				E-RABs-ToBeReleased-List-ModReq													OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { { UE-ContextInformationSeNBModReqExtIEs} }	OPTIONAL,
	...
}

UE-ContextInformationSeNBModReqExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-ToBeAdded-List-ModReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeAdded-ModReqItemIEs} }

E-RABs-ToBeAdded-ModReqItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeAdded-ModReqItem	CRITICALITY ignore	TYPE E-RABs-ToBeAdded-ModReqItem	PRESENCE mandatory},
	...
}

E-RABs-ToBeAdded-ModReqItem ::= CHOICE {
	sCG-Bearer		E-RABs-ToBeAdded-ModReqItem-SCG-Bearer,
	split-Bearer	E-RABs-ToBeAdded-ModReqItem-Split-Bearer,
	...
}

E-RABs-ToBeAdded-ModReqItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters,
	dL-Forwarding					DL-Forwarding																	OPTIONAL,
	s1-UL-GTPtunnelEndpoint			GTPtunnelEndpoint,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeAdded-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Correlation-ID				CRITICALITY ignore	EXTENSION Correlation-ID		PRESENCE optional}|
	{ ID id-SIPTO-Correlation-ID		CRITICALITY ignore	EXTENSION Correlation-ID		PRESENCE optional},
	...
}

E-RABs-ToBeAdded-ModReqItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters,
	meNB-GTPtunnelEndpoint			GTPtunnelEndpoint,
	iE-Extensions			ProtocolExtensionContainer { {E-RABs-ToBeAdded-ModReqItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeAdded-ModReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-ToBeModified-List-ModReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeModified-ModReqItemIEs} }

E-RABs-ToBeModified-ModReqItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeModified-ModReqItem	CRITICALITY ignore	TYPE E-RABs-ToBeModified-ModReqItem		PRESENCE mandatory},
	...
}


E-RABs-ToBeModified-ModReqItem ::= CHOICE {
	sCG-Bearer		E-RABs-ToBeModified-ModReqItem-SCG-Bearer,
	split-Bearer	E-RABs-ToBeModified-ModReqItem-Split-Bearer,
	...
}

E-RABs-ToBeModified-ModReqItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters														OPTIONAL,
	s1-UL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeModified-ModReqItem-SCG-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeModified-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-ToBeModified-ModReqItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters																OPTIONAL,
	meNB-GTPtunnelEndpoint			GTPtunnelEndpoint																		OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeModified-ModReqItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeModified-ModReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-ToBeReleased-List-ModReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-ModReqItemIEs} }

E-RABs-ToBeReleased-ModReqItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeReleased-ModReqItem	CRITICALITY ignore	TYPE E-RABs-ToBeReleased-ModReqItem		PRESENCE mandatory},
	...
}

E-RABs-ToBeReleased-ModReqItem ::= CHOICE {
	sCG-Bearer		E-RABs-ToBeReleased-ModReqItem-SCG-Bearer,
	split-Bearer	E-RABs-ToBeReleased-ModReqItem-Split-Bearer,
	...
}

E-RABs-ToBeReleased-ModReqItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	dL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	uL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeReleased-ModReqItem-SCG-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeReleased-ModReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-ToBeReleased-ModReqItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	dL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeReleased-ModReqItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeReleased-ModReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB MODIFICATION REQUEST ACKNOWLEDGE
--
-- **************************************************************

SeNBModificationRequestAcknowledge ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBModificationRequestAcknowledge-IEs}},
	...
}

SeNBModificationRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID								CRITICALITY ignore	TYPE UE-X2AP-ID											PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID								CRITICALITY ignore	TYPE UE-X2AP-ID											PRESENCE mandatory}|
	{ ID id-E-RABs-Admitted-ToBeAdded-ModAckList		CRITICALITY ignore	TYPE E-RABs-Admitted-ToBeAdded-ModAckList		PRESENCE optional}|
	{ ID id-E-RABs-Admitted-ToBeModified-ModAckList		CRITICALITY ignore	TYPE E-RABs-Admitted-ToBeModified-ModAckList	PRESENCE optional}|
	{ ID id-E-RABs-Admitted-ToBeReleased-ModAckList		CRITICALITY ignore	TYPE E-RABs-Admitted-ToBeReleased-ModAckList	PRESENCE optional}|
	{ ID id-E-RABs-NotAdmitted-List						CRITICALITY ignore	TYPE E-RAB-List											PRESENCE optional}|
	{ ID id-SeNBtoMeNBContainer							CRITICALITY ignore	TYPE SeNBtoMeNBContainer								PRESENCE optional}|
	{ ID id-CriticalityDiagnostics						CRITICALITY ignore	TYPE CriticalityDiagnostics							PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension					CRITICALITY ignore	TYPE UE-X2AP-ID-Extension							PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension					CRITICALITY ignore	TYPE UE-X2AP-ID-Extension							PRESENCE optional},
	...
}

E-RABs-Admitted-ToBeAdded-ModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeAdded-ModAckItemIEs} }

E-RABs-Admitted-ToBeAdded-ModAckItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-Admitted-ToBeAdded-ModAckItem	CRITICALITY ignore	TYPE E-RABs-Admitted-ToBeAdded-ModAckItem		PRESENCE mandatory}
}

E-RABs-Admitted-ToBeAdded-ModAckItem ::= CHOICE {
	sCG-Bearer		E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer,
	split-Bearer	E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer,
	...
}

E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID								E-RAB-ID,
	s1-DL-GTPtunnelEndpoint					GTPtunnelEndpoint,
	dL-Forwarding-GTPtunnelEndpoint			GTPtunnelEndpoint																	OPTIONAL,
	uL-Forwarding-GTPtunnelEndpoint			GTPtunnelEndpoint																	OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-BearerExtIEs} }	OPTIONAL,
	...
}

E-RABs-Admitted-ToBeAdded-ModAckItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-Admitted-ToBeAdded-ModAckItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	seNB-GTPtunnelEndpoint			GTPtunnelEndpoint,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-Admitted-ToBeAdded-ModAckItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-Admitted-ToBeAdded-ModAckItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}
E-RABs-Admitted-ToBeModified-ModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeModified-ModAckItemIEs} }

E-RABs-Admitted-ToBeModified-ModAckItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-Admitted-ToBeModified-ModAckItem		CRITICALITY ignore	TYPE E-RABs-Admitted-ToBeModified-ModAckItem	PRESENCE mandatory}
}

E-RABs-Admitted-ToBeModified-ModAckItem ::= CHOICE {
	sCG-Bearer		E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer,
	split-Bearer	E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer,
	...
}

E-RABs-Admitted-ToBeModified-ModAckItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	s1-DL-GTPtunnelEndpoint			GTPtunnelEndpoint																	OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-ModAckItem-SCG-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-Admitted-ToBeModified-ModAckItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-Admitted-ToBeModified-ModAckItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	seNB-GTPtunnelEndpoint			GTPtunnelEndpoint																			OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-Admitted-ToBeModified-ModAckItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-Admitted-ToBeModified-ModAckItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-Admitted-ToBeReleased-ModAckList ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-Admitted-ToBeReleased-ModAckItemIEs} }

E-RABs-Admitted-ToBeReleased-ModAckItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-Admitted-ToBeReleased-ModAckItem		CRITICALITY ignore	TYPE E-RABs-Admitted-ToReleased-ModAckItem		PRESENCE mandatory}
}

E-RABs-Admitted-ToReleased-ModAckItem ::= CHOICE {
	sCG-Bearer		E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer,
	split-Bearer	E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer,
	...
}

E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	iE-Extensions				ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-BearerExtIEs} }	OPTIONAL,
	...
}

E-RABs-Admitted-ToBeReleased-ModAckItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-Admitted-ToBeReleased-ModAckItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	iE-Extensions				ProtocolExtensionContainer { {E-RABs-Admitted-ToBeReleased-ModAckItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-Admitted-ToBeReleased-ModAckItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB MODIFICATION REQUEST REJECT
--
-- **************************************************************

SeNBModificationRequestReject ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBModificationRequestReject-IEs}},
	...
}

SeNBModificationRequestReject-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-Cause								CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics				CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional},
	...
}

-- **************************************************************
--
-- SENB MODIFICATION REQUIRED
--
-- **************************************************************

SeNBModificationRequired ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container		{{SeNBModificationRequired-IEs}},
	...
}

SeNBModificationRequired-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-Cause								CRITICALITY ignore	TYPE Cause								PRESENCE mandatory}|
	{ ID id-SCGChangeIndication					CRITICALITY ignore	TYPE SCGChangeIndication				PRESENCE optional}|
	{ ID id-E-RABs-ToBeReleased-ModReqd			CRITICALITY ignore	TYPE E-RABs-ToBeReleased-ModReqd		PRESENCE optional}|
	{ ID id-SeNBtoMeNBContainer					CRITICALITY ignore	TYPE SeNBtoMeNBContainer				PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension				PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension				PRESENCE optional},
	...
}


E-RABs-ToBeReleased-ModReqd ::= SEQUENCE (SIZE (1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-ModReqdItemIEs} }

E-RABs-ToBeReleased-ModReqdItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeReleased-ModReqdItem	 CRITICALITY ignore		TYPE E-RABs-ToBeReleased-ModReqdItem	PRESENCE mandatory },
	...
}

E-RABs-ToBeReleased-ModReqdItem ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	cause							Cause,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeReleased-ModReqdItemExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeReleased-ModReqdItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB MODIFICATION CONFIRM
--
-- **************************************************************

SeNBModificationConfirm ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBModificationConfirm-IEs}},
	...
}

SeNBModificationConfirm-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID						PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID						PRESENCE mandatory}|
	{ ID id-MeNBtoSeNBContainer					CRITICALITY ignore	TYPE MeNBtoSeNBContainer			PRESENCE optional}|
	{ ID id-CriticalityDiagnostics				CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension			PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension			PRESENCE optional},
	...
}

-- **************************************************************
--
-- SENB MODIFICATION REFUSE
--
-- **************************************************************

SeNBModificationRefuse ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container		{{SeNBModificationRefuse-IEs}},
	...
}

SeNBModificationRefuse-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-Cause								CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-MeNBtoSeNBContainer					CRITICALITY ignore	TYPE MeNBtoSeNBContainer		PRESENCE optional}|
	{ ID id-CriticalityDiagnostics				CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional},
	...
}

-- **************************************************************
--
-- SENB RELEASE REQUEST
--
-- **************************************************************

SeNBReleaseRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container		{{SeNBReleaseRequest-IEs}},
	...
}

SeNBReleaseRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY reject	TYPE UE-X2AP-ID									PRESENCE optional}|
	{ ID id-Cause								CRITICALITY ignore	TYPE Cause										PRESENCE optional}|
	{ ID id-E-RABs-ToBeReleased-List-RelReq		CRITICALITY ignore	TYPE E-RABs-ToBeReleased-List-RelReq		PRESENCE optional}|
	{ ID id-UE-ContextKeptIndicator				CRITICALITY ignore	TYPE UE-ContextKeptIndicator					PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension						PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension						PRESENCE optional}|
	{ ID id-MakeBeforeBreakIndicator			CRITICALITY ignore	TYPE MakeBeforeBreakIndicator				PRESENCE optional},
	...
}
E-RABs-ToBeReleased-List-RelReq ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-RelReqItemIEs} }

E-RABs-ToBeReleased-RelReqItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeReleased-RelReqItem		CRITICALITY ignore	TYPE E-RABs-ToBeReleased-RelReqItem		PRESENCE mandatory},
	...
}

E-RABs-ToBeReleased-RelReqItem ::= CHOICE {
	sCG-Bearer		E-RABs-ToBeReleased-RelReqItem-SCG-Bearer,
	split-Bearer	E-RABs-ToBeReleased-RelReqItem-Split-Bearer,
	...
}

E-RABs-ToBeReleased-RelReqItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	uL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	dL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelReqItem-SCG-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeReleased-RelReqItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-ToBeReleased-RelReqItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	dL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelReqItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeReleased-RelReqItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB RELEASE REQUIRED
--
-- **************************************************************

SeNBReleaseRequired ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBReleaseRequired-IEs}},
	...
}

SeNBReleaseRequired-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-Cause							CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-MeNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension		PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension		CRITICALITY reject	TYPE UE-X2AP-ID-Extension		PRESENCE optional},
	...
}

-- **************************************************************
--
-- SENB RELEASE CONFIRM
--
-- **************************************************************

SeNBReleaseConfirm ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBReleaseConfirm-IEs}},
	...
}

SeNBReleaseConfirm-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID							CRITICALITY ignore	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID							CRITICALITY ignore	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-E-RABs-ToBeReleased-List-RelConf		CRITICALITY ignore	TYPE E-RABs-ToBeReleased-List-RelConf		PRESENCE optional}|
	{ ID id-CriticalityDiagnostics					CRITICALITY ignore	TYPE CriticalityDiagnostics					PRESENCE optional}|
	{ ID id-MeNB-UE-X2AP-ID-Extension				CRITICALITY ignore	TYPE UE-X2AP-ID-Extension						PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension				CRITICALITY ignore	TYPE UE-X2AP-ID-Extension						PRESENCE optional},
	...
}
E-RABs-ToBeReleased-List-RelConf ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeReleased-RelConfItemIEs} }

E-RABs-ToBeReleased-RelConfItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeReleased-RelConfItem		CRITICALITY ignore		TYPE E-RABs-ToBeReleased-RelConfItem		PRESENCE mandatory},
	...
}

E-RABs-ToBeReleased-RelConfItem ::= CHOICE {
	sCG-Bearer		E-RABs-ToBeReleased-RelConfItem-SCG-Bearer,
	split-Bearer	E-RABs-ToBeReleased-RelConfItem-Split-Bearer,
	...
}

E-RABs-ToBeReleased-RelConfItem-SCG-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	uL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	dL-GTPtunnelEndpoint			GTPtunnelEndpoint																OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelConfItem-SCG-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeReleased-RelConfItem-SCG-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABs-ToBeReleased-RelConfItem-Split-Bearer ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	dL-GTPtunnelEndpoint			GTPtunnelEndpoint													OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeReleased-RelConfItem-Split-BearerExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeReleased-RelConfItem-Split-BearerExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- SENB COUNTER CHECK REQUEST
--
-- **************************************************************

SeNBCounterCheckRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{SeNBCounterCheckRequest-IEs}},
	...
}

SeNBCounterCheckRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-MeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID						CRITICALITY ignore	TYPE UE-X2AP-ID									PRESENCE mandatory}|
	{ ID id-E-RABs-SubjectToCounterCheck-List	CRITICALITY ignore	TYPE E-RABs-SubjectToCounterCheck-List		PRESENCE mandatory}|
	{ ID id-MeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension						PRESENCE optional}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY ignore	TYPE UE-X2AP-ID-Extension						PRESENCE optional},
	...
}
E-RABs-SubjectToCounterCheck-List ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-SubjectToCounterCheckItemIEs} }

E-RABs-SubjectToCounterCheckItemIEs X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-SubjectToCounterCheckItem	CRITICALITY ignore	TYPE E-RABs-SubjectToCounterCheckItem		PRESENCE mandatory},
	...
}

E-RABs-SubjectToCounterCheckItem ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	uL-Count						INTEGER (0..4294967295),
	dL-Count						INTEGER (0..4294967295),
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-SubjectToCounterCheckItemExtIEs} } OPTIONAL,
	...
}

E-RABs-SubjectToCounterCheckItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- X2 REMOVAL REQUEST
--
-- **************************************************************

X2RemovalRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2RemovalRequest-IEs}},
	...
}

X2RemovalRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-GlobalENB-ID				CRITICALITY reject	TYPE GlobalENB-ID			PRESENCE mandatory}|
	{ ID id-X2RemovalThreshold			CRITICALITY reject	TYPE X2BenefitValue			PRESENCE optional},
...
}



-- **************************************************************
--
-- X2 REMOVAL RESPONSE
--
-- **************************************************************

X2RemovalResponse ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2RemovalResponse-IEs}},
	...
}

X2RemovalResponse-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-GlobalENB-ID				CRITICALITY reject	TYPE GlobalENB-ID				PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional},
	...
}



-- **************************************************************
--
-- X2 REMOVAL FAILURE
--
-- **************************************************************

X2RemovalFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{X2RemovalFailure-IEs}},
	...
}

X2RemovalFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause							PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional},
	...
}


-- **************************************************************
--
-- RETRIEVE UE CONTEXT REQUEST
--
-- **************************************************************

RetrieveUEContextRequest ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ RetrieveUEContextRequest-IEs}},
	...
}

RetrieveUEContextRequest-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-New-eNB-UE-X2AP-ID					CRITICALITY reject	TYPE UE-X2AP-ID				PRESENCE mandatory}|
	{ ID id-SeNB-UE-X2AP-ID-Extension			CRITICALITY reject	TYPE UE-X2AP-ID-Extension	PRESENCE optional}|
	{ ID id-resumeID							CRITICALITY reject	TYPE ResumeID				PRESENCE mandatory}|
	{ ID id-ShortMAC-I							CRITICALITY reject	TYPE ShortMAC-I				PRESENCE mandatory}|
	{ ID id-NewEUTRANCellIdentifier				CRITICALITY reject	TYPE EUTRANCellIdentifier	PRESENCE mandatory},
	...
}

-- **************************************************************
--
-- RETRIEVE UE CONTEXT RESPONSE
--
-- **************************************************************

RetrieveUEContextResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container	{{ RetrieveUEContextResponse-IEs}},
	...
}

RetrieveUEContextResponse-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-New-eNB-UE-X2AP-ID				CRITICALITY ignore	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-New-eNB-UE-X2AP-ID-Extension	CRITICALITY ignore	TYPE UE-X2AP-ID-Extension				PRESENCE optional}|
	{ ID id-Old-eNB-UE-X2AP-ID				CRITICALITY ignore	TYPE UE-X2AP-ID							PRESENCE mandatory}|
	{ ID id-Old-eNB-UE-X2AP-ID-Extension	CRITICALITY ignore	TYPE UE-X2AP-ID-Extension				PRESENCE optional}|
	{ ID id-GUMMEI-ID						CRITICALITY reject	TYPE GUMMEI								PRESENCE mandatory}|
	{ ID id-UE-ContextInformationRetrieve	CRITICALITY reject	TYPE UE-ContextInformationRetrieve	PRESENCE mandatory}|
	{ ID id-TraceActivation					CRITICALITY ignore	TYPE TraceActivation					PRESENCE optional}|
	{ ID id-SRVCCOperationPossible			CRITICALITY ignore	TYPE SRVCCOperationPossible				PRESENCE optional}|
	{ ID id-Masked-IMEISV					CRITICALITY ignore	TYPE Masked-IMEISV						PRESENCE optional}|
	{ ID id-ExpectedUEBehaviour				CRITICALITY ignore	TYPE ExpectedUEBehaviour				PRESENCE optional}|
	{ ID id-ProSeAuthorized					CRITICALITY ignore	TYPE ProSeAuthorized					PRESENCE optional}|
	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics				PRESENCE optional}|
	{ ID id-V2XServicesAuthorized			CRITICALITY ignore	TYPE V2XServicesAuthorized				PRESENCE optional},
	...
}

UE-ContextInformationRetrieve ::= SEQUENCE {
	mME-UE-S1AP-ID						UE-S1AP-ID,
	uESecurityCapabilities				UESecurityCapabilities,
	aS-SecurityInformation				AS-SecurityInformation,
	uEaggregateMaximumBitRate			UEAggregateMaximumBitRate,
	subscriberProfileIDforRFP			SubscriberProfileIDforRFP		OPTIONAL,
	e-RABs-ToBeSetup-ListRetrieve		E-RABs-ToBeSetup-ListRetrieve,
	rRC-Context							RRC-Context,
	handoverRestrictionList				HandoverRestrictionList			OPTIONAL,
	locationReportingInformation		LocationReportingInformation	OPTIONAL,
	managBasedMDTallowed				ManagementBasedMDTallowed		OPTIONAL,
	managBasedMDTPLMNList				MDTPLMNList						OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { {UE-ContextInformationRetrieve-ExtIEs} } OPTIONAL,
	...
}

UE-ContextInformationRetrieve-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
{ ID id-UESidelinkAggregateMaximumBitRate	CRITICALITY ignore	EXTENSION UESidelinkAggregateMaximumBitRate		PRESENCE optional},
	...
}

E-RABs-ToBeSetup-ListRetrieve ::= SEQUENCE (SIZE(1..maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RABs-ToBeSetupRetrieve-ItemIEs} }

E-RABs-ToBeSetupRetrieve-ItemIEs	X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RABs-ToBeSetupRetrieve-Item	CRITICALITY ignore	TYPE E-RABs-ToBeSetupRetrieve-Item	PRESENCE mandatory},
	...
}

E-RABs-ToBeSetupRetrieve-Item ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RAB-Level-QoS-Parameters		E-RAB-Level-QoS-Parameters,
	bearerType						BearerType	OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABs-ToBeSetupRetrieve-ItemExtIEs} } OPTIONAL,
	...
}

E-RABs-ToBeSetupRetrieve-ItemExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-uL-GTPtunnelEndpoint		CRITICALITY reject	EXTENSION GTPtunnelEndpoint		PRESENCE mandatory},
	...
}

-- **************************************************************
--
-- RETRIEVE UE CONTEXT FAILURE
--
-- **************************************************************

RetrieveUEContextFailure ::= SEQUENCE {
	protocolIEs		ProtocolIE-Container	{{ RetrieveUEContextFailure-IEs}},
	...
}

RetrieveUEContextFailure-IEs X2AP-PROTOCOL-IES ::= {
	{ ID id-New-eNB-UE-X2AP-ID				CRITICALITY ignore	TYPE UE-X2AP-ID					PRESENCE mandatory}|
	{ ID id-New-eNB-UE-X2AP-ID-Extension	CRITICALITY ignore	TYPE UE-X2AP-ID-Extension		PRESENCE optional}|
	{ ID id-Cause							CRITICALITY ignore	TYPE Cause						PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional},
	...
}

END


-- **************************************************************
--
-- Information Element Definitions
--
-- **************************************************************

X2AP-IEs {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-IEs (2) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS

	id-E-RAB-Item,
	id-Number-of-Antennaports,
	id-MBSFN-Subframe-Info,
	id-PRACH-Configuration,
	id-CSG-Id,
	id-MDTConfiguration,
	id-SignallingBasedMDTPLMNList,
	id-MultibandInfoList,
	id-FreqBandIndicatorPriority,
	id-NeighbourTAC,
	id-Time-UE-StayedInCell-EnhancedGranularity,
	id-MBMS-Service-Area-List,
	id-HO-cause,
	id-eARFCNExtension,
	id-DL-EARFCNExtension,
	id-UL-EARFCNExtension,
	id-M3Configuration,
	id-M4Configuration,
	id-M5Configuration,
	id-MDT-Location-Info,
	id-AdditionalSpecialSubframe-Info,
	id-UEID,
	id-enhancedRNTP,
	id-ProSeUEtoNetworkRelaying,
	id-M6Configuration,
	id-M7Configuration,
	id-OffsetOfNbiotChannelNumberToDL-EARFCN,
	id-OffsetOfNbiotChannelNumberToUL-EARFCN,
	id-AdditionalSpecialSubframeExtension-Info,
	id-BandwidthReducedSI,
	id-DL-scheduling-PDCCH-CCE-usage,
	id-UL-scheduling-PDCCH-CCE-usage,
	maxnoofBearers,
	maxCellineNB,
	maxEARFCN,
	maxEARFCNPlusOne,
	newmaxEARFCN,
	maxInterfaces,

	maxnoofBands,
	maxnoofBPLMNs,
	maxnoofCells,
	maxnoofEPLMNs,
	maxnoofEPLMNsPlusOne,
	maxnoofForbLACs,
	maxnoofForbTACs,
	maxnoofNeighbours,
	maxnoofPRBs,
	maxNrOfErrors,
	maxPools,
	maxnoofMBSFN,
	maxnoofTAforMDT,
	maxnoofCellIDforMDT,
	maxnoofMBMSServiceAreaIdentities,
	maxnoofMDTPLMNs,
	maxnoofCoMPHypothesisSet,
	maxnoofCoMPCells,
	maxUEReport,
	maxCellReport,
	maxnoofPA,
	maxCSIProcess,
	maxCSIReport,
	maxSubband

FROM X2AP-Constants

	Criticality,
	ProcedureCode,
	ProtocolIE-ID,
	TriggeringMessage
FROM X2AP-CommonDataTypes

	ProtocolExtensionContainer{},
	ProtocolIE-Single-Container{},

	X2AP-PROTOCOL-EXTENSION,
	X2AP-PROTOCOL-IES
FROM X2AP-Containers;

-- A

ABSInformation ::= CHOICE {
	fdd					ABSInformationFDD,
	tdd					ABSInformationTDD,
	abs-inactive		NULL,
	...
}

ABSInformationFDD ::= SEQUENCE {
	abs-pattern-info					BIT STRING (SIZE(40)),
	numberOfCellSpecificAntennaPorts	ENUMERATED {one, two, four, ...},
	measurement-subset					BIT STRING (SIZE(40)),
	iE-Extensions						ProtocolExtensionContainer { { ABSInformationFDD-ExtIEs} } OPTIONAL,
	...
}

ABSInformationFDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ABSInformationTDD ::= SEQUENCE {
	abs-pattern-info					BIT STRING (SIZE(1..70, ...)),
	numberOfCellSpecificAntennaPorts	ENUMERATED {one, two, four, ...},
	measurement-subset					BIT STRING (SIZE(1..70, ...)),
	iE-Extensions						ProtocolExtensionContainer { { ABSInformationTDD-ExtIEs} } OPTIONAL,
	...
}

ABSInformationTDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ABS-Status ::= SEQUENCE {
	dL-ABS-status								DL-ABS-status,
	usableABSInformation						UsableABSInformation,
	iE-Extensions								ProtocolExtensionContainer { {ABS-Status-ExtIEs} } OPTIONAL,
	...
}

ABS-Status-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

AdditionalSpecialSubframe-Info ::=		SEQUENCE {
	additionalspecialSubframePatterns		AdditionalSpecialSubframePatterns,
	cyclicPrefixDL							CyclicPrefixDL,
	cyclicPrefixUL							CyclicPrefixUL,
	iE-Extensions							ProtocolExtensionContainer { { AdditionalSpecialSubframe-Info-ExtIEs} } OPTIONAL,
	...
}

AdditionalSpecialSubframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

AdditionalSpecialSubframePatterns ::= ENUMERATED {
	ssp0,
	ssp1,
	ssp2,
	ssp3,
	ssp4,
	ssp5,
	ssp6,
	ssp7,
	ssp8,
	ssp9,
	...
}

AdditionalSpecialSubframeExtension-Info ::=		SEQUENCE {
	additionalspecialSubframePatternsExtension	AdditionalSpecialSubframePatternsExtension,
	cyclicPrefixDL								CyclicPrefixDL,
	cyclicPrefixUL								CyclicPrefixUL,
	iE-Extensions								ProtocolExtensionContainer { { AdditionalSpecialSubframeExtension-Info-ExtIEs} } OPTIONAL,
	...
}

AdditionalSpecialSubframeExtension-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

AdditionalSpecialSubframePatternsExtension ::= ENUMERATED {
	ssp10,
	...
}

AllocationAndRetentionPriority ::= SEQUENCE {
	priorityLevel				PriorityLevel,
	pre-emptionCapability		Pre-emptionCapability,
	pre-emptionVulnerability	Pre-emptionVulnerability,
	iE-Extensions				ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
	...
}

AllocationAndRetentionPriority-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

AreaScopeOfMDT ::= CHOICE {
	cellBased					CellBasedMDT,
	tABased						TABasedMDT,
	pLMNWide					NULL,
	...,
	tAIBased					TAIBasedMDT
}

AS-SecurityInformation ::= SEQUENCE {
	key-eNodeB-star		Key-eNodeB-Star,
	nextHopChainingCount			NextHopChainingCount,
	iE-Extensions						ProtocolExtensionContainer { { AS-SecurityInformation-ExtIEs} } OPTIONAL,
	...
}

AS-SecurityInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}


-- B

BandwidthReducedSI::= ENUMERATED {
	scheduled,
	...
}

BearerType ::= ENUMERATED {
	non-IP,
	...
}

BenefitMetric ::= INTEGER (-101..100, ...)

BitRate ::= INTEGER (0..10000000000)
BroadcastPLMNs-Item ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF PLMN-Identity


-- C

CapacityValue ::= INTEGER (0..100)

Cause ::= CHOICE {
	radioNetwork		CauseRadioNetwork,
	transport			CauseTransport,
	protocol			CauseProtocol,
	misc				CauseMisc,
	...
}

CauseMisc ::= ENUMERATED {
	control-processing-overload,
	hardware-failure,
	om-intervention,
	not-enough-user-plane-processing-resources,
	unspecified,
	...
}

CauseProtocol ::= ENUMERATED {
	transfer-syntax-error,
	abstract-syntax-error-reject,
	abstract-syntax-error-ignore-and-notify,
	message-not-compatible-with-receiver-state,
	semantic-error,
	unspecified,
	abstract-syntax-error-falsely-constructed-message,
	...
}

CauseRadioNetwork ::= ENUMERATED {
	handover-desirable-for-radio-reasons,
	time-critical-handover,
	resource-optimisation-handover,
	reduce-load-in-serving-cell,
	partial-handover,
	unknown-new-eNB-UE-X2AP-ID,
	unknown-old-eNB-UE-X2AP-ID,
	unknown-pair-of-UE-X2AP-ID,
	ho-target-not-allowed,
	tx2relocoverall-expiry,
	trelocprep-expiry,
	cell-not-available,
	no-radio-resources-available-in-target-cell,
	invalid-MME-GroupID,
	unknown-MME-Code,
	encryption-and-or-integrity-protection-algorithms-not-supported,
	reportCharacteristicsEmpty,
	noReportPeriodicity,
	existingMeasurementID,
	unknown-eNB-Measurement-ID,
	measurement-temporarily-not-available,
	unspecified,
	...,
	load-balancing,
	handover-optimisation,
	value-out-of-allowed-range,
	multiple-E-RAB-ID-instances,
	switch-off-ongoing,
	not-supported-QCI-value,
	measurement-not-supported-for-the-object,
	tDCoverall-expiry,
	tDCprep-expiry,
	action-desirable-for-radio-reasons,
	reduce-load,
	resource-optimisation,
	time-critical-action,
	target-not-allowed,
	no-radio-resources-available,
	invalid-QoS-combination,
	encryption-algorithms-not-aupported,
	procedure-cancelled,
	rRM-purpose,
	improve-user-bit-rate,
	user-inactivity,
	radio-connection-with-UE-lost,
	failure-in-the-radio-interface-procedure,
	bearer-option-not-supported

}

CauseTransport ::= ENUMERATED {
	transport-resource-unavailable,
	unspecified,
	...
}

CellBasedMDT::= SEQUENCE {
	cellIdListforMDT	CellIdListforMDT,
	iE-Extensions		ProtocolExtensionContainer { {CellBasedMDT-ExtIEs} } OPTIONAL,
	...
}

CellBasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CellCapacityClassValue ::= INTEGER (1..100, ...)

CellDeploymentStatusIndicator ::= ENUMERATED {pre-change-notification, ...}

CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF ECGI

CellReplacingInfo ::= SEQUENCE {
	replacingCellsList				ReplacingCellsList,
	iE-Extensions					ProtocolExtensionContainer { { CellReplacingInfo-ExtIEs}}	OPTIONAL,
	...
}

CellReplacingInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CellReportingIndicator ::= ENUMERATED {stop-request, ... }

Cell-Size ::= ENUMERATED {verysmall, small, medium, large, ... }


CellType ::= SEQUENCE {
	cell-Size						Cell-Size,
	iE-Extensions					ProtocolExtensionContainer { { CellType-ExtIEs}}	OPTIONAL,
	...
}

CellType-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CoMPHypothesisSet ::= SEQUENCE (SIZE(1..maxnoofCoMPCells)) OF CoMPHypothesisSetItem

CoMPHypothesisSetItem ::= SEQUENCE {
	coMPCellID						ECGI,
	coMPHypothesis					BIT STRING (SIZE(6..4400, ...)),
	iE-Extensions					ProtocolExtensionContainer { { CoMPHypothesisSetItem-ExtIEs} } OPTIONAL,
	...
}

CoMPHypothesisSetItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CoMPInformation ::= SEQUENCE {
	coMPInformationItem						CoMPInformationItem,
	coMPInformationStartTime				CoMPInformationStartTime,
	iE-Extensions							ProtocolExtensionContainer { { CoMPInformation-ExtIEs} } OPTIONAL,
	...
}

CoMPInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CoMPInformationItem ::= SEQUENCE (SIZE(1..maxnoofCoMPHypothesisSet)) OF
	SEQUENCE {
		coMPHypothesisSet					CoMPHypothesisSet,
		benefitMetric						BenefitMetric,
		iE-Extensions						ProtocolExtensionContainer { { CoMPInformationItem-ExtIEs} } OPTIONAL,
		...
	}

CoMPInformationItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CoMPInformationStartTime ::= SEQUENCE (SIZE(0..1)) OF
	SEQUENCE {
		startSFN							INTEGER (0..1023, ...),
		startSubframeNumber					INTEGER (0..9, ...),
		iE-Extensions						ProtocolExtensionContainer { { CoMPInformationStartTime-ExtIEs} } OPTIONAL,
		...
	}

CoMPInformationStartTime-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CompositeAvailableCapacity ::= SEQUENCE {
	cellCapacityClassValue							CellCapacityClassValue				OPTIONAL,
	capacityValue									CapacityValue,
	iE-Extensions									ProtocolExtensionContainer { { CompositeAvailableCapacity-ExtIEs} } OPTIONAL,
	...
}

CompositeAvailableCapacity-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CompositeAvailableCapacityGroup	::= SEQUENCE {
	dL-CompositeAvailableCapacity					CompositeAvailableCapacity,
	uL-CompositeAvailableCapacity					CompositeAvailableCapacity,
	iE-Extensions									ProtocolExtensionContainer { { CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL,
	...
}

CompositeAvailableCapacityGroup-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

Correlation-ID ::= OCTET STRING (SIZE (4))

COUNTvalue ::= SEQUENCE {
	pDCP-SN					PDCP-SN,
	hFN						HFN,
	iE-Extensions			ProtocolExtensionContainer { { COUNTvalue-ExtIEs} } OPTIONAL,
	...
}

COUNTvalue-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

COUNTValueExtended ::= SEQUENCE {
	pDCP-SNExtended			PDCP-SNExtended,
	hFNModified				HFNModified,
	iE-Extensions			ProtocolExtensionContainer { { COUNTValueExtended-ExtIEs} } OPTIONAL,
	...
}

COUNTValueExtended-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

COUNTvaluePDCP-SNlength18 ::= SEQUENCE {
	pDCP-SNlength18			PDCP-SNlength18,
	hFNforPDCP-SNlength18	HFNforPDCP-SNlength18,
	iE-Extensions			ProtocolExtensionContainer { { COUNTvaluePDCP-SNlength18-ExtIEs} } OPTIONAL,
	...
}

COUNTvaluePDCP-SNlength18-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CoverageModificationList ::= SEQUENCE (SIZE (1..maxCellineNB)) OF CoverageModification-Item

CoverageModification-Item ::= SEQUENCE {
	eCGI							ECGI,
	coverageState					INTEGER (0..15, ...),
	cellDeploymentStatusIndicator	CellDeploymentStatusIndicator			OPTIONAL,
	cellReplacingInfo				CellReplacingInfo						OPTIONAL,
-- Included in case the Cell Deployment Status Indicator IE is present
	...
}

CriticalityDiagnostics ::= SEQUENCE {
	procedureCode					ProcedureCode					OPTIONAL,
	triggeringMessage				TriggeringMessage				OPTIONAL,
	procedureCriticality			Criticality						OPTIONAL,
	iEsCriticalityDiagnostics		CriticalityDiagnostics-IE-List	OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} }	OPTIONAL,
	...
}


CriticalityDiagnostics-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
	SEQUENCE {
		iECriticality			Criticality,
		iE-ID					ProtocolIE-ID,
		typeOfError				TypeOfError,
		iE-Extensions			ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
		...
}

CriticalityDiagnostics-IE-List-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CRNTI ::= BIT STRING (SIZE (16))

CSGMembershipStatus ::= ENUMERATED {
	member,
	not-member
}

CSG-Id ::= BIT STRING (SIZE (27))

CSIReportList ::= SEQUENCE (SIZE(1..maxUEReport)) OF
	SEQUENCE {
		uEID							UEID,
		cSIReportPerCSIProcess			CSIReportPerCSIProcess,
		iE-Extensions					ProtocolExtensionContainer { { CSIReportList-ExtIEs} } OPTIONAL,
		...
	}

CSIReportList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CSIReportPerCSIProcess ::= SEQUENCE (SIZE(1.. maxCSIProcess)) OF
	SEQUENCE {
		cSIProcessConfigurationIndex	INTEGER (1..7, ...),
		cSIReportPerCSIProcessItem		CSIReportPerCSIProcessItem,
		iE-Extensions					ProtocolExtensionContainer { { CSIReportPerCSIProcess-ExtIEs} } OPTIONAL,
		...
	}

CSIReportPerCSIProcess-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CSIReportPerCSIProcessItem ::= SEQUENCE (SIZE(1.. maxCSIReport)) OF
	SEQUENCE {
		rI								INTEGER (1..8, ...),
		widebandCQI						WidebandCQI,
		subbandSize						SubbandSize,
		subbandCQIList					SubbandCQIList	OPTIONAL,
		iE-Extensions					ProtocolExtensionContainer { { CSIReportPerCSIProcessItem-ExtIEs} } OPTIONAL,
		...
	}

CSIReportPerCSIProcessItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

CyclicPrefixDL ::= ENUMERATED {
	normal,
	extended,
	...
}

CyclicPrefixUL ::= ENUMERATED {
	normal,
	extended,
	...
}


-- D

DeactivationIndication::= ENUMERATED {
	deactivated,
	...
}

DL-ABS-status::= INTEGER (0..100)

DL-Forwarding ::= ENUMERATED {
	dL-forwardingProposed,
	...
}

DL-GBR-PRB-usage::= INTEGER (0..100)

DL-non-GBR-PRB-usage::= INTEGER (0..100)

DL-scheduling-PDCCH-CCE-usage::= INTEGER (0..100)

DL-Total-PRB-usage::= INTEGER (0..100)

DynamicDLTransmissionInformation ::= CHOICE {
	naics-active			DynamicNAICSInformation,
	naics-inactive			NULL,
	...
}

DynamicNAICSInformation ::= SEQUENCE {
	transmissionModes					BIT STRING (SIZE(8))												OPTIONAL,
	pB-information						INTEGER(0..3)														OPTIONAL,
	pA-list								SEQUENCE (SIZE(0..maxnoofPA)) OF PA-Values,
	iE-Extensions						ProtocolExtensionContainer { {DynamicNAICSInformation-ExtIEs} } OPTIONAL,
	...
}

DynamicNAICSInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- E

EARFCN ::= INTEGER (0..maxEARFCN)

EARFCNExtension ::= INTEGER(maxEARFCNPlusOne..newmaxEARFCN, ...)

ECGI ::= SEQUENCE {
	pLMN-Identity				PLMN-Identity,
	eUTRANcellIdentifier		EUTRANCellIdentifier,
	iE-Extensions				ProtocolExtensionContainer { {ECGI-ExtIEs} } OPTIONAL,
	...
}

ECGI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

EnhancedRNTP ::= SEQUENCE {
	enhancedRNTPBitmap			BIT STRING (SIZE(12..8800, ...)),
	rNTP-High-Power-Threshold	RNTP-Threshold,
	enhancedRNTPStartTime		EnhancedRNTPStartTime  OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { { EnhancedRNTP-ExtIEs} } OPTIONAL,
	...
}

EnhancedRNTP-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

EnhancedRNTPStartTime ::= SEQUENCE {
		startSFN				INTEGER (0..1023, ...),
		startSubframeNumber		INTEGER (0..9, ...),
		iE-Extensions			ProtocolExtensionContainer { { EnhancedRNTPStartTime-ExtIEs} } OPTIONAL,
		...
	}

EnhancedRNTPStartTime-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ENB-ID ::= CHOICE {
	macro-eNB-ID	BIT STRING (SIZE (20)),
	home-eNB-ID		BIT STRING (SIZE (28)),
	... ,
	short-Macro-eNB-ID		BIT STRING (SIZE(18)),
	long-Macro-eNB-ID		BIT STRING (SIZE(21))
}

EncryptionAlgorithms ::= BIT STRING (SIZE (16, ...))

EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMN-Identity

E-RAB-ID ::= INTEGER (0..15, ...)

E-RAB-Level-QoS-Parameters ::= SEQUENCE {
	qCI								QCI,
	allocationAndRetentionPriority	AllocationAndRetentionPriority,
	gbrQosInformation				GBR-QosInformation													OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { { E-RAB-Level-QoS-Parameters-ExtIEs} }	OPTIONAL,
	...
}

E-RAB-Level-QoS-Parameters-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RAB-List ::= SEQUENCE (SIZE(1.. maxnoofBearers)) OF ProtocolIE-Single-Container { {E-RAB-ItemIEs} }

E-RAB-ItemIEs 	X2AP-PROTOCOL-IES ::= {
	{ ID id-E-RAB-Item	 CRITICALITY ignore 	TYPE E-RAB-Item 	PRESENCE mandatory },
	...
}

E-RAB-Item ::= SEQUENCE {
	e-RAB-ID				E-RAB-ID,
	cause						Cause,
	iE-Extensions				ProtocolExtensionContainer { {E-RAB-Item-ExtIEs} } OPTIONAL,
	...
}

E-RAB-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

EUTRA-Mode-Info ::= CHOICE {
	fDD		FDD-Info,
	tDD		TDD-Info,
	...
}

EUTRANCellIdentifier ::= BIT STRING (SIZE (28))

EUTRANTraceID		::= OCTET STRING (SIZE (8))

EventType ::= ENUMERATED{
	change-of-serving-cell,
	...
}

ExpectedUEBehaviour ::= SEQUENCE {
	expectedActivity		ExpectedUEActivityBehaviour OPTIONAL,
	expectedHOInterval		ExpectedHOInterval			OPTIONAL,
	iE-Extensions			ProtocolExtensionContainer { { ExpectedUEBehaviour-ExtIEs} } OPTIONAL,
	...
}

ExpectedUEBehaviour-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ExpectedUEActivityBehaviour ::= SEQUENCE {
	expectedActivityPeriod					ExpectedActivityPeriod					OPTIONAL,
	expectedIdlePeriod						ExpectedIdlePeriod						OPTIONAL,
	sourceofUEActivityBehaviourInformation	SourceOfUEActivityBehaviourInformation	OPTIONAL,
	iE-Extensions		ProtocolExtensionContainer { { ExpectedUEActivityBehaviour-ExtIEs} } OPTIONAL,
	...
}

ExpectedUEActivityBehaviour-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ExpectedActivityPeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)

ExpectedIdlePeriod ::= INTEGER (1..30|40|50|60|80|100|120|150|180|181,...)

ExpectedHOInterval ::= ENUMERATED {
	sec15, sec30, sec60, sec90, sec120, sec180, long-time,
	...
}

ExtendedULInterferenceOverloadInfo ::= SEQUENCE {
	associatedSubframes							BIT STRING (SIZE (5)),
	extended-ul-InterferenceOverloadIndication	UL-InterferenceOverloadIndication,
	iE-Extensions								ProtocolExtensionContainer { { ExtendedULInterferenceOverloadInfo-ExtIEs} } OPTIONAL,
	...
}

ExtendedULInterferenceOverloadInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- F

FDD-Info ::= SEQUENCE {
	uL-EARFCN						EARFCN,
	dL-EARFCN						EARFCN,
	uL-Transmission-Bandwidth		Transmission-Bandwidth,
	dL-Transmission-Bandwidth		Transmission-Bandwidth,
	iE-Extensions				ProtocolExtensionContainer { {FDD-Info-ExtIEs} } OPTIONAL,
	...
}

FDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-UL-EARFCNExtension		CRITICALITY reject	EXTENSION EARFCNExtension		PRESENCE optional}|
	{ ID id-DL-EARFCNExtension		CRITICALITY reject	EXTENSION EARFCNExtension		PRESENCE optional}|
	{ ID id-OffsetOfNbiotChannelNumberToDL-EARFCN	CRITICALITY reject	EXTENSION OffsetOfNbiotChannelNumberToEARFCN		PRESENCE optional}|
	{ ID id-OffsetOfNbiotChannelNumberToUL-EARFCN	CRITICALITY reject	EXTENSION OffsetOfNbiotChannelNumberToEARFCN		PRESENCE optional},
	...
}

ForbiddenInterRATs ::= ENUMERATED {
	all,
	geran,
	utran,
	cdma2000,
	...,
	geranandutran,
	cdma2000andutran

}

ForbiddenTAs ::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF ForbiddenTAs-Item

ForbiddenTAs-Item ::= SEQUENCE {
	pLMN-Identity		PLMN-Identity,
	forbiddenTACs		ForbiddenTACs,
	iE-Extensions		ProtocolExtensionContainer { {ForbiddenTAs-Item-ExtIEs} } OPTIONAL,
	...
}

ForbiddenTAs-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ForbiddenTACs ::= SEQUENCE (SIZE(1..maxnoofForbTACs)) OF TAC

ForbiddenLAs ::= SEQUENCE (SIZE(1..maxnoofEPLMNsPlusOne)) OF ForbiddenLAs-Item

ForbiddenLAs-Item ::= SEQUENCE {
	pLMN-Identity		PLMN-Identity,
	forbiddenLACs		ForbiddenLACs,
	iE-Extensions		ProtocolExtensionContainer { {ForbiddenLAs-Item-ExtIEs} } OPTIONAL,
	...
}

ForbiddenLAs-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ForbiddenLACs ::= SEQUENCE (SIZE(1..maxnoofForbLACs)) OF LAC

Fourframes ::= BIT STRING (SIZE (24))

FreqBandIndicator ::= INTEGER (1..256, ...)

FreqBandIndicatorPriority ::= ENUMERATED {
	not-broadcasted,
	broadcasted,
	...
}

-- G

GBR-QosInformation ::= SEQUENCE {
	e-RAB-MaximumBitrateDL			BitRate,
	e-RAB-MaximumBitrateUL			BitRate,
	e-RAB-GuaranteedBitrateDL		BitRate,
	e-RAB-GuaranteedBitrateUL		BitRate,
	iE-Extensions					ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
	...
}

GBR-QosInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

GlobalENB-ID ::= SEQUENCE {
	pLMN-Identity			PLMN-Identity,
	eNB-ID					ENB-ID,
	iE-Extensions			ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
	...
}

GlobalENB-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

GTPtunnelEndpoint ::= SEQUENCE {
	transportLayerAddress			TransportLayerAddress,
	gTP-TEID						GTP-TEI,
	iE-Extensions					ProtocolExtensionContainer { {GTPtunnelEndpoint-ExtIEs} } OPTIONAL,
	...
}

GTPtunnelEndpoint-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

GTP-TEI					::= OCTET STRING (SIZE (4))

GUGroupIDList		::= SEQUENCE (SIZE (1..maxPools)) OF GU-Group-ID


GU-Group-ID			::= SEQUENCE {
	pLMN-Identity		PLMN-Identity,
	mME-Group-ID		MME-Group-ID,
	iE-Extensions		ProtocolExtensionContainer { {GU-Group-ID-ExtIEs} } OPTIONAL,
	...
}

GU-Group-ID-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}


GUMMEI			::= SEQUENCE {

	gU-Group-ID		GU-Group-ID,
	mME-Code			MME-Code,
	iE-Extensions					ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
	...
}

GUMMEI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}



-- H

HandoverReportType ::= ENUMERATED {
	hoTooEarly,
	hoToWrongCell,
	...,
	interRATpingpong
}

HandoverRestrictionList ::= SEQUENCE {
	servingPLMN					PLMN-Identity,
	equivalentPLMNs				EPLMNs					OPTIONAL,
	forbiddenTAs				ForbiddenTAs			OPTIONAL,
	forbiddenLAs				ForbiddenLAs			OPTIONAL,
	forbiddenInterRATs			ForbiddenInterRATs		OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} }	OPTIONAL,
	...
}

HandoverRestrictionList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

HFN ::= INTEGER (0..1048575)

HFNModified ::= INTEGER (0..131071)

HFNforPDCP-SNlength18 ::= INTEGER (0..16383)

HWLoadIndicator ::= SEQUENCE {
	dLHWLoadIndicator			LoadIndicator,
	uLHWLoadIndicator			LoadIndicator,
	iE-Extensions				ProtocolExtensionContainer { { HWLoadIndicator-ExtIEs} } OPTIONAL,
	...
}

HWLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}


-- I

IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16, ...))

InterfacesToTrace ::= BIT STRING (SIZE (8))

InvokeIndication ::= ENUMERATED{
	abs-information,
	...,
	naics-information-start,
	naics-information-stop
}

-- J
-- K

Key-eNodeB-Star ::= BIT STRING (SIZE(256))

-- L

LAC					::= OCTET STRING (SIZE (2)) --(EXCEPT ('0000'H|'FFFE'H))

LastVisitedCell-Item ::= CHOICE {
	e-UTRAN-Cell					LastVisitedEUTRANCellInformation,
	uTRAN-Cell						LastVisitedUTRANCellInformation,
	gERAN-Cell						LastVisitedGERANCellInformation,
	...
}

LastVisitedEUTRANCellInformation ::= SEQUENCE {
	global-Cell-ID					ECGI,
	cellType						CellType,
	time-UE-StayedInCell			Time-UE-StayedInCell,
	iE-Extensions					ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
	...
}

LastVisitedEUTRANCellInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell --
	{ ID id-Time-UE-StayedInCell-EnhancedGranularity	CRITICALITY ignore	EXTENSION Time-UE-StayedInCell-EnhancedGranularity	PRESENCE optional}|
	{ ID id-HO-cause									CRITICALITY ignore	EXTENSION Cause							PRESENCE optional},
	...
}

LastVisitedGERANCellInformation ::= CHOICE {
	undefined						NULL,
	...
}

LastVisitedUTRANCellInformation	::= OCTET STRING

LHN-ID ::=  OCTET STRING(SIZE (32..256))

Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}

LoadIndicator ::= ENUMERATED {
	lowLoad,
	mediumLoad,
	highLoad,
	overLoad,
	...
}

LocationReportingInformation ::= SEQUENCE {
	eventType		EventType,
	reportArea		ReportArea,
	iE-Extensions		ProtocolExtensionContainer { {LocationReportingInformation-ExtIEs} } OPTIONAL,
	...
}

LocationReportingInformation-ExtIEs X2AP-PROTOCOL-EXTENSION ::={
	...
}

-- M

M1PeriodicReporting ::= SEQUENCE {
	reportInterval				ReportIntervalMDT,
	reportAmount				ReportAmountMDT,
	iE-Extensions				ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL,
	...
}

M1PeriodicReporting-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

M1ReportingTrigger::= ENUMERATED{
	periodic,
	a2eventtriggered,
	...,
	a2eventtriggered-periodic
}

M1ThresholdEventA2 ::= SEQUENCE {
	measurementThreshold		MeasurementThresholdA2,
	iE-Extensions				ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL,
	...
}

M1ThresholdEventA2-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

M3Configuration ::= SEQUENCE {
	m3period			M3period,
	iE-Extensions		ProtocolExtensionContainer { { M3Configuration-ExtIEs} } OPTIONAL,
	...
}

M3Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

M3period ::= ENUMERATED {ms100, ms1000, ms10000, ... }

M4Configuration ::= SEQUENCE {
	m4period			M4period,
	m4-links-to-log		Links-to-log,
	iE-Extensions		ProtocolExtensionContainer { { M4Configuration-ExtIEs} } OPTIONAL,
	...
}

M4Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }


M5Configuration ::= SEQUENCE {
	m5period			M5period,
	m5-links-to-log		Links-to-log,
	iE-Extensions		ProtocolExtensionContainer { { M5Configuration-ExtIEs} } OPTIONAL,
	...
}

M5Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }

M6Configuration ::= SEQUENCE {
	m6report-interval	M6report-interval,
	m6delay-threshold	M6delay-threshold	OPTIONAL,
-- This IE shall be present if the M6 Links to log IE is set to “uplink” or to “both-uplink-and-downlink” --
	m6-links-to-log		Links-to-log,
	iE-Extensions		ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
	...
}

M6Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

M6report-interval ::= ENUMERATED { ms1024, ms2048, ms5120, ms10240, ... }

M6delay-threshold ::= ENUMERATED { ms30, ms40, ms50, ms60, ms70, ms80, ms90, ms100, ms150, ms300, ms500, ms750, ... }

M7Configuration ::= SEQUENCE {
	m7period			M7period,
	m7-links-to-log		Links-to-log,
	iE-Extensions		ProtocolExtensionContainer { { M7Configuration-ExtIEs} } OPTIONAL,
	...
}

M7Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

M7period ::= INTEGER(1..60, ...)

MakeBeforeBreakIndicator::= ENUMERATED {true, ...}

ManagementBasedMDTallowed ::= ENUMERATED {allowed, ...}

Masked-IMEISV ::= BIT STRING (SIZE (64))

MDT-Activation		::= ENUMERATED {
	immediate-MDT-only,
	immediate-MDT-and-Trace,
	...
}

MDT-Configuration ::= SEQUENCE {
	mdt-Activation				MDT-Activation,
	areaScopeOfMDT				AreaScopeOfMDT,
	measurementsToActivate		MeasurementsToActivate,
	m1reportingTrigger			M1ReportingTrigger,
	m1thresholdeventA2			M1ThresholdEventA2			OPTIONAL,
-- Included in case of event-triggered, or event-triggered periodic reporting for measurement M1
	m1periodicReporting			M1PeriodicReporting			OPTIONAL,
-- Included in case of periodic, or event-triggered periodic reporting for measurement M1
	iE-Extensions				ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
	...
}

MDT-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ID id-M3Configuration				CRITICALITY ignore	EXTENSION M3Configuration		PRESENCE conditional}|
	{ID id-M4Configuration				CRITICALITY ignore	EXTENSION M4Configuration		PRESENCE conditional}|
	{ID id-M5Configuration				CRITICALITY ignore	EXTENSION M5Configuration		PRESENCE conditional}|
	{ID id-MDT-Location-Info			CRITICALITY ignore	EXTENSION MDT-Location-Info		PRESENCE optional}|
	{ID id-SignallingBasedMDTPLMNList	CRITICALITY ignore	EXTENSION MDTPLMNList			PRESENCE optional}|
	{ID id-M6Configuration				CRITICALITY ignore	EXTENSION M6Configuration		PRESENCE conditional}|
	{ID id-M7Configuration				CRITICALITY ignore	EXTENSION M7Configuration		PRESENCE conditional},
	...
}

MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMN-Identity

MDT-Location-Info ::= BIT STRING (SIZE (8))

Measurement-ID	::= INTEGER (1..4095, ...)

MeasurementsToActivate::= BIT STRING (SIZE (8))

MeasurementThresholdA2 ::= CHOICE {
	threshold-RSRP				Threshold-RSRP,
	threshold-RSRQ				Threshold-RSRQ,
	...
}

MeNBtoSeNBContainer  ::= OCTET STRING

MME-Group-ID	::= OCTET STRING (SIZE (2))

MME-Code		::= OCTET STRING (SIZE (1))

MBMS-Service-Area-Identity-List ::= SEQUENCE (SIZE(1.. maxnoofMBMSServiceAreaIdentities)) OF MBMS-Service-Area-Identity

MBMS-Service-Area-Identity ::= OCTET STRING (SIZE (2))

MBSFN-Subframe-Infolist::= SEQUENCE (SIZE(1.. maxnoofMBSFN)) OF MBSFN-Subframe-Info

MBSFN-Subframe-Info	::= SEQUENCE {
	radioframeAllocationPeriod		RadioframeAllocationPeriod,
	radioframeAllocationOffset		RadioframeAllocationOffset,
	subframeAllocation				SubframeAllocation,
	iE-Extensions			ProtocolExtensionContainer { { MBSFN-Subframe-Info-ExtIEs } } 	OPTIONAL,
	...
}

MBSFN-Subframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

MobilityParametersModificationRange ::= SEQUENCE {
	handoverTriggerChangeLowerLimit		INTEGER (-20..20),
	handoverTriggerChangeUpperLimit		INTEGER (-20..20),
	...
}

MobilityParametersInformation ::= SEQUENCE {
	handoverTriggerChange			INTEGER (-20..20),
	...
}

MultibandInfoList ::= SEQUENCE (SIZE(1..maxnoofBands)) OF BandInfo


BandInfo	::= SEQUENCE {
	freqBandIndicator		FreqBandIndicator,
	iE-Extensions			ProtocolExtensionContainer { { BandInfo-ExtIEs } } 	OPTIONAL,
	...
}

BandInfo-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

-- N

Neighbour-Information ::= SEQUENCE (SIZE (0..maxnoofNeighbours)) OF SEQUENCE {
	eCGI						ECGI,
	pCI					 		PCI,
	eARFCN						EARFCN,
	iE-Extensions		 ProtocolExtensionContainer { {Neighbour-Information-ExtIEs} } OPTIONAL,
	...
}

Neighbour-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-NeighbourTAC		CRITICALITY ignore	EXTENSION TAC				PRESENCE optional}|
	{ ID id-eARFCNExtension		CRITICALITY reject	EXTENSION EARFCNExtension	PRESENCE optional},
	...
}

NextHopChainingCount ::= INTEGER (0..7)

Number-of-Antennaports ::= ENUMERATED {
		an1,
	 	an2,
		an4,
		...
}

-- O

OffsetOfNbiotChannelNumberToEARFCN ::= ENUMERATED {
		minusTen,
		minusNine,
		minusEight,
		minusSeven,
		minusSix,
		minusFive,
		minusFour,
		minusThree,
		minusTwo,
		minusOne,
		minusZeroDotFive,
		zero,
		one,
		two,
		three,
		four,
		five,
		six,
		seven,
		eight,
		nine,
		...
}

Oneframe ::= BIT STRING (SIZE (6))

-- P

PA-Values ::= ENUMERATED {
	dB-6,
	dB-4dot77,
	dB-3,
	dB-1dot77,
	dB0,
	dB1,
	dB2,
	dB3,
	...
}

PDCP-SN ::= INTEGER (0..4095)

PDCP-SNExtended ::= INTEGER (0..32767)

PDCP-SNlength18 ::= INTEGER (0..262143)

PCI ::= INTEGER (0..503, ...)

PLMN-Identity ::= OCTET STRING (SIZE(3))

Port-Number ::= OCTET STRING (SIZE (2))

PRACH-Configuration ::= SEQUENCE {
	rootSequenceIndex						INTEGER (0..837),
	zeroCorrelationIndex					INTEGER (0..15),
	highSpeedFlag							BOOLEAN,
	prach-FreqOffset						INTEGER (0..94),
	prach-ConfigIndex						INTEGER (0..63)		OPTIONAL,  -- present for TDD --
	iE-Extensions							ProtocolExtensionContainer { {PRACH-Configuration-ExtIEs} }	OPTIONAL,
	...
}

PRACH-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

Pre-emptionCapability ::= ENUMERATED {
	shall-not-trigger-pre-emption,
	may-trigger-pre-emption
}

Pre-emptionVulnerability ::= ENUMERATED {
	not-pre-emptable,
	pre-emptable
}

PriorityLevel				::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)

ProSeAuthorized ::= SEQUENCE {
	proSeDirectDiscovery		ProSeDirectDiscovery			OPTIONAL,
	proSeDirectCommunication	ProSeDirectCommunication		OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { {ProSeAuthorized-ExtIEs} }	OPTIONAL,
	...
}

ProSeAuthorized-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-ProSeUEtoNetworkRelaying	CRITICALITY ignore	EXTENSION ProSeUEtoNetworkRelaying		PRESENCE optional},
	...
}

ProSeDirectDiscovery ::= ENUMERATED {
	authorized,
	not-authorized,
	...
}

ProSeDirectCommunication ::= ENUMERATED {
	authorized,
	not-authorized,
	...
}

ProSeUEtoNetworkRelaying ::= ENUMERATED {
	authorized,
	not-authorized,
	...
}

-- Q

QCI ::= INTEGER (0..255)

-- R

RadioframeAllocationOffset ::= INTEGER (0..7, ...)

RadioframeAllocationPeriod ::= ENUMERATED{
	n1,
	n2,
	n4,
	n8,
	n16,
	n32,
	...
}


RadioResourceStatus	::= SEQUENCE {
	dL-GBR-PRB-usage							DL-GBR-PRB-usage,
	uL-GBR-PRB-usage							UL-GBR-PRB-usage,
	dL-non-GBR-PRB-usage						DL-non-GBR-PRB-usage,
	uL-non-GBR-PRB-usage						UL-non-GBR-PRB-usage,
	dL-Total-PRB-usage							DL-Total-PRB-usage,
	uL-Total-PRB-usage							UL-Total-PRB-usage,
	iE-Extensions								ProtocolExtensionContainer { {RadioResourceStatus-ExtIEs} } OPTIONAL,
	...
}

RadioResourceStatus-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ID id-DL-scheduling-PDCCH-CCE-usage		CRITICALITY ignore	EXTENSION DL-scheduling-PDCCH-CCE-usage		PRESENCE optional}|

	{ID id-UL-scheduling-PDCCH-CCE-usage		CRITICALITY ignore	EXTENSION UL-scheduling-PDCCH-CCE-usage		PRESENCE optional},
	...
}

ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096))

ReceiveStatusOfULPDCPSDUsExtended ::= BIT STRING (SIZE(1..16384))

ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 ::= BIT STRING (SIZE(1..131072))

Registration-Request	::= ENUMERATED {
	start,
	stop,
	...,
	partial-stop,
	add
}

RelativeNarrowbandTxPower ::= SEQUENCE {

	rNTP-PerPRB							BIT STRING (SIZE(6..110, ...)),
	rNTP-Threshold						RNTP-Threshold,
	numberOfCellSpecificAntennaPorts	ENUMERATED {one, two, four, ...},
	p-B									INTEGER (0..3,...),
	pDCCH-InterferenceImpact			INTEGER (0..4,...),
	iE-Extensions						ProtocolExtensionContainer { { RelativeNarrowbandTxPower-ExtIEs} } OPTIONAL,
	...
}

RelativeNarrowbandTxPower-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-enhancedRNTP	CRITICALITY ignore	EXTENSION EnhancedRNTP		PRESENCE optional },
	...
}

ReplacingCellsList ::= SEQUENCE (SIZE(0.. maxCellineNB)) OF ReplacingCellsList-Item

ReplacingCellsList-Item ::= SEQUENCE {
	eCGI			ECGI,
	...
}

ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity}

ReportArea ::= ENUMERATED{
	ecgi,
	...
}

ReportCharacteristics	::= BIT STRING (SIZE (32))

ReportingPeriodicityCSIR ::= ENUMERATED {
	ms5,
	ms10,
	ms20,
	ms40,
	ms80,
...
}

ReportingPeriodicityRSRPMR ::= ENUMERATED {
	one-hundred-20-ms,
	two-hundred-40-ms,
	four-hundred-80-ms,
	six-hundred-40-ms,
...
}

ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60}

ResumeID	::= CHOICE {
	non-truncated	BIT STRING(SIZE(40)),
	truncated		BIT STRING(SIZE(24)),
	...
}

RNTP-Threshold ::= ENUMERATED {
	minusInfinity,
	minusEleven,
	minusTen,
	minusNine,
	minusEight,
	minusSeven,
	minusSix,
	minusFive,
	minusFour,
	minusThree,
	minusTwo,
	minusOne,
	zero,
	one,
	two,
	three,
	...
}

RRC-Context ::= OCTET STRING

RRCConnReestabIndicator ::= ENUMERATED {
	reconfigurationFailure, handoverFailure, otherFailure, ...
}
-- The values correspond to the values of ReestablishmentCause reported from the UE in the RRCConnectionReestablishmentRequest, as defined in TS 36.331 [9]

RRCConnSetupIndicator::= ENUMERATED {
	rrcConnSetup,
	...
}

RSRPMeasurementResult ::= SEQUENCE (SIZE(1..maxCellReport)) OF
	SEQUENCE {
		rSRPCellID						ECGI,
		rSRPMeasured					INTEGER (0..97, ...),
		iE-Extensions					ProtocolExtensionContainer { { RSRPMeasurementResult-ExtIEs} } OPTIONAL,
		...
	}

RSRPMeasurementResult-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

RSRPMRList ::= SEQUENCE (SIZE(1..maxUEReport)) OF
	SEQUENCE {
		rSRPMeasurementResult			RSRPMeasurementResult,
		iE-Extensions					ProtocolExtensionContainer { { RSRPMRList-ExtIEs} } OPTIONAL,
		...
	}

RSRPMRList-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-UEID	CRITICALITY ignore	EXTENSION UEID		PRESENCE optional},
	...
}

-- S

S1TNLLoadIndicator ::= SEQUENCE {
	dLS1TNLLoadIndicator			LoadIndicator,
	uLS1TNLLoadIndicator			LoadIndicator,
	iE-Extensions					ProtocolExtensionContainer { { S1TNLLoadIndicator-ExtIEs} } OPTIONAL,
	...
}

S1TNLLoadIndicator-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

SCGChangeIndication ::= ENUMERATED {pDCPCountWrapAround, pSCellChange, other, ...}

SeNBSecurityKey ::= BIT STRING (SIZE(256))

SeNBtoMeNBContainer ::= OCTET STRING


ServedCells ::= SEQUENCE (SIZE (1.. maxCellineNB)) OF SEQUENCE {
	servedCellInfo					ServedCell-Information,
	neighbour-Info					Neighbour-Information			OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {ServedCell-ExtIEs} } OPTIONAL,
	...
}

ServedCell-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

ServedCell-Information ::= SEQUENCE {
	pCI					PCI,
	cellId				ECGI,
	tAC					TAC,
	broadcastPLMNs		BroadcastPLMNs-Item,
	eUTRA-Mode-Info		EUTRA-Mode-Info,
	iE-Extensions		ProtocolExtensionContainer { {ServedCell-Information-ExtIEs} } OPTIONAL,
	...
}

ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-Number-of-Antennaports		CRITICALITY ignore	EXTENSION Number-of-Antennaports				PRESENCE optional}|
	{ ID id-PRACH-Configuration			CRITICALITY ignore	EXTENSION PRACH-Configuration					PRESENCE optional}|
	{ ID id-MBSFN-Subframe-Info			CRITICALITY ignore	EXTENSION MBSFN-Subframe-Infolist				PRESENCE optional}|
	{ ID id-CSG-Id						CRITICALITY ignore	EXTENSION CSG-Id								PRESENCE optional}|
	{ ID id-MBMS-Service-Area-List		CRITICALITY ignore	EXTENSION MBMS-Service-Area-Identity-List	PRESENCE optional}|
	{ ID id-MultibandInfoList			CRITICALITY ignore	EXTENSION MultibandInfoList						PRESENCE optional}|
	{ ID id-FreqBandIndicatorPriority	CRITICALITY ignore	EXTENSION FreqBandIndicatorPriority				PRESENCE optional}|
	{ ID id-BandwidthReducedSI			CRITICALITY ignore	EXTENSION BandwidthReducedSI					PRESENCE optional},
	...
}

SIPTOBearerDeactivationIndication ::= ENUMERATED {
	true,
	...
}

ShortMAC-I ::= BIT STRING (SIZE(16))

SourceOfUEActivityBehaviourInformation ::= ENUMERATED {
	subscription-information,
	statistics,
	...
}

SpecialSubframe-Info ::= SEQUENCE {
	specialSubframePatterns		SpecialSubframePatterns,
	cyclicPrefixDL				CyclicPrefixDL,
	cyclicPrefixUL				CyclicPrefixUL,
	iE-Extensions				ProtocolExtensionContainer { { SpecialSubframe-Info-ExtIEs} } OPTIONAL,
	...
}

SpecialSubframe-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

SpecialSubframePatterns ::= ENUMERATED {
	ssp0,
	ssp1,
	ssp2,
	ssp3,
	ssp4,
	ssp5,
	ssp6,
	ssp7,
	ssp8,
	...
}

SubbandCQI ::= SEQUENCE {
	subbandCQICodeword0			SubbandCQICodeword0,
	subbandCQICodeword1			SubbandCQICodeword1		OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { { SubbandCQI-ExtIEs} } OPTIONAL,
	...
}

SRVCCOperationPossible ::= ENUMERATED {
	possible,
	...
}

SubbandCQI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

SubbandCQICodeword0 ::= CHOICE {
	four-bitCQI						INTEGER (0..15, ...),
	two-bitSubbandDifferentialCQI	INTEGER (0..3, ...),
	two-bitDifferentialCQI			INTEGER (0..3, ...),
	...
}
SubbandCQICodeword1 ::= CHOICE {
	four-bitCQI							INTEGER (0..15, ...),
	three-bitSpatialDifferentialCQI		INTEGER (0..7, ...),
	two-bitSubbandDifferentialCQI		INTEGER (0..3, ...),
	two-bitDifferentialCQI				INTEGER (0..3, ...),
	...
}

SubbandCQIList ::= SEQUENCE (SIZE(1.. maxSubband)) OF SubbandCQIItem

SubbandCQIItem ::= SEQUENCE {
	subbandCQI			SubbandCQI,
	subbandIndex		INTEGER (0..27,...),
	iE-Extensions		ProtocolExtensionContainer { { SubbandCQIItem-ExtIEs} } OPTIONAL,
	...
}

SubbandCQIItem-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

SubbandSize ::= ENUMERATED {
	size2,
	size3,
	size4,
	size6,
	size8,
	...
}

SubscriberProfileIDforRFP ::= INTEGER (1..256)

SubframeAllocation ::= CHOICE {
	oneframe						Oneframe,
	fourframes						Fourframes,
	...
}

SubframeAssignment ::= ENUMERATED {
	sa0,
	sa1,
	sa2,
	sa3,
	sa4,
	sa5,
	sa6,
	...
}


-- T

TABasedMDT::= SEQUENCE {
	tAListforMDT		TAListforMDT,
	iE-Extensions		ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL,
	...
}

TABasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

TAC ::= OCTET STRING (SIZE (2))

TAIBasedMDT ::= SEQUENCE {
	tAIListforMDT			TAIListforMDT,
	iE-Extensions			ProtocolExtensionContainer { {TAIBasedMDT-ExtIEs} } OPTIONAL,
	...
}

TAIBasedMDT-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

TAIListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAI-Item

TAI-Item ::= SEQUENCE {
	tAC					TAC,
	pLMN-Identity		PLMN-Identity,
	iE-Extensions		ProtocolExtensionContainer { { TAI-Item-ExtIEs} } OPTIONAL,
	...
}

TAI-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC

TargetCellInUTRAN ::= OCTET STRING -- This IE is to be encoded according to the UTRAN Cell ID in the Last Visited UTRAN Cell Information IE in TS 25.413 [24]

TargeteNBtoSource-eNBTransparentContainer	::= OCTET STRING

TDD-Info ::= SEQUENCE {
	eARFCN							EARFCN,
	transmission-Bandwidth			Transmission-Bandwidth,
	subframeAssignment				SubframeAssignment,
	specialSubframe-Info				SpecialSubframe-Info,
	iE-Extensions				ProtocolExtensionContainer { {TDD-Info-ExtIEs} } OPTIONAL,
	...
}
TDD-Info-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-AdditionalSpecialSubframe-Info	CRITICALITY ignore	EXTENSION AdditionalSpecialSubframe-Info	PRESENCE optional}|
	{ ID id-eARFCNExtension					CRITICALITY reject	EXTENSION EARFCNExtension						PRESENCE optional}|
	{ ID id-AdditionalSpecialSubframeExtension-Info	CRITICALITY ignore	EXTENSION AdditionalSpecialSubframeExtension-Info	PRESENCE optional},
	...
}

Threshold-RSRP ::= INTEGER(0..97)

Threshold-RSRQ ::= INTEGER(0..34)

TimeToWait ::= ENUMERATED {
	v1s,
	v2s,
	v5s,
	v10s,
	v20s,
	v60s,
	...
}

Time-UE-StayedInCell ::= INTEGER (0..4095)

Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950)

TraceActivation ::= SEQUENCE {
	eUTRANTraceID					EUTRANTraceID,
	interfacesToTrace				InterfacesToTrace,
     traceDepth						TraceDepth,
     traceCollectionEntityIPAddress	TraceCollectionEntityIPAddress,
	iE-Extensions					ProtocolExtensionContainer { {TraceActivation-ExtIEs} } OPTIONAL,
	...
}

TraceActivation-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	{ ID id-MDTConfiguration	CRITICALITY ignore	EXTENSION MDT-Configuration		PRESENCE optional},
	...
}

TraceCollectionEntityIPAddress ::= BIT STRING (SIZE(1..160, ...))

TraceDepth 		::= ENUMERATED {
	minimum,
	medium,
	maximum,
	minimumWithoutVendorSpecificExtension,
	mediumWithoutVendorSpecificExtension,
	maximumWithoutVendorSpecificExtension,
	...
}

Transmission-Bandwidth ::= ENUMERATED {
		bw6,
	 	bw15,
		bw25,
	 	bw50,
		bw75,
		bw100,
		...,
		bw1
}

TransportLayerAddress			::= BIT STRING (SIZE(1..160, ...))

TunnelInformation ::= SEQUENCE {
	transportLayerAddress	TransportLayerAddress,
	uDP-Port-Number			Port-Number			OPTIONAL,
	iE-Extensions			ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL,
	...
}

Tunnel-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

TypeOfError ::= ENUMERATED {
	not-understood,
	missing,
	...
}


-- U

UEAggregateMaximumBitRate ::= SEQUENCE {
	uEaggregateMaximumBitRateDownlink	BitRate,
	uEaggregateMaximumBitRateUplink		BitRate,
	iE-Extensions						ProtocolExtensionContainer { {UEAggregate-MaximumBitrate-ExtIEs} } OPTIONAL,
	...
}

UEAggregate-MaximumBitrate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

UE-ContextKeptIndicator ::= ENUMERATED {
	true,
	...
}

UEID ::= BIT STRING (SIZE (16))

UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item

UE-HistoryInformationFromTheUE ::= OCTET STRING
-- This IE is a transparent container and shall be encoded as the VisitedCellInfoList field contained in the UEInformationResponse message as defined in TS 36.331 [9]

UE-S1AP-ID ::= INTEGER (0.. 4294967295)

UE-X2AP-ID ::= INTEGER (0..4095)

UE-X2AP-ID-Extension ::= INTEGER (0..4095, ...)

UE-RLF-Report-Container::= OCTET STRING
-- This IE is a transparent container and shall be encoded as the RLF-Report-r9 field contained in the UEInformationResponse message as defined in TS 36.331 [9]

UE-RLF-Report-Container-for-extended-bands ::= OCTET STRING
-- This IE is a transparent container and shall be encoded as the RLF-Report-v9e0 field contained in the UEInformationResponse message as defined in TS 36.331 [9]

UESecurityCapabilities ::= SEQUENCE {
	encryptionAlgorithms				EncryptionAlgorithms,
	integrityProtectionAlgorithms		IntegrityProtectionAlgorithms,
	iE-Extensions						ProtocolExtensionContainer { { UESecurityCapabilities-ExtIEs} }		OPTIONAL,
...
}

UESecurityCapabilities-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

UESidelinkAggregateMaximumBitRate ::= SEQUENCE {
	uESidelinkAggregateMaximumBitRate		BitRate,
	iE-Extensions					ProtocolExtensionContainer { {UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs} } OPTIONAL,
	...
}

UE-Sidelink-Aggregate-MaximumBitRate-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

UL-GBR-PRB-usage::= INTEGER (0..100)

UL-HighInterferenceIndicationInfo ::= SEQUENCE (SIZE(1..maxCellineNB)) OF UL-HighInterferenceIndicationInfo-Item

UL-HighInterferenceIndicationInfo-Item ::= SEQUENCE {
	target-Cell-ID					ECGI,
	ul-interferenceindication		UL-HighInterferenceIndication,
	iE-Extensions					ProtocolExtensionContainer { { UL-HighInterferenceIndicationInfo-Item-ExtIEs} } OPTIONAL,
	...
}

UL-HighInterferenceIndicationInfo-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

UL-HighInterferenceIndication ::= BIT STRING (SIZE(1..110, ...))

UL-InterferenceOverloadIndication ::= SEQUENCE (SIZE(1..maxnoofPRBs)) OF UL-InterferenceOverloadIndication-Item

UL-InterferenceOverloadIndication-Item ::= ENUMERATED {
	high-interference,
	medium-interference,
	low-interference,
	...
}

UL-non-GBR-PRB-usage::= INTEGER (0..100)

UL-scheduling-PDCCH-CCE-usage::= INTEGER (0..100)

UL-Total-PRB-usage::= INTEGER (0..100)

UsableABSInformation ::= CHOICE {
	fdd					UsableABSInformationFDD,
	tdd					UsableABSInformationTDD,
	...
}

UsableABSInformationFDD ::= SEQUENCE {
	usable-abs-pattern-info				BIT STRING (SIZE(40)),
	iE-Extensions						ProtocolExtensionContainer { { UsableABSInformationFDD-ExtIEs} } OPTIONAL,
	...
}

UsableABSInformationFDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

UsableABSInformationTDD ::= SEQUENCE {
	usaable-abs-pattern-info			BIT STRING (SIZE(1..70, ...)),
	iE-Extensions						ProtocolExtensionContainer { { UsableABSInformationTDD-ExtIEs} } OPTIONAL,
	...
}

UsableABSInformationTDD-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}


-- V

V2XServicesAuthorized ::= SEQUENCE {
	vehicleUE			VehicleUE											OPTIONAL,
pedestrianUE 		PedestrianUE										    OPTIONAL,
	iE-Extensions		ProtocolExtensionContainer { {V2XServicesAuthorized-ExtIEs} }	OPTIONAL,
	...
}

V2XServicesAuthorized-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

VehicleUE ::= ENUMERATED {
	authorized,
	not-authorized,
	...
}

PedestrianUE ::= ENUMERATED {
	authorized,
	not-authorized,
	...
}

-- W

WidebandCQI ::= SEQUENCE {
	widebandCQICodeword0		INTEGER (0..15, ...),
	widebandCQICodeword1		WidebandCQICodeword1		OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { { WidebandCQI-ExtIEs} } OPTIONAL,
	...
}

WidebandCQI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
	...
}

WidebandCQICodeword1::= CHOICE {
	four-bitCQI								INTEGER (0..15, ...),
	three-bitSpatialDifferentialCQI			INTEGER (0..7, ...),
	...
}

WTID ::= CHOICE {
	wTID-Type1			WTID-Type1,
	wTID-Type2			WTID-Long-Type2,
	...
}

WTID-Type1 ::= SEQUENCE {
	pLMN-Identity					PLMN-Identity,
	shortWTID						BIT STRING (SIZE(24)),
	...
}

WTID-Long-Type2 ::= BIT STRING (SIZE(48))

WT-UE-XwAP-ID ::= OCTET STRING (SIZE (3))

-- X

X2BenefitValue ::= INTEGER (1..8, ...)

-- Y
-- Z

END


-- **************************************************************
--
-- Common definitions
--
-- **************************************************************

X2AP-CommonDataTypes {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-CommonDataTypes (3) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

-- **************************************************************
--
-- Extension constants
--
-- **************************************************************

maxPrivateIEs 									INTEGER ::= 65535
maxProtocolExtensions 							INTEGER ::= 65535
maxProtocolIEs									INTEGER ::= 65535

-- **************************************************************
--
-- Common Data Types
--
-- **************************************************************

Criticality		::= ENUMERATED { reject, ignore, notify }

Presence		::= ENUMERATED { optional, conditional, mandatory }

PrivateIE-ID	::= CHOICE {
	local				INTEGER (0.. maxPrivateIEs),
	global				OBJECT IDENTIFIER
}

ProcedureCode		::= INTEGER (0..255)


ProtocolIE-ID		::= INTEGER (0..maxProtocolIEs)


TriggeringMessage	::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome}

END


-- **************************************************************
--
-- Constant definitions
--
-- **************************************************************

X2AP-Constants {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Constants (4) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
	ProcedureCode,
	ProtocolIE-ID
FROM X2AP-CommonDataTypes;

-- **************************************************************
--
-- Elementary Procedures
--
-- **************************************************************

id-handoverPreparation											ProcedureCode ::= 0
id-handoverCancel												ProcedureCode ::= 1
id-loadIndication												ProcedureCode ::= 2
id-errorIndication												ProcedureCode ::= 3
id-snStatusTransfer												ProcedureCode ::= 4
id-uEContextRelease												ProcedureCode ::= 5
id-x2Setup														ProcedureCode ::= 6
id-reset														ProcedureCode ::= 7
id-eNBConfigurationUpdate										ProcedureCode ::= 8
id-resourceStatusReportingInitiation							ProcedureCode ::= 9
id-resourceStatusReporting										ProcedureCode ::= 10
id-privateMessage												ProcedureCode ::= 11
id-mobilitySettingsChange										ProcedureCode ::= 12
id-rLFIndication												ProcedureCode ::= 13
id-handoverReport												ProcedureCode ::= 14
id-cellActivation												ProcedureCode ::= 15
id-x2Release													ProcedureCode ::= 16
id-x2APMessageTransfer											ProcedureCode ::= 17
id-x2Removal													ProcedureCode ::= 18
id-seNBAdditionPreparation										ProcedureCode ::= 19
id-seNBReconfigurationCompletion								ProcedureCode ::= 20
id-meNBinitiatedSeNBModificationPreparation						ProcedureCode ::= 21
id-seNBinitiatedSeNBModification								ProcedureCode ::= 22
id-meNBinitiatedSeNBRelease										ProcedureCode ::= 23
id-seNBinitiatedSeNBRelease										ProcedureCode ::= 24
id-seNBCounterCheck												ProcedureCode ::= 25
id-retrieveUEContext											ProcedureCode ::= 26


-- **************************************************************
--
-- Lists
--
-- **************************************************************

maxEARFCN									INTEGER ::= 65535
maxEARFCNPlusOne							INTEGER ::= 65536
newmaxEARFCN								INTEGER ::= 262143
maxInterfaces								INTEGER ::= 16
maxCellineNB								INTEGER ::= 256
maxnoofBands								INTEGER ::= 16
maxnoofBearers								INTEGER ::= 256
maxNrOfErrors								INTEGER ::= 256
maxnoofPDCP-SN								INTEGER ::= 16
maxnoofEPLMNs								INTEGER ::= 15
maxnoofEPLMNsPlusOne						INTEGER ::= 16
maxnoofForbLACs								INTEGER ::= 4096
maxnoofForbTACs								INTEGER ::= 4096
maxnoofBPLMNs								INTEGER ::= 6
maxnoofNeighbours							INTEGER ::= 512
maxnoofPRBs									INTEGER ::= 110
maxPools									INTEGER ::= 16
maxnoofCells								INTEGER ::= 16
maxnoofMBSFN								INTEGER ::= 8
maxFailedMeasObjects						INTEGER ::= 32
maxnoofCellIDforMDT							INTEGER ::= 32
maxnoofTAforMDT								INTEGER ::= 8
maxnoofMBMSServiceAreaIdentities			INTEGER ::= 256
maxnoofMDTPLMNs								INTEGER ::= 16
maxnoofCoMPHypothesisSet					INTEGER ::= 256
maxnoofCoMPCells							INTEGER ::= 32
maxUEReport									INTEGER ::= 128
maxCellReport								INTEGER ::= 9
maxnoofPA									INTEGER ::= 3
maxCSIProcess								INTEGER ::= 4
maxCSIReport								INTEGER ::= 2
maxSubband									INTEGER ::= 14

-- **************************************************************
--
-- IEs
--
-- **************************************************************

id-E-RABs-Admitted-Item														ProtocolIE-ID ::= 0
id-E-RABs-Admitted-List														ProtocolIE-ID ::= 1
id-E-RAB-Item																ProtocolIE-ID ::= 2
id-E-RABs-NotAdmitted-List													ProtocolIE-ID ::= 3
id-E-RABs-ToBeSetup-Item													ProtocolIE-ID ::= 4
id-Cause																	ProtocolIE-ID ::= 5
id-CellInformation															ProtocolIE-ID ::= 6
id-CellInformation-Item														ProtocolIE-ID ::= 7
id-New-eNB-UE-X2AP-ID														ProtocolIE-ID ::= 9
id-Old-eNB-UE-X2AP-ID														ProtocolIE-ID ::= 10
id-TargetCell-ID															ProtocolIE-ID ::= 11
id-TargeteNBtoSource-eNBTransparentContainer								ProtocolIE-ID ::= 12
id-TraceActivation															ProtocolIE-ID ::= 13
id-UE-ContextInformation													ProtocolIE-ID ::= 14
id-UE-HistoryInformation													ProtocolIE-ID ::= 15
id-UE-X2AP-ID																ProtocolIE-ID ::= 16
id-CriticalityDiagnostics													ProtocolIE-ID ::= 17
id-E-RABs-SubjectToStatusTransfer-List										ProtocolIE-ID ::= 18
id-E-RABs-SubjectToStatusTransfer-Item										ProtocolIE-ID ::= 19
id-ServedCells																ProtocolIE-ID ::= 20
id-GlobalENB-ID																ProtocolIE-ID ::= 21
id-TimeToWait																ProtocolIE-ID ::= 22
id-GUMMEI-ID																ProtocolIE-ID ::= 23
id-GUGroupIDList															ProtocolIE-ID ::= 24
id-ServedCellsToAdd															ProtocolIE-ID ::= 25
id-ServedCellsToModify														ProtocolIE-ID ::= 26
id-ServedCellsToDelete														ProtocolIE-ID ::= 27
id-Registration-Request														ProtocolIE-ID ::= 28
id-CellToReport																ProtocolIE-ID ::= 29
id-ReportingPeriodicity														ProtocolIE-ID ::= 30
id-CellToReport-Item														ProtocolIE-ID ::= 31
id-CellMeasurementResult													ProtocolIE-ID ::= 32
id-CellMeasurementResult-Item												ProtocolIE-ID ::= 33
id-GUGroupIDToAddList														ProtocolIE-ID ::= 34
id-GUGroupIDToDeleteList													ProtocolIE-ID ::= 35
id-SRVCCOperationPossible													ProtocolIE-ID ::= 36
id-Measurement-ID															ProtocolIE-ID ::= 37
id-ReportCharacteristics													ProtocolIE-ID ::= 38
id-ENB1-Measurement-ID														ProtocolIE-ID ::= 39
id-ENB2-Measurement-ID														ProtocolIE-ID ::= 40
id-Number-of-Antennaports													ProtocolIE-ID ::= 41
id-CompositeAvailableCapacityGroup											ProtocolIE-ID ::= 42
id-ENB1-Cell-ID																ProtocolIE-ID ::= 43
id-ENB2-Cell-ID																ProtocolIE-ID ::= 44
id-ENB2-Proposed-Mobility-Parameters										ProtocolIE-ID ::= 45
id-ENB1-Mobility-Parameters													ProtocolIE-ID ::= 46
id-ENB2-Mobility-Parameters-Modification-Range								ProtocolIE-ID ::= 47
id-FailureCellPCI															ProtocolIE-ID ::= 48
id-Re-establishmentCellECGI													ProtocolIE-ID ::= 49
id-FailureCellCRNTI															ProtocolIE-ID ::= 50
id-ShortMAC-I																ProtocolIE-ID ::= 51
id-SourceCellECGI															ProtocolIE-ID ::= 52
id-FailureCellECGI															ProtocolIE-ID ::= 53
id-HandoverReportType														ProtocolIE-ID ::= 54
id-PRACH-Configuration														ProtocolIE-ID ::= 55
id-MBSFN-Subframe-Info														ProtocolIE-ID ::= 56
id-ServedCellsToActivate													ProtocolIE-ID ::= 57
id-ActivatedCellList														ProtocolIE-ID ::= 58
id-DeactivationIndication													ProtocolIE-ID ::= 59
id-UE-RLF-Report-Container													ProtocolIE-ID ::= 60
id-ABSInformation															ProtocolIE-ID ::= 61
id-InvokeIndication															ProtocolIE-ID ::= 62
id-ABS-Status																ProtocolIE-ID ::= 63
id-PartialSuccessIndicator													ProtocolIE-ID ::= 64
id-MeasurementInitiationResult-List											ProtocolIE-ID ::= 65
id-MeasurementInitiationResult-Item											ProtocolIE-ID ::= 66
id-MeasurementFailureCause-Item												ProtocolIE-ID ::= 67
id-CompleteFailureCauseInformation-List										ProtocolIE-ID ::= 68
id-CompleteFailureCauseInformation-Item										ProtocolIE-ID ::= 69
id-CSG-Id																	ProtocolIE-ID ::= 70
id-CSGMembershipStatus														ProtocolIE-ID ::= 71
id-MDTConfiguration															ProtocolIE-ID ::= 72
id-ManagementBasedMDTallowed												ProtocolIE-ID ::= 74
id-RRCConnSetupIndicator													ProtocolIE-ID ::= 75
id-NeighbourTAC																ProtocolIE-ID ::= 76
id-Time-UE-StayedInCell-EnhancedGranularity									ProtocolIE-ID ::= 77
id-RRCConnReestabIndicator													ProtocolIE-ID ::= 78
id-MBMS-Service-Area-List													ProtocolIE-ID ::= 79
id-HO-cause																	ProtocolIE-ID ::= 80
id-TargetCellInUTRAN														ProtocolIE-ID ::= 81
id-MobilityInformation														ProtocolIE-ID ::= 82
id-SourceCellCRNTI															ProtocolIE-ID ::= 83
id-MultibandInfoList														ProtocolIE-ID ::= 84
id-M3Configuration															ProtocolIE-ID ::= 85
id-M4Configuration															ProtocolIE-ID ::= 86
id-M5Configuration															ProtocolIE-ID ::= 87
id-MDT-Location-Info														ProtocolIE-ID ::= 88
id-ManagementBasedMDTPLMNList												ProtocolIE-ID ::= 89
id-SignallingBasedMDTPLMNList												ProtocolIE-ID ::= 90
id-ReceiveStatusOfULPDCPSDUsExtended										ProtocolIE-ID ::= 91
id-ULCOUNTValueExtended														ProtocolIE-ID ::= 92
id-DLCOUNTValueExtended														ProtocolIE-ID ::= 93
id-eARFCNExtension															ProtocolIE-ID ::= 94
id-UL-EARFCNExtension														ProtocolIE-ID ::= 95
id-DL-EARFCNExtension														ProtocolIE-ID ::= 96
id-AdditionalSpecialSubframe-Info											ProtocolIE-ID ::= 97
id-Masked-IMEISV															ProtocolIE-ID ::= 98
id-IntendedULDLConfiguration												ProtocolIE-ID ::= 99
id-ExtendedULInterferenceOverloadInfo										ProtocolIE-ID ::= 100
id-RNL-Header																ProtocolIE-ID ::= 101
id-x2APMessage																ProtocolIE-ID ::= 102
id-ProSeAuthorized															ProtocolIE-ID ::= 103
id-ExpectedUEBehaviour														ProtocolIE-ID ::= 104
id-UE-HistoryInformationFromTheUE											ProtocolIE-ID ::= 105
id-DynamicDLTransmissionInformation											ProtocolIE-ID ::= 106
id-UE-RLF-Report-Container-for-extended-bands								ProtocolIE-ID ::= 107
id-CoMPInformation															ProtocolIE-ID ::= 108
id-ReportingPeriodicityRSRPMR												ProtocolIE-ID ::= 109
id-RSRPMRList																ProtocolIE-ID ::= 110
id-MeNB-UE-X2AP-ID															ProtocolIE-ID ::= 111
id-SeNB-UE-X2AP-ID															ProtocolIE-ID ::= 112
id-UE-SecurityCapabilities													ProtocolIE-ID ::= 113
id-SeNBSecurityKey															ProtocolIE-ID ::= 114
id-SeNBUEAggregateMaximumBitRate											ProtocolIE-ID ::= 115
id-ServingPLMN																ProtocolIE-ID ::= 116
id-E-RABs-ToBeAdded-List													ProtocolIE-ID ::= 117
id-E-RABs-ToBeAdded-Item													ProtocolIE-ID ::= 118
id-MeNBtoSeNBContainer														ProtocolIE-ID ::= 119
id-E-RABs-Admitted-ToBeAdded-List											ProtocolIE-ID ::= 120
id-E-RABs-Admitted-ToBeAdded-Item											ProtocolIE-ID ::= 121
id-SeNBtoMeNBContainer														ProtocolIE-ID ::= 122
id-ResponseInformationSeNBReconfComp										ProtocolIE-ID ::= 123
id-UE-ContextInformationSeNBModReq											ProtocolIE-ID ::= 124
id-E-RABs-ToBeAdded-ModReqItem												ProtocolIE-ID ::= 125
id-E-RABs-ToBeModified-ModReqItem											ProtocolIE-ID ::= 126
id-E-RABs-ToBeReleased-ModReqItem											ProtocolIE-ID ::= 127
id-E-RABs-Admitted-ToBeAdded-ModAckList										ProtocolIE-ID ::= 128
id-E-RABs-Admitted-ToBeModified-ModAckList									ProtocolIE-ID ::= 129
id-E-RABs-Admitted-ToBeReleased-ModAckList									ProtocolIE-ID ::= 130
id-E-RABs-Admitted-ToBeAdded-ModAckItem										ProtocolIE-ID ::= 131
id-E-RABs-Admitted-ToBeModified-ModAckItem									ProtocolIE-ID ::= 132
id-E-RABs-Admitted-ToBeReleased-ModAckItem									ProtocolIE-ID ::= 133
id-E-RABs-ToBeReleased-ModReqd												ProtocolIE-ID ::= 134
id-E-RABs-ToBeReleased-ModReqdItem											ProtocolIE-ID ::= 135
id-SCGChangeIndication														ProtocolIE-ID ::= 136
id-E-RABs-ToBeReleased-List-RelReq											ProtocolIE-ID ::= 137
id-E-RABs-ToBeReleased-RelReqItem											ProtocolIE-ID ::= 138
id-E-RABs-ToBeReleased-List-RelConf											ProtocolIE-ID ::= 139
id-E-RABs-ToBeReleased-RelConfItem											ProtocolIE-ID ::= 140
id-E-RABs-SubjectToCounterCheck-List										ProtocolIE-ID ::= 141
id-E-RABs-SubjectToCounterCheckItem											ProtocolIE-ID ::= 142
id-CoverageModificationList													ProtocolIE-ID ::= 143
id-ReportingPeriodicityCSIR													ProtocolIE-ID ::= 145
id-CSIReportList															ProtocolIE-ID ::= 146
id-UEID																		ProtocolIE-ID ::= 147
id-enhancedRNTP																ProtocolIE-ID ::= 148
id-ProSeUEtoNetworkRelaying													ProtocolIE-ID ::= 149
id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18									ProtocolIE-ID ::= 150
id-ULCOUNTValuePDCP-SNlength18												ProtocolIE-ID ::= 151
id-DLCOUNTValuePDCP-SNlength18												ProtocolIE-ID ::= 152
id-UE-ContextReferenceAtSeNB												ProtocolIE-ID ::= 153
id-UE-ContextKeptIndicator													ProtocolIE-ID ::= 154
id-New-eNB-UE-X2AP-ID-Extension												ProtocolIE-ID ::= 155
id-Old-eNB-UE-X2AP-ID-Extension												ProtocolIE-ID ::= 156
id-MeNB-UE-X2AP-ID-Extension												ProtocolIE-ID ::= 157
id-SeNB-UE-X2AP-ID-Extension												ProtocolIE-ID ::= 158
id-LHN-ID																	ProtocolIE-ID ::= 159
id-FreqBandIndicatorPriority												ProtocolIE-ID ::= 160
id-M6Configuration															ProtocolIE-ID ::= 161
id-M7Configuration															ProtocolIE-ID ::= 162
id-Tunnel-Information-for-BBF												ProtocolIE-ID ::= 163
id-SIPTO-BearerDeactivationIndication										ProtocolIE-ID ::= 164
id-GW-TransportLayerAddress													ProtocolIE-ID ::= 165
id-Correlation-ID															ProtocolIE-ID ::= 166
id-SIPTO-Correlation-ID														ProtocolIE-ID ::= 167
id-SIPTO-L-GW-TransportLayerAddress											ProtocolIE-ID ::= 168
id-X2RemovalThreshold														ProtocolIE-ID ::= 169
id-CellReportingIndicator													ProtocolIE-ID ::= 170
id-BearerType																ProtocolIE-ID ::= 171
id-resumeID																	ProtocolIE-ID ::= 172
id-UE-ContextInformationRetrieve											ProtocolIE-ID ::= 173
id-E-RABs-ToBeSetupRetrieve-Item											ProtocolIE-ID ::= 174
id-NewEUTRANCellIdentifier													ProtocolIE-ID ::= 175
id-V2XServicesAuthorized													ProtocolIE-ID ::= 176
id-OffsetOfNbiotChannelNumberToDL-EARFCN									ProtocolIE-ID ::= 177
id-OffsetOfNbiotChannelNumberToUL-EARFCN									ProtocolIE-ID ::= 178
id-AdditionalSpecialSubframeExtension-Info									ProtocolIE-ID ::= 179
id-BandwidthReducedSI														ProtocolIE-ID ::= 180
id-MakeBeforeBreakIndicator													ProtocolIE-ID ::= 181
id-UE-ContextReferenceAtWT													ProtocolIE-ID ::= 182
id-WT-UE-ContextKeptIndicator												ProtocolIE-ID ::= 183
id-UESidelinkAggregateMaximumBitRate										ProtocolIE-ID ::= 184
id-uL-GTPtunnelEndpoint														ProtocolIE-ID ::= 185
id-DL-scheduling-PDCCH-CCE-usage											ProtocolIE-ID ::= 193
id-UL-scheduling-PDCCH-CCE-usage											ProtocolIE-ID ::= 194

END


-- **************************************************************
--
-- Container definitions
--
-- **************************************************************

X2AP-Containers {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Containers (5) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

-- **************************************************************
--
-- IE parameter types from other modules.
--
-- **************************************************************

IMPORTS
	maxPrivateIEs,
	maxProtocolExtensions,
	maxProtocolIEs,
	Criticality,
	Presence,
	PrivateIE-ID,
	ProtocolIE-ID
FROM X2AP-CommonDataTypes;

-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************

X2AP-PROTOCOL-IES ::= CLASS {
	&id				ProtocolIE-ID 			UNIQUE,
	&criticality	Criticality,
	&Value,
	&presence		Presence
}
WITH SYNTAX {
	ID				&id
	CRITICALITY		&criticality
	TYPE			&Value
	PRESENCE		&presence
}

-- **************************************************************
--
-- Class Definition for Protocol IEs
--
-- **************************************************************

X2AP-PROTOCOL-IES-PAIR ::= CLASS {
	&id						ProtocolIE-ID 		UNIQUE,
	&firstCriticality		Criticality,
	&FirstValue,
	&secondCriticality		Criticality,
	&SecondValue,
	&presence				Presence
}
WITH SYNTAX {
	ID						&id
	FIRST CRITICALITY 		&firstCriticality
	FIRST TYPE				&FirstValue
	SECOND CRITICALITY 		&secondCriticality
	SECOND TYPE				&SecondValue
	PRESENCE				&presence
}

-- **************************************************************
--
-- Class Definition for Protocol Extensions
--
-- **************************************************************

X2AP-PROTOCOL-EXTENSION ::= CLASS {
	&id					ProtocolIE-ID 		UNIQUE,
	&criticality		Criticality,
	&Extension,
	&presence			Presence
}
WITH SYNTAX {
	ID					&id
	CRITICALITY			&criticality
	EXTENSION			&Extension
	PRESENCE			&presence
}

-- **************************************************************
--
-- Class Definition for Private IEs
--
-- **************************************************************

X2AP-PRIVATE-IES ::= CLASS {
	&id					PrivateIE-ID,
	&criticality		Criticality,
	&Value,
	&presence			Presence
}
WITH SYNTAX {
	ID					&id
	CRITICALITY			&criticality
	TYPE				&Value
	PRESENCE			&presence
}

-- **************************************************************
--
-- Container for Protocol IEs
--
-- **************************************************************

ProtocolIE-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
	SEQUENCE (SIZE (0..maxProtocolIEs)) OF
	ProtocolIE-Field {{IEsSetParam}}

ProtocolIE-Single-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=
	ProtocolIE-Field {{IEsSetParam}}

ProtocolIE-Field {X2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
	id				X2AP-PROTOCOL-IES.&id					({IEsSetParam}),
	criticality		X2AP-PROTOCOL-IES.&criticality			({IEsSetParam}{@id}),
	value			X2AP-PROTOCOL-IES.&Value				({IEsSetParam}{@id})
}

-- **************************************************************
--
-- Container for Protocol IE Pairs
--
-- **************************************************************

ProtocolIE-ContainerPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
	SEQUENCE (SIZE (0..maxProtocolIEs)) OF
	ProtocolIE-FieldPair {{IEsSetParam}}

ProtocolIE-FieldPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
	id					X2AP-PROTOCOL-IES-PAIR.&id					({IEsSetParam}),
	firstCriticality	X2AP-PROTOCOL-IES-PAIR.&firstCriticality	({IEsSetParam}{@id}),
	firstValue			X2AP-PROTOCOL-IES-PAIR.&FirstValue			({IEsSetParam}{@id}),
	secondCriticality	X2AP-PROTOCOL-IES-PAIR.&secondCriticality	({IEsSetParam}{@id}),
	secondValue			X2AP-PROTOCOL-IES-PAIR.&SecondValue			({IEsSetParam}{@id})
}

-- **************************************************************
--
-- Container Lists for Protocol IE Containers
--
-- **************************************************************

ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES : IEsSetParam} ::=
	SEQUENCE (SIZE (lowerBound..upperBound)) OF
	ProtocolIE-Container {{IEsSetParam}}

ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
	SEQUENCE (SIZE (lowerBound..upperBound)) OF
	ProtocolIE-ContainerPair {{IEsSetParam}}

-- **************************************************************
--
-- Container for Protocol Extensions
--
-- **************************************************************

ProtocolExtensionContainer {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
	SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
	ProtocolExtensionField {{ExtensionSetParam}}

ProtocolExtensionField {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
	id					X2AP-PROTOCOL-EXTENSION.&id				({ExtensionSetParam}),
	criticality			X2AP-PROTOCOL-EXTENSION.&criticality	({ExtensionSetParam}{@id}),
	extensionValue		X2AP-PROTOCOL-EXTENSION.&Extension		({ExtensionSetParam}{@id})
}

-- **************************************************************
--
-- Container for Private IEs
--
-- **************************************************************

PrivateIE-Container {X2AP-PRIVATE-IES : IEsSetParam} ::=
	SEQUENCE (SIZE (1..maxPrivateIEs)) OF
	PrivateIE-Field {{IEsSetParam}}

PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
	id				X2AP-PRIVATE-IES.&id			({IEsSetParam}),
	criticality		X2AP-PRIVATE-IES.&criticality	({IEsSetParam}{@id}),
	value			X2AP-PRIVATE-IES.&Value			({IEsSetParam}{@id})
}

END
