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

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

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

IMPORTS
	Criticality,
	ProcedureCode
FROM S1AP-CommonDataTypes

	CellTrafficTrace,
	DeactivateTrace,
	DownlinkUEAssociatedLPPaTransport,
	DownlinkNASTransport,
	DownlinkNonUEAssociatedLPPaTransport,
	DownlinkS1cdma2000tunneling,
	ENBDirectInformationTransfer,
	ENBStatusTransfer,
	ENBConfigurationUpdate,
	ENBConfigurationUpdateAcknowledge,
	ENBConfigurationUpdateFailure,
	ErrorIndication,
	HandoverCancel,
	HandoverCancelAcknowledge,
	HandoverCommand,
	HandoverFailure,
	HandoverNotify,
	HandoverPreparationFailure,
	HandoverRequest,
	HandoverRequestAcknowledge,
	HandoverRequired,
	InitialContextSetupFailure,
	InitialContextSetupRequest,
	InitialContextSetupResponse,
	InitialUEMessage,
	KillRequest,
	KillResponse,
	LocationReportingControl,
	LocationReportingFailureIndication,
	LocationReport,
	MMEConfigurationUpdate,
	MMEConfigurationUpdateAcknowledge,
	MMEConfigurationUpdateFailure,
	MMEDirectInformationTransfer,
	MMEStatusTransfer,
	NASNonDeliveryIndication,
	OverloadStart,
	OverloadStop,
	Paging,
	PathSwitchRequest,
	PathSwitchRequestAcknowledge,
	PathSwitchRequestFailure,
	PrivateMessage,
	Reset,
	ResetAcknowledge,
	S1SetupFailure,
	S1SetupRequest,
	S1SetupResponse,
	E-RABModifyRequest,
	E-RABModifyResponse,
	E-RABReleaseCommand,
	E-RABReleaseResponse,
	E-RABReleaseIndication,
	E-RABSetupRequest,
	E-RABSetupResponse,
	TraceFailureIndication,
	TraceStart,
	UECapabilityInfoIndication,
	UEContextModificationFailure,
	UEContextModificationRequest,
	UEContextModificationResponse,
	UEContextReleaseCommand,
	UEContextReleaseComplete,
	UEContextReleaseRequest,
	UplinkUEAssociatedLPPaTransport,
	UplinkNASTransport,
	UplinkNonUEAssociatedLPPaTransport,
	UplinkS1cdma2000tunneling,
	WriteReplaceWarningRequest,
	WriteReplaceWarningResponse,
	ENBConfigurationTransfer,
	MMEConfigurationTransfer


FROM S1AP-PDU-Contents

	id-CellTrafficTrace,
	id-DeactivateTrace,
	id-downlinkUEAssociatedLPPaTransport,
	id-downlinkNASTransport,
	id-downlinkNonUEAssociatedLPPaTransport,
	id-DownlinkS1cdma2000tunneling,
	id-eNBStatusTransfer,
	id-ErrorIndication,
	id-HandoverCancel,
	id-HandoverNotification,
	id-HandoverPreparation,
	id-HandoverResourceAllocation,
	id-InitialContextSetup,
	id-initialUEMessage,
	id-ENBConfigurationUpdate,
	id-Kill,
	id-LocationReportingControl,
	id-LocationReportingFailureIndication,
	id-LocationReport,
	id-eNBDirectInformationTransfer,
	id-MMEConfigurationUpdate,
	id-MMEDirectInformationTransfer,
	id-MMEStatusTransfer,
	id-NASNonDeliveryIndication,
	id-OverloadStart,
	id-OverloadStop,
	id-Paging,
	id-PathSwitchRequest,
	id-PrivateMessage,
	id-Reset,
	id-S1Setup,
	id-E-RABModify,
	id-E-RABRelease,
	id-E-RABReleaseIndication,
	id-E-RABSetup,
	id-TraceFailureIndication,
	id-TraceStart,
	id-UECapabilityInfoIndication,
	id-UEContextModification,
	id-UEContextRelease,
	id-UEContextReleaseRequest,
	id-uplinkUEAssociatedLPPaTransport,
	id-uplinkNASTransport,
	id-uplinkNonUEAssociatedLPPaTransport,
	id-UplinkS1cdma2000tunneling,
	id-WriteReplaceWarning,
	id-eNBConfigurationTransfer,
	id-MMEConfigurationTransfer
FROM S1AP-Constants;


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

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

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

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

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

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

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

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

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


S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
	handoverPreparation				|
	handoverResourceAllocation		|
	pathSwitchRequest 				|
	e-RABSetup						|
	e-RABModify						|
	e-RABRelease					|
	initialContextSetup				|
	handoverCancel					|
	kill							|
	reset							|
	s1Setup							|
	uEContextModification			|
	uEContextRelease				|
	eNBConfigurationUpdate			|
	mMEConfigurationUpdate			|
	writeReplaceWarning				,
	...
}

S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
	handoverNotification			|
	e-RABReleaseIndication			|
	paging 							|
	downlinkNASTransport			|
	initialUEMessage				|
	uplinkNASTransport				|
	errorIndication					|
	nASNonDeliveryIndication		|
	uEContextReleaseRequest			|
	downlinkS1cdma2000tunneling		|
	uplinkS1cdma2000tunneling		|
	uECapabilityInfoIndication		|
	eNBStatusTransfer				|
	mMEStatusTransfer				|
	deactivateTrace					|
	traceStart						|
	traceFailureIndication			|
	cellTrafficTrace				|
	locationReportingControl		|
	locationReportingFailureIndication	|
	locationReport					|
	overloadStart					|
	overloadStop					|
	eNBDirectInformationTransfer	|
	mMEDirectInformationTransfer	|
	eNBConfigurationTransfer		|
	mMEConfigurationTransfer		|
	privateMessage					,
	...,
	downlinkUEAssociatedLPPaTransport	|
	uplinkUEAssociatedLPPaTransport	|
	downlinkNonUEAssociatedLPPaTransport	|
	uplinkNonUEAssociatedLPPaTransport
}

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

handoverPreparation S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	HandoverRequired
	SUCCESSFUL OUTCOME	HandoverCommand
	UNSUCCESSFUL OUTCOME	HandoverPreparationFailure
	PROCEDURE CODE			id-HandoverPreparation
	CRITICALITY		reject
}

handoverResourceAllocation S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	HandoverRequest
	SUCCESSFUL OUTCOME	HandoverRequestAcknowledge
	UNSUCCESSFUL OUTCOME	HandoverFailure
	PROCEDURE CODE			id-HandoverResourceAllocation
	CRITICALITY		reject
}

handoverNotification S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	HandoverNotify
	PROCEDURE CODE			id-HandoverNotification
	CRITICALITY		ignore
}

pathSwitchRequest S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	PathSwitchRequest
	SUCCESSFUL OUTCOME	PathSwitchRequestAcknowledge
	UNSUCCESSFUL OUTCOME	PathSwitchRequestFailure
	PROCEDURE CODE			id-PathSwitchRequest
	CRITICALITY		reject
}

e-RABSetup S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	E-RABSetupRequest
	SUCCESSFUL OUTCOME	E-RABSetupResponse
	PROCEDURE CODE		id-E-RABSetup
	CRITICALITY		reject
}

e-RABModify S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	E-RABModifyRequest
	SUCCESSFUL OUTCOME	E-RABModifyResponse
	PROCEDURE CODE		id-E-RABModify
	CRITICALITY		reject
}

e-RABRelease S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	E-RABReleaseCommand
	SUCCESSFUL OUTCOME	E-RABReleaseResponse
	PROCEDURE CODE		id-E-RABRelease
	CRITICALITY		reject
}

e-RABReleaseIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	E-RABReleaseIndication
	PROCEDURE CODE		id-E-RABReleaseIndication
	CRITICALITY		ignore
}

initialContextSetup S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	InitialContextSetupRequest
	SUCCESSFUL OUTCOME	InitialContextSetupResponse
	UNSUCCESSFUL OUTCOME InitialContextSetupFailure
	PROCEDURE CODE		id-InitialContextSetup
	CRITICALITY		reject
}

uEContextReleaseRequest S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEContextReleaseRequest
	PROCEDURE CODE			id-UEContextReleaseRequest
	CRITICALITY				ignore
}

paging S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	Paging
	PROCEDURE CODE		id-Paging
	CRITICALITY			ignore
}

downlinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		DownlinkNASTransport
	PROCEDURE CODE			id-downlinkNASTransport
	CRITICALITY				ignore
}

initialUEMessage S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		InitialUEMessage
	PROCEDURE CODE			id-initialUEMessage
	CRITICALITY				ignore
}

uplinkNASTransport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UplinkNASTransport
	PROCEDURE CODE			id-uplinkNASTransport
	CRITICALITY				ignore
}
nASNonDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		NASNonDeliveryIndication
	PROCEDURE CODE			id-NASNonDeliveryIndication
	CRITICALITY				ignore
}

handoverCancel S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	HandoverCancel
	SUCCESSFUL OUTCOME	HandoverCancelAcknowledge
	PROCEDURE CODE			id-HandoverCancel
	CRITICALITY		reject
}

reset S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	Reset
	SUCCESSFUL OUTCOME	ResetAcknowledge
	PROCEDURE CODE		id-Reset
	CRITICALITY			reject
}

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

s1Setup S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		S1SetupRequest
	SUCCESSFUL OUTCOME		S1SetupResponse
	UNSUCCESSFUL OUTCOME 	S1SetupFailure
	PROCEDURE CODE			id-S1Setup
	CRITICALITY				reject
}

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

mMEConfigurationUpdate S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MMEConfigurationUpdate
	SUCCESSFUL OUTCOME		MMEConfigurationUpdateAcknowledge
	UNSUCCESSFUL OUTCOME 	MMEConfigurationUpdateFailure
	PROCEDURE CODE			id-MMEConfigurationUpdate
	CRITICALITY				reject
}

downlinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		DownlinkS1cdma2000tunneling
	PROCEDURE CODE			id-DownlinkS1cdma2000tunneling
	CRITICALITY				ignore
}

uplinkS1cdma2000tunneling S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UplinkS1cdma2000tunneling
	PROCEDURE CODE			id-UplinkS1cdma2000tunneling
	CRITICALITY				ignore
}

uEContextModification S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEContextModificationRequest
	SUCCESSFUL OUTCOME		UEContextModificationResponse
	UNSUCCESSFUL OUTCOME 	UEContextModificationFailure

	PROCEDURE CODE		id-UEContextModification
	CRITICALITY		reject
}

uECapabilityInfoIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UECapabilityInfoIndication
	PROCEDURE CODE			id-UECapabilityInfoIndication
	CRITICALITY				ignore
}

uEContextRelease S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEContextReleaseCommand
	SUCCESSFUL OUTCOME		UEContextReleaseComplete
	PROCEDURE CODE			id-UEContextRelease
	CRITICALITY				reject
}

eNBStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ENBStatusTransfer
	PROCEDURE CODE			id-eNBStatusTransfer
	CRITICALITY				ignore
}

mMEStatusTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MMEStatusTransfer
	PROCEDURE CODE			id-MMEStatusTransfer
	CRITICALITY				ignore
}

deactivateTrace S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		DeactivateTrace
	PROCEDURE CODE			id-DeactivateTrace
	CRITICALITY				ignore
}

traceStart S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	TraceStart
	PROCEDURE CODE		id-TraceStart
	CRITICALITY			ignore
}

traceFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	TraceFailureIndication
	PROCEDURE CODE		id-TraceFailureIndication
	CRITICALITY			ignore
}
cellTrafficTrace S1AP-ELEMENTARY-PROCEDURE ::={
INITIATING MESSAGE CellTrafficTrace
PROCEDURE CODE      id-CellTrafficTrace
CRITICALITY         ignore
}

locationReportingControl S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		LocationReportingControl
	PROCEDURE CODE			id-LocationReportingControl
	CRITICALITY				ignore
}

locationReportingFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		LocationReportingFailureIndication
	PROCEDURE CODE			id-LocationReportingFailureIndication
	CRITICALITY				ignore
}

locationReport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		LocationReport
	PROCEDURE CODE			id-LocationReport
	CRITICALITY				ignore
}

overloadStart S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	OverloadStart
	PROCEDURE CODE		id-OverloadStart
	CRITICALITY		ignore
}

overloadStop S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	OverloadStop
	PROCEDURE CODE		id-OverloadStop
	CRITICALITY		reject
}

writeReplaceWarning S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	WriteReplaceWarningRequest
	SUCCESSFUL OUTCOME	WriteReplaceWarningResponse
	PROCEDURE CODE		id-WriteReplaceWarning
	CRITICALITY			reject
}

eNBDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	ENBDirectInformationTransfer
	PROCEDURE CODE		id-eNBDirectInformationTransfer
	CRITICALITY			ignore
}

mMEDirectInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	MMEDirectInformationTransfer
	PROCEDURE CODE		id-MMEDirectInformationTransfer
	CRITICALITY			ignore
}

eNBConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ENBConfigurationTransfer
	PROCEDURE CODE			id-eNBConfigurationTransfer
	CRITICALITY				ignore
}

mMEConfigurationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MMEConfigurationTransfer
	PROCEDURE CODE			id-MMEConfigurationTransfer
	CRITICALITY				ignore
}


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

kill S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	KillRequest
	SUCCESSFUL OUTCOME	KillResponse
	PROCEDURE CODE		id-Kill
	CRITICALITY			reject
}

downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		DownlinkUEAssociatedLPPaTransport
	PROCEDURE CODE			id-downlinkUEAssociatedLPPaTransport
	CRITICALITY				ignore
}

uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UplinkUEAssociatedLPPaTransport
	PROCEDURE CODE			id-uplinkUEAssociatedLPPaTransport
	CRITICALITY				ignore
}
downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		DownlinkNonUEAssociatedLPPaTransport
	PROCEDURE CODE			id-downlinkNonUEAssociatedLPPaTransport
	CRITICALITY				ignore
}

uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UplinkNonUEAssociatedLPPaTransport
	PROCEDURE CODE			id-uplinkNonUEAssociatedLPPaTransport
	CRITICALITY				ignore
}

END



-- **************************************************************
--
-- PDU definitions for S1AP.
--
-- **************************************************************

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

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

IMPORTS

	UEAggregateMaximumBitrate,
	Cause,
	CellAccessMode,
	Cdma2000HORequiredIndication,
	Cdma2000HOStatus,
	Cdma2000OneXSRVCCInfo,
	Cdma2000OneXRAND,
	Cdma2000PDU,
	Cdma2000RATType,
	Cdma2000SectorID,
	EUTRANRoundTripDelayEstimationInfo,
	CNDomain,
	ConcurrentWarningMessageIndicator,
	CriticalityDiagnostics,
	CSFallbackIndicator,
	CSG-Id,
	CSG-IdList,
	CSGMembershipStatus,
	Data-Forwarding-Not-Possible,
	Direct-Forwarding-Path-Availability,
	Global-ENB-ID,
	EUTRAN-CGI,
	ENBname,
	ENB-StatusTransfer-TransparentContainer,
	ENB-UE-S1AP-ID,
	ExtendedRepetitionPeriod,
	GTP-TEID,
	GUMMEI,
	HandoverRestrictionList,
	HandoverType,
	LAI,
	LPPa-PDU,
	MMEname,
	MME-UE-S1AP-ID,
	MSClassmark2,
	MSClassmark3,
	NAS-PDU,
	NASSecurityParametersfromE-UTRAN,
	NASSecurityParameterstoE-UTRAN,
	OverloadResponse,
	PagingDRX,
	PLMNidentity,
	RIMTransfer,
	RelativeMMECapacity,
	RequestType,
	E-RAB-ID,
	E-RABLevelQoSParameters,
	E-RABList,
     Routing-ID,
	SecurityKey,
	SecurityContext,
	ServedGUMMEIs,
	SONConfigurationTransfer,
	Source-ToTarget-TransparentContainer,
	SourceBSS-ToTargetBSS-TransparentContainer,
	SourceeNB-ToTargeteNB-TransparentContainer,
	SourceRNC-ToTargetRNC-TransparentContainer,
	SubscriberProfileIDforRFP,
	SRVCCOperationPossible,
	SRVCCHOIndication,
	SupportedTAs,
	TAI,
	Target-ToSource-TransparentContainer,
	TargetBSS-ToSourceBSS-TransparentContainer,
	TargeteNB-ToSourceeNB-TransparentContainer,
	TargetID,
	TargetRNC-ToSourceRNC-TransparentContainer,
	TimeToWait,
	TraceActivation,
	E-UTRAN-Trace-ID,
	TransportLayerAddress,
	UEIdentityIndexValue,
	UEPagingID,
	UERadioCapability,
	UE-S1AP-IDs,
	UE-associatedLogicalS1-ConnectionItem,
	UESecurityCapabilities,
	S-TMSI,
	MessageIdentifier,
	SerialNumber,
	WarningAreaList,
	RepetitionPeriod,
	NumberofBroadcastRequest,
	WarningType,
	WarningSecurityInfo,
	DataCodingScheme,
	WarningMessageContents,
	BroadcastCompletedAreaList,
	RRC-Establishment-Cause,
	BroadcastCancelledAreaList,
	PS-ServiceNotAvailable

FROM S1AP-IEs

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


	id-uEaggregateMaximumBitrate,
	id-Cause,
	id-CellAccessMode,
	id-cdma2000HORequiredIndication,
	id-cdma2000HOStatus,
	id-cdma2000OneXSRVCCInfo,
	id-cdma2000OneXRAND,
	id-cdma2000PDU,
	id-cdma2000RATType,
	id-cdma2000SectorID,
	id-EUTRANRoundTripDelayEstimationInfo,
	id-CNDomain,
	id-ConcurrentWarningMessageIndicator,
	id-CriticalityDiagnostics,
	id-CSFallbackIndicator,
	id-CSG-Id,
	id-CSG-IdList,
	id-CSGMembershipStatus,
	id-Data-Forwarding-Not-Possible,
	id-DefaultPagingDRX,
	id-Direct-Forwarding-Path-Availability,
	id-Global-ENB-ID,
	id-EUTRAN-CGI,
	id-eNBname,
	id-eNB-StatusTransfer-TransparentContainer,
	id-eNB-UE-S1AP-ID,
	id-GERANtoLTEHOInformationRes,
	id-GUMMEI-ID,
	id-HandoverRestrictionList,
	id-HandoverType,
	id-InitialContextSetup,
	id-Inter-SystemInformationTransferTypeEDT,
	id-Inter-SystemInformationTransferTypeMDT,
	id-LPPa-PDU,
	id-NAS-DownlinkCount,
	id-MMEname,
	id-MME-UE-S1AP-ID,
	id-MSClassmark2,
	id-MSClassmark3,
	id-NAS-PDU,
	id-NASSecurityParametersfromE-UTRAN,
	id-NASSecurityParameterstoE-UTRAN,
	id-OverloadResponse,
	id-pagingDRX,
	id-RelativeMMECapacity,
	id-RequestType,
	id-Routing-ID,
	id-E-RABAdmittedItem,
	id-E-RABAdmittedList,
	id-E-RABDataForwardingItem,
	id-E-RABFailedToModifyList,
	id-E-RABFailedToReleaseList,
	id-E-RABFailedtoSetupItemHOReqAck,
	id-E-RABFailedToSetupListBearerSURes,
	id-E-RABFailedToSetupListCtxtSURes,
	id-E-RABFailedToSetupListHOReqAck,
	id-E-RABFailedToBeReleasedList,
	id-E-RABModify,
	id-E-RABModifyItemBearerModRes,
	id-E-RABModifyListBearerModRes,
	id-E-RABRelease,
	id-E-RABReleaseItemBearerRelComp,
	id-E-RABReleaseItemHOCmd,
	id-E-RABReleaseListBearerRelComp,
	id-E-RABReleaseIndication,
	id-E-RABSetup,
	id-E-RABSetupItemBearerSURes,
	id-E-RABSetupItemCtxtSURes,
	id-E-RABSetupListBearerSURes,
	id-E-RABSetupListCtxtSURes,
	id-E-RABSubjecttoDataForwardingList,
	id-E-RABToBeModifiedItemBearerModReq,
	id-E-RABToBeModifiedListBearerModReq,
	id-E-RABToBeReleasedList,
	id-E-RABReleasedList,
	id-E-RABToBeSetupItemBearerSUReq,
	id-E-RABToBeSetupItemCtxtSUReq,
	id-E-RABToBeSetupItemHOReq,
	id-E-RABToBeSetupListBearerSUReq,
	id-E-RABToBeSetupListCtxtSUReq,
	id-E-RABToBeSetupListHOReq,
	id-E-RABToBeSwitchedDLItem,
	id-E-RABToBeSwitchedDLList,
	id-E-RABToBeSwitchedULList,
	id-E-RABToBeSwitchedULItem,
	id-E-RABtoReleaseListHOCmd,
	id-SecurityKey,
	id-SecurityContext,
	id-ServedGUMMEIs,
	id-SONConfigurationTransferECT,
	id-SONConfigurationTransferMCT,
	id-Source-ToTarget-TransparentContainer,
	id-Source-ToTarget-TransparentContainer-Secondary,
	id-SourceMME-UE-S1AP-ID,
	id-SRVCCOperationPossible,
	id-SRVCCHOIndication,
	id-SubscriberProfileIDforRFP,
	id-SupportedTAs,
	id-S-TMSI,
	id-TAI,
	id-TAIItem,
	id-TAIList,
	id-Target-ToSource-TransparentContainer,
	id-Target-ToSource-TransparentContainer-Secondary,
	id-TargetID,
	id-TimeToWait,
	id-TraceActivation,
	id-E-UTRAN-Trace-ID,
	id-UEIdentityIndexValue,
	id-UEPagingID,
	id-UERadioCapability,
	id-UTRANtoLTEHOInformationRes,
	id-UE-associatedLogicalS1-ConnectionListResAck,
	id-UE-associatedLogicalS1-ConnectionItem,
	id-UESecurityCapabilities,
	id-UE-S1AP-IDs,
	id-ResetType,
	id-MessageIdentifier,
	id-SerialNumber,
	id-WarningAreaList,
	id-RepetitionPeriod,
	id-NumberofBroadcastRequest,
	id-WarningType,
	id-WarningSecurityInfo,
	id-DataCodingScheme,
	id-WarningMessageContents,
	id-BroadcastCompletedAreaList,
	id-BroadcastCancelledAreaList,
	id-RRC-Establishment-Cause,
	id-TraceCollectionEntityIPAddress,	maxnoofTAIs,
	maxNrOfErrors,
	maxNrOfE-RABs,
	maxNrOfIndividualS1ConnectionsToReset,
	maxnoofEmergencyAreaID,
	maxnoofCellID,
	maxnoofTAIforWarning,
	maxnoofCellinTAI,
	maxnoofCellinEAI,
	id-ExtendedRepetitionPeriod,
	id-PS-ServiceNotAvailable,
	id-RegisteredLAI


FROM S1AP-Constants;

-- **************************************************************
--
-- Common Container Lists
--
-- **************************************************************

E-RAB-IE-ContainerList			{ S1AP-PROTOCOL-IES      : IEsSetParam }	::= ProtocolIE-ContainerList     { 1, maxNrOfE-RABs,   {IEsSetParam} }
E-RAB-IE-ContainerPairList		{ S1AP-PROTOCOL-IES-PAIR : IEsSetParam }	::= ProtocolIE-ContainerPairList { 1, maxNrOfE-RABs,   {IEsSetParam} }
ProtocolError-IE-ContainerList	{ S1AP-PROTOCOL-IES      : IEsSetParam }	::= ProtocolIE-ContainerList     { 1, maxNrOfE-RABs,   {IEsSetParam} }

-- **************************************************************
--
-- HANDOVER PREPARATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Handover Required
--
-- **************************************************************

HandoverRequired ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { HandoverRequiredIEs} },
	...
}

HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID							CRITICALITY reject	TYPE MME-UE-S1AP-ID		 							PRESENCE mandatory }|
	{ ID id-eNB-UE-S1AP-ID							CRITICALITY reject	TYPE ENB-UE-S1AP-ID		 							PRESENCE mandatory }|
	{ ID id-HandoverType							CRITICALITY reject	TYPE HandoverType		 							PRESENCE mandatory }|
	{ ID id-Cause									CRITICALITY ignore	TYPE Cause		 									PRESENCE mandatory }|
	{ ID id-TargetID								CRITICALITY reject	TYPE TargetID	 									PRESENCE mandatory }|
	{ ID id-Direct-Forwarding-Path-Availability		CRITICALITY ignore	TYPE Direct-Forwarding-Path-Availability		PRESENCE optional }|
	{ ID id-SRVCCHOIndication						CRITICALITY reject	TYPE SRVCCHOIndication								PRESENCE optional }|
	{ ID id-Source-ToTarget-TransparentContainer	CRITICALITY reject	TYPE Source-ToTarget-TransparentContainer 	PRESENCE mandatory }|
	{ ID id-Source-ToTarget-TransparentContainer-Secondary 	CRITICALITY reject 	TYPE Source-ToTarget-TransparentContainer	PRESENCE optional }|
	{ ID id-MSClassmark2							CRITICALITY reject	TYPE MSClassmark2									PRESENCE conditional }|
	{ ID id-MSClassmark3							CRITICALITY ignore	TYPE MSClassmark3									PRESENCE conditional }|
	{ ID id-CSG-Id									CRITICALITY reject	TYPE CSG-Id											PRESENCE optional }|
	{ ID id-CellAccessMode							CRITICALITY reject	TYPE CellAccessMode									PRESENCE optional }|
	{ ID id-PS-ServiceNotAvailable					CRITICALITY ignore	TYPE PS-ServiceNotAvailable						PRESENCE optional },
	...
}


-- **************************************************************
--
-- Handover Command
--
-- **************************************************************

HandoverCommand ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { { HandoverCommandIEs} },
	...
}

HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID							CRITICALITY reject	TYPE MME-UE-S1AP-ID		 									PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID							CRITICALITY reject	TYPE ENB-UE-S1AP-ID		 									PRESENCE mandatory	} |
	{ ID id-HandoverType							CRITICALITY reject	TYPE HandoverType		 									PRESENCE mandatory	} |
	{ ID id-NASSecurityParametersfromE-UTRAN		CRITICALITY reject	TYPE NASSecurityParametersfromE-UTRAN					PRESENCE conditional
	-- This IE shall be present if HandoverType IE is set to value "LTEtoUTRAN" or "LTEtoGERAN" --			}|
	{ ID id-E-RABSubjecttoDataForwardingList		CRITICALITY ignore	TYPE E-RABSubjecttoDataForwardingList		 			PRESENCE optional	} |
	{ ID id-E-RABtoReleaseListHOCmd					CRITICALITY ignore	TYPE E-RABList		 										PRESENCE optional	} |
	{ ID id-Target-ToSource-TransparentContainer	CRITICALITY	reject	TYPE Target-ToSource-TransparentContainer			PRESENCE mandatory }|
	{ ID id-Target-ToSource-TransparentContainer-Secondary	CRITICALITY	reject	TYPE Target-ToSource-TransparentContainer			PRESENCE optional }|
	{ ID id-CriticalityDiagnostics					CRITICALITY ignore	TYPE CriticalityDiagnostics								PRESENCE optional	},
	...
}

E-RABSubjecttoDataForwardingList ::= E-RAB-IE-ContainerList { {E-RABDataForwardingItemIEs} }

E-RABDataForwardingItemIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABDataForwardingItem			CRITICALITY ignore	TYPE E-RABDataForwardingItem			PRESENCE mandatory	},
	...
}

E-RABDataForwardingItem ::= SEQUENCE {
	e-RAB-ID							E-RAB-ID,
	dL-transportLayerAddress			TransportLayerAddress 													OPTIONAL,
	dL-gTP-TEID							GTP-TEID 																OPTIONAL,
	uL-TransportLayerAddress			TransportLayerAddress													OPTIONAL,
	uL-GTP-TEID							GTP-TEID																OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { { E-RABDataForwardingItem-ExtIEs} }	OPTIONAL,
	...
}

E-RABDataForwardingItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}



-- **************************************************************
--
-- Handover Preparation Failure
--
-- **************************************************************

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

HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY ignore	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID					CRITICALITY ignore	TYPE ENB-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-Cause							CRITICALITY ignore	TYPE Cause		 					PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- HANDOVER RESOURCE ALLOCATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Handover Request
--
-- **************************************************************

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

HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID							CRITICALITY reject	TYPE MME-UE-S1AP-ID									PRESENCE mandatory	} |
	{ ID id-HandoverType							CRITICALITY reject	TYPE HandoverType									PRESENCE mandatory	} |
	{ ID id-Cause									CRITICALITY ignore	TYPE Cause		 									PRESENCE mandatory	} |
	{ ID id-uEaggregateMaximumBitrate				CRITICALITY reject	TYPE UEAggregateMaximumBitrate					PRESENCE mandatory	}|
	{ ID id-E-RABToBeSetupListHOReq					CRITICALITY reject	TYPE E-RABToBeSetupListHOReq		 				PRESENCE mandatory	} |
	{ ID id-Source-ToTarget-TransparentContainer	CRITICALITY reject	TYPE Source-ToTarget-TransparentContainer	PRESENCE mandatory	} |
	{ ID id-UESecurityCapabilities					CRITICALITY reject	TYPE UESecurityCapabilities						PRESENCE mandatory	}|
	{ ID id-HandoverRestrictionList					CRITICALITY ignore	TYPE HandoverRestrictionList						PRESENCE optional	}|
	{ ID id-TraceActivation							CRITICALITY ignore	TYPE TraceActivation								PRESENCE optional	}|
	{ ID id-RequestType								CRITICALITY ignore	TYPE RequestType									PRESENCE optional	}|
	{ ID id-SRVCCOperationPossible					CRITICALITY ignore	TYPE SRVCCOperationPossible						PRESENCE optional	}|
	{ ID id-SecurityContext							CRITICALITY reject	TYPE SecurityContext								PRESENCE mandatory}|
	{ ID id-NASSecurityParameterstoE-UTRAN			CRITICALITY reject	TYPE NASSecurityParameterstoE-UTRAN			PRESENCE conditional
	-- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" --	} |
	{ ID id-CSG-Id									CRITICALITY reject	TYPE CSG-Id											PRESENCE optional} |
	{ ID id-CSGMembershipStatus						CRITICALITY ignore	TYPE CSGMembershipStatus							PRESENCE optional} ,
	...
}

E-RABToBeSetupListHOReq 					::= E-RAB-IE-ContainerList { {E-RABToBeSetupItemHOReqIEs} }

E-RABToBeSetupItemHOReqIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABToBeSetupItemHOReq			CRITICALITY reject	TYPE E-RABToBeSetupItemHOReq			PRESENCE mandatory	},
	...
}

E-RABToBeSetupItemHOReq ::= SEQUENCE {
	e-RAB-ID							E-RAB-ID,
	transportLayerAddress				TransportLayerAddress,
	gTP-TEID							GTP-TEID,
	e-RABlevelQosParameters				E-RABLevelQoSParameters,
	iE-Extensions						ProtocolExtensionContainer { {E-RABToBeSetupItemHOReq-ExtIEs} }			OPTIONAL,
	...
}

E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	{ID	id-Data-Forwarding-Not-Possible	   CRITICALITY ignore	EXTENSION  Data-Forwarding-Not-Possible   PRESENCE optional},
	...
}

-- **************************************************************
--
-- Handover Request Acknowledge
--
-- **************************************************************

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

HandoverRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID							CRITICALITY ignore	TYPE MME-UE-S1AP-ID									PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID							CRITICALITY ignore	TYPE ENB-UE-S1AP-ID									PRESENCE mandatory	} |
	{ ID id-E-RABAdmittedList						CRITICALITY ignore	TYPE E-RABAdmittedList								PRESENCE mandatory	} |
	{ ID id-E-RABFailedToSetupListHOReqAck			CRITICALITY ignore	TYPE E-RABFailedtoSetupListHOReqAck			PRESENCE optional	} |
	{ ID id-Target-ToSource-TransparentContainer	CRITICALITY reject	TYPE Target-ToSource-TransparentContainer	PRESENCE mandatory }|
	{ ID id-CSG-Id									CRITICALITY ignore	TYPE CSG-Id											PRESENCE optional } |
	{ ID id-CriticalityDiagnostics					CRITICALITY ignore	TYPE CriticalityDiagnostics						PRESENCE optional	},
	...
}

E-RABAdmittedList 					::= E-RAB-IE-ContainerList { {E-RABAdmittedItemIEs} }

E-RABAdmittedItemIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABAdmittedItem			CRITICALITY ignore	TYPE E-RABAdmittedItem			PRESENCE mandatory	},
	...
}

E-RABAdmittedItem ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	transportLayerAddress			TransportLayerAddress,
	gTP-TEID						GTP-TEID,
	dL-transportLayerAddress		TransportLayerAddress	OPTIONAL,
	dL-gTP-TEID						GTP-TEID				OPTIONAL,
	uL-TransportLayerAddress		TransportLayerAddress	OPTIONAL,
	uL-GTP-TEID						GTP-TEID				OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABAdmittedItem-ExtIEs} }	OPTIONAL,
	...
}

E-RABAdmittedItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABFailedtoSetupListHOReqAck 					::= E-RAB-IE-ContainerList { {E-RABFailedtoSetupItemHOReqAckIEs} }

E-RABFailedtoSetupItemHOReqAckIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABFailedtoSetupItemHOReqAck			CRITICALITY ignore	TYPE E-RABFailedToSetupItemHOReqAck			PRESENCE mandatory	},
	...
}

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

E-RABFailedToSetupItemHOReqAckExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


-- **************************************************************
--
-- Handover Failure
--
-- **************************************************************

HandoverFailure ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { HandoverFailureIEs} },
	...
}

HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY ignore	TYPE MME-UE-S1AP-ID				PRESENCE mandatory	} |
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause		 				PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional	},
	...
}

-- **************************************************************
--
-- HANDOVER NOTIFICATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Handover Notify
--
-- **************************************************************

HandoverNotify ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { HandoverNotifyIEs} },
	...
}

HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID			PRESENCE mandatory	} |
	{ ID id-EUTRAN-CGI				CRITICALITY ignore	TYPE EUTRAN-CGI				PRESENCE mandatory}|
	{ ID id-TAI						CRITICALITY ignore	TYPE TAI					PRESENCE mandatory},
	...
}

-- **************************************************************
--
-- PATH SWITCH REQUEST ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Path Switch Request
--
-- **************************************************************

PathSwitchRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { PathSwitchRequestIEs} },
	...
}

PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-eNB-UE-S1AP-ID					CRITICALITY reject	TYPE ENB-UE-S1AP-ID	 			PRESENCE mandatory	}|
	{ ID id-E-RABToBeSwitchedDLList			CRITICALITY reject	TYPE E-RABToBeSwitchedDLList	PRESENCE mandatory	}|
	{ ID id-SourceMME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID	 			PRESENCE mandatory	}|
	{ ID id-EUTRAN-CGI						CRITICALITY ignore	TYPE EUTRAN-CGI					PRESENCE mandatory}|
	{ ID id-TAI								CRITICALITY ignore	TYPE TAI						PRESENCE mandatory}|
	{ ID id-UESecurityCapabilities			CRITICALITY ignore	TYPE UESecurityCapabilities		PRESENCE mandatory	},
	...
}

E-RABToBeSwitchedDLList 					::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedDLItemIEs} }

E-RABToBeSwitchedDLItemIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABToBeSwitchedDLItem			CRITICALITY reject	TYPE E-RABToBeSwitchedDLItem			PRESENCE mandatory	},
	...
}

E-RABToBeSwitchedDLItem ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	transportLayerAddress				TransportLayerAddress,
	gTP-TEID					GTP-TEID,
	iE-Extensions					ProtocolExtensionContainer { { E-RABToBeSwitchedDLItem-ExtIEs} }			OPTIONAL,
	...
}

E-RABToBeSwitchedDLItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- Path Switch Request Acknowledge
--
-- **************************************************************

PathSwitchRequestAcknowledge ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { PathSwitchRequestAcknowledgeIEs} },
	...
}

PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY ignore	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID					CRITICALITY ignore	TYPE ENB-UE-S1AP-ID	 			PRESENCE mandatory	}|
	{ ID id-uEaggregateMaximumBitrate		CRITICALITY ignore	TYPE UEAggregateMaximumBitrate		PRESENCE optional	}|
	{ ID id-E-RABToBeSwitchedULList		CRITICALITY ignore	TYPE E-RABToBeSwitchedULList	PRESENCE optional }|
	{ ID id-E-RABToBeReleasedList		CRITICALITY ignore	TYPE E-RABList				PRESENCE optional	}|
	{ ID id-SecurityContext				CRITICALITY reject	TYPE	SecurityContext			PRESENCE mandatory}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

E-RABToBeSwitchedULList ::= E-RAB-IE-ContainerList { {E-RABToBeSwitchedULItemIEs} }

E-RABToBeSwitchedULItemIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABToBeSwitchedULItem		CRITICALITY ignore	TYPE E-RABToBeSwitchedULItem	PRESENCE mandatory	},
	...
}

E-RABToBeSwitchedULItem ::= SEQUENCE {
	e-RAB-ID							E-RAB-ID,
	transportLayerAddress				TransportLayerAddress,
	gTP-TEID							GTP-TEID,
	iE-Extensions						ProtocolExtensionContainer { { E-RABToBeSwitchedULItem-ExtIEs} }			OPTIONAL,
	...
}

E-RABToBeSwitchedULItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


-- **************************************************************
--
-- Path Switch Request Failure
--
-- **************************************************************

PathSwitchRequestFailure ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { PathSwitchRequestFailureIEs} },
	...
}

PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY ignore	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID					CRITICALITY ignore	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	} |
	{ ID id-Cause							CRITICALITY ignore	TYPE Cause		 					PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- HANDOVER CANCEL ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Handover Cancel
--
-- **************************************************************

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

HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY reject	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID					CRITICALITY reject	TYPE ENB-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-Cause					CRITICALITY ignore	TYPE Cause		 			PRESENCE mandatory	},
	...
}

-- **************************************************************
--
-- Handover Cancel Request Acknowledge
--
-- **************************************************************

HandoverCancelAcknowledge ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { HandoverCancelAcknowledgeIEs} },
	...
}

HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY ignore	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID					CRITICALITY ignore	TYPE ENB-UE-S1AP-ID		 			PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- E-RAB SETUP ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- E-RAB Setup Request
--
-- **************************************************************

E-RABSetupRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {E-RABSetupRequestIEs} },
	...
}

E-RABSetupRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY reject	TYPE MME-UE-S1AP-ID	 						PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID					CRITICALITY reject	TYPE ENB-UE-S1AP-ID	 						PRESENCE mandatory	}|
	{ ID id-uEaggregateMaximumBitrate		CRITICALITY reject	TYPE UEAggregateMaximumBitrate				PRESENCE optional	}|
	{ ID id-E-RABToBeSetupListBearerSUReq	CRITICALITY reject	TYPE E-RABToBeSetupListBearerSUReq		PRESENCE mandatory	},
	...
}

E-RABToBeSetupListBearerSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemBearerSUReqIEs} }

E-RABToBeSetupItemBearerSUReqIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABToBeSetupItemBearerSUReq	 CRITICALITY reject 	TYPE E-RABToBeSetupItemBearerSUReq 	PRESENCE mandatory },
	...
}

E-RABToBeSetupItemBearerSUReq ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RABlevelQoSParameters			E-RABLevelQoSParameters,
	transportLayerAddress 			TransportLayerAddress,
	gTP-TEID						GTP-TEID,
	nAS-PDU							NAS-PDU,
	iE-Extensions					ProtocolExtensionContainer { {E-RABToBeSetupItemBearerSUReqExtIEs} } OPTIONAL,
	...
}


E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


-- **************************************************************
--
-- E-RAB Setup Response
--
-- **************************************************************

E-RABSetupResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {E-RABSetupResponseIEs} },
	...
}

E-RABSetupResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY ignore	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-E-RABSetupListBearerSURes				CRITICALITY ignore	TYPE E-RABSetupListBearerSURes			PRESENCE optional	}|
	{ ID id-E-RABFailedToSetupListBearerSURes		CRITICALITY ignore	TYPE E-RABList					PRESENCE optional	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}


E-RABSetupListBearerSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemBearerSUResIEs} }

E-RABSetupItemBearerSUResIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABSetupItemBearerSURes	 CRITICALITY ignore 	TYPE E-RABSetupItemBearerSURes 	PRESENCE mandatory },
	...
}

E-RABSetupItemBearerSURes ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	transportLayerAddress		TransportLayerAddress,
	gTP-TEID					GTP-TEID,
	iE-Extensions				ProtocolExtensionContainer { {E-RABSetupItemBearerSUResExtIEs} } OPTIONAL,
	...
}


E-RABSetupItemBearerSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}



-- **************************************************************
--
-- E-RAB MODIFY ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- E-RAB Modify Request
--
-- **************************************************************

E-RABModifyRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {E-RABModifyRequestIEs} },
	...
}

E-RABModifyRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID						CRITICALITY reject	TYPE MME-UE-S1AP-ID								PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID						CRITICALITY reject	TYPE ENB-UE-S1AP-ID								PRESENCE mandatory	}|
	{ ID id-uEaggregateMaximumBitrate			CRITICALITY reject	TYPE UEAggregateMaximumBitrate				PRESENCE optional	}|
	{ ID id-E-RABToBeModifiedListBearerModReq	CRITICALITY reject	TYPE E-RABToBeModifiedListBearerModReq		PRESENCE mandatory	},
	...
}

E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeModifiedItemBearerModReqIEs} }

E-RABToBeModifiedItemBearerModReqIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABToBeModifiedItemBearerModReq	 CRITICALITY reject 	TYPE E-RABToBeModifiedItemBearerModReq 	PRESENCE mandatory },
	...
}

E-RABToBeModifiedItemBearerModReq ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	e-RABLevelQoSParameters			E-RABLevelQoSParameters,
	nAS-PDU							NAS-PDU,
	iE-Extensions					ProtocolExtensionContainer { {E-RABToBeModifyItemBearerModReqExtIEs} } OPTIONAL,
	...
}


E-RABToBeModifyItemBearerModReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}



-- **************************************************************
--
-- E-RAB Modify Response
--
-- **************************************************************

E-RABModifyResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {E-RABModifyResponseIEs} },
	...
}

E-RABModifyResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY ignore	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-E-RABModifyListBearerModRes				CRITICALITY ignore	TYPE E-RABModifyListBearerModRes		PRESENCE optional	}|
	{ ID id-E-RABFailedToModifyList		CRITICALITY ignore	TYPE E-RABList				PRESENCE optional	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}


E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModResIEs} }

E-RABModifyItemBearerModResIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABModifyItemBearerModRes	 CRITICALITY ignore 	TYPE E-RABModifyItemBearerModRes 	PRESENCE mandatory },
	...
}

E-RABModifyItemBearerModRes ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	iE-Extensions					ProtocolExtensionContainer { {E-RABModifyItemBearerModResExtIEs} } OPTIONAL,
	...
}


E-RABModifyItemBearerModResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}




-- **************************************************************
--
-- E-RAB RELEASE ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- E-RAB Release Command
--
-- **************************************************************

E-RABReleaseCommand ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container		{ {E-RABReleaseCommandIEs} },
	...
}

E-RABReleaseCommandIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-uEaggregateMaximumBitrate		CRITICALITY reject	TYPE UEAggregateMaximumBitrate		PRESENCE optional	}|
	{ ID id-E-RABToBeReleasedList		CRITICALITY ignore	TYPE E-RABList					PRESENCE mandatory	}|
	{ ID id-NAS-PDU							CRITICALITY ignore	TYPE NAS-PDU						PRESENCE optional	},
	...
}


-- **************************************************************
--
-- E-RAB Release Response
--
-- **************************************************************

E-RABReleaseResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { E-RABReleaseResponseIEs } },
	...
}

E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY ignore	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-E-RABReleaseListBearerRelComp				CRITICALITY ignore	TYPE E-RABReleaseListBearerRelComp		PRESENCE optional	}|
	{ ID id-E-RABFailedToReleaseList		CRITICALITY ignore	TYPE E-RABList				PRESENCE optional	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}


E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABReleaseItemBearerRelCompIEs} }

E-RABReleaseItemBearerRelCompIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABReleaseItemBearerRelComp	 CRITICALITY ignore 	TYPE E-RABReleaseItemBearerRelComp 	PRESENCE mandatory },
	...
}

E-RABReleaseItemBearerRelComp ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	iE-Extensions					ProtocolExtensionContainer { {E-RABReleaseItemBearerRelCompExtIEs} } OPTIONAL,
	...
}


E-RABReleaseItemBearerRelCompExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}



-- **************************************************************
--
-- E-RAB RELEASE INDICATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- E-RAB Release Indication
--
-- **************************************************************

E-RABReleaseIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {E-RABReleaseIndicationIEs} },
	...
}

E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-E-RABReleasedList			CRITICALITY ignore	TYPE E-RABList					PRESENCE mandatory	},
	...
}
-- **************************************************************
--
-- INITIAL CONTEXT SETUP ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Initial Context Setup Request
--
-- **************************************************************

InitialContextSetupRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {InitialContextSetupRequestIEs} },
	...
}

InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory}|
	{ ID id-uEaggregateMaximumBitrate	CRITICALITY reject	TYPE UEAggregateMaximumBitrate		PRESENCE mandatory}|
	{ ID id-E-RABToBeSetupListCtxtSUReq	CRITICALITY reject	TYPE E-RABToBeSetupListCtxtSUReq	PRESENCE mandatory}|
	{ ID id-UESecurityCapabilities		CRITICALITY reject	TYPE UESecurityCapabilities			PRESENCE mandatory}|
	{ ID id-SecurityKey					CRITICALITY reject	TYPE SecurityKey					PRESENCE mandatory}|
	{ ID id-TraceActivation				CRITICALITY ignore	TYPE TraceActivation	 			PRESENCE optional}|
	{ ID id-HandoverRestrictionList		CRITICALITY ignore	TYPE HandoverRestrictionList		PRESENCE optional}|
	{ ID id-UERadioCapability			CRITICALITY ignore	TYPE UERadioCapability				PRESENCE optional}|
	{ ID id-SubscriberProfileIDforRFP	CRITICALITY ignore	TYPE SubscriberProfileIDforRFP		PRESENCE optional}|
	{ ID id-CSFallbackIndicator			CRITICALITY reject	TYPE CSFallbackIndicator			PRESENCE optional}|
	{ ID id-SRVCCOperationPossible		CRITICALITY ignore	TYPE SRVCCOperationPossible			PRESENCE optional}|
	{ ID id-CSGMembershipStatus			CRITICALITY ignore	TYPE CSGMembershipStatus			PRESENCE optional}|
	{ ID id-RegisteredLAI				CRITICALITY ignore	TYPE LAI							PRESENCE optional},
	...
}




E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABToBeSetupItemCtxtSUReqIEs} }

E-RABToBeSetupItemCtxtSUReqIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABToBeSetupItemCtxtSUReq	 CRITICALITY reject 	TYPE E-RABToBeSetupItemCtxtSUReq 	PRESENCE mandatory },
	...
}

E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	e-RABlevelQoSParameters					E-RABLevelQoSParameters,
	transportLayerAddress 			TransportLayerAddress,
	gTP-TEID			GTP-TEID,
	nAS-PDU				NAS-PDU		OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABToBeSetupItemCtxtSUReqExtIEs} } OPTIONAL,
	...
}


E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


-- **************************************************************
--
-- Initial Context Setup Response
--
-- **************************************************************

InitialContextSetupResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {InitialContextSetupResponseIEs} },
	...
}

InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY ignore	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-E-RABSetupListCtxtSURes				CRITICALITY ignore	TYPE E-RABSetupListCtxtSURes			PRESENCE mandatory	}|
	{ ID id-E-RABFailedToSetupListCtxtSURes		CRITICALITY ignore	TYPE E-RABList					PRESENCE optional	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}


E-RABSetupListCtxtSURes ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABSetupItemCtxtSUResIEs} }

E-RABSetupItemCtxtSUResIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABSetupItemCtxtSURes	 CRITICALITY ignore 	TYPE E-RABSetupItemCtxtSURes 	PRESENCE mandatory },
	...
}

E-RABSetupItemCtxtSURes ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	transportLayerAddress 			TransportLayerAddress,
	gTP-TEID			GTP-TEID,
	iE-Extensions					ProtocolExtensionContainer { {E-RABSetupItemCtxtSUResExtIEs} } OPTIONAL,
	...
}


E-RABSetupItemCtxtSUResExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


-- **************************************************************
--
-- Initial Context Setup Failure
--
-- **************************************************************

InitialContextSetupFailure ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {InitialContextSetupFailureIEs} },
	...
}

InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY ignore	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	}|
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- PAGING ELEMENTARY PROCEDURE
--
-- **************************************************************


-- **************************************************************
--
-- Paging
--
-- **************************************************************

Paging ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       {{PagingIEs}},
	...
}

PagingIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-UEIdentityIndexValue		CRITICALITY ignore	TYPE UEIdentityIndexValue	PRESENCE mandatory	} |
	{ ID id-UEPagingID						CRITICALITY ignore	TYPE UEPagingID				PRESENCE mandatory	} |
	{ ID id-pagingDRX					CRITICALITY ignore	TYPE PagingDRX			PRESENCE optional	} |
	{ ID id-CNDomain					CRITICALITY ignore		TYPE CNDomain		PRESENCE mandatory	} |
	{ ID id-TAIList					CRITICALITY ignore	TYPE TAIList		 	PRESENCE mandatory	}|
	{ ID id-CSG-IdList				CRITICALITY ignore	TYPE CSG-IdList		PRESENCE optional },
	...
}

TAIList::= SEQUENCE (SIZE(1.. maxnoofTAIs)) OF ProtocolIE-SingleContainer {{TAIItemIEs}}

TAIItemIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-TAIItem	 CRITICALITY ignore		TYPE TAIItem	PRESENCE mandatory },
	...
}

TAIItem ::= SEQUENCE {
	tAI 							TAI,
	iE-Extensions					ProtocolExtensionContainer { {TAIItemExtIEs} } OPTIONAL,
	...
}


TAIItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

-- **************************************************************
--
-- UE CONTEXT RELEASE ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- UE CONTEXT RELEASE REQUEST
--
-- **************************************************************

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

UEContextReleaseRequest-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-Cause					CRITICALITY ignore	TYPE Cause				PRESENCE mandatory} ,
	...
}

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

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

UEContextReleaseCommand-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-UE-S1AP-IDs				CRITICALITY reject	TYPE UE-S1AP-IDs					PRESENCE mandatory} |

	{ ID id-Cause					CRITICALITY ignore	TYPE Cause						PRESENCE mandatory} ,
	...
}

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

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

UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY ignore	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY ignore	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}


-- **************************************************************
--
-- UE CONTEXT MODIFICATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- UE Context Modification Request
--
-- **************************************************************

UEContextModificationRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextModificationRequestIEs} },
	...
}

UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory}|
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID					PRESENCE mandatory}|
	{ ID id-SecurityKey					CRITICALITY reject	TYPE SecurityKey		 			PRESENCE optional}|
	{ ID id-SubscriberProfileIDforRFP	CRITICALITY ignore	TYPE SubscriberProfileIDforRFP		PRESENCE optional}|
	{ ID id-uEaggregateMaximumBitrate	CRITICALITY ignore	TYPE UEAggregateMaximumBitrate		PRESENCE optional}|
	{ ID id-CSFallbackIndicator			CRITICALITY reject	TYPE CSFallbackIndicator			PRESENCE optional}|
	{ ID id-UESecurityCapabilities		CRITICALITY reject	TYPE UESecurityCapabilities			PRESENCE optional}|
	{ ID id-CSGMembershipStatus			CRITICALITY ignore	TYPE CSGMembershipStatus			PRESENCE optional}|
	{ ID id-RegisteredLAI				CRITICALITY ignore	TYPE LAI							PRESENCE optional},
	...
}
-- **************************************************************
--
-- UE Context Modification Response
--
-- **************************************************************

UEContextModificationResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextModificationResponseIEs} },
	...
}

UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY ignore	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}-- **************************************************************
--
-- UE Context Modification Failure
--
-- **************************************************************

UEContextModificationFailure ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextModificationFailureIEs} },
	...
}

UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID					CRITICALITY ignore	TYPE MME-UE-S1AP-ID		 			PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory	} |
	{ ID id-Cause				CRITICALITY ignore	TYPE Cause				PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- NAS TRANSPORT ELEMENTARY PROCEDURES
--
-- **************************************************************

-- **************************************************************
--
-- DOWNLINK NAS TRANSPORT
--
-- **************************************************************

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

DownlinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-NAS-PDU					CRITICALITY reject	TYPE NAS-PDU				PRESENCE mandatory} |
	{ ID id-HandoverRestrictionList		CRITICALITY ignore	TYPE HandoverRestrictionList	PRESENCE optional	},
	...
}


-- **************************************************************
--
-- INITIAL UE MESSAGE
--
-- **************************************************************

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

InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID					PRESENCE mandatory} |
	{ ID id-NAS-PDU						CRITICALITY reject	TYPE NAS-PDU						PRESENCE mandatory} |
	{ ID id-TAI							CRITICALITY reject	TYPE TAI							PRESENCE mandatory} |
	{ ID id-EUTRAN-CGI					CRITICALITY ignore	TYPE EUTRAN-CGI						PRESENCE mandatory} |
	{ ID id-RRC-Establishment-Cause		CRITICALITY ignore	TYPE RRC-Establishment-Cause		PRESENCE mandatory} |
	{ ID id-S-TMSI						CRITICALITY reject	TYPE S-TMSI							PRESENCE optional} |
	{ ID id-CSG-Id						CRITICALITY reject	TYPE CSG-Id							PRESENCE optional} |
	{ ID id-GUMMEI-ID					CRITICALITY reject	TYPE GUMMEI							PRESENCE optional} |
	{ ID id-CellAccessMode				CRITICALITY reject	TYPE CellAccessMode					PRESENCE optional},
	...
}


-- **************************************************************
--
-- UPLINK NAS TRANSPORT
--
-- **************************************************************

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

UplinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-NAS-PDU					CRITICALITY reject	TYPE NAS-PDU				PRESENCE mandatory} |
	{ ID id-EUTRAN-CGI			CRITICALITY ignore	TYPE EUTRAN-CGI			PRESENCE mandatory}|
	{ ID id-TAI					CRITICALITY ignore	TYPE TAI						PRESENCE mandatory},
	...
}
-- **************************************************************
--
-- NAS NON DELIVERY INDICATION
--
-- **************************************************************

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

NASNonDeliveryIndication-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-NAS-PDU					CRITICALITY ignore	TYPE NAS-PDU				PRESENCE mandatory} |
	{ ID id-Cause					CRITICALITY ignore	TYPE Cause				PRESENCE mandatory} ,
	...
}

-- **************************************************************
--
-- RESET ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Reset
--
-- **************************************************************

Reset ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {ResetIEs} },
	...
}

ResetIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE mandatory	}|
	{ ID id-ResetType				CRITICALITY reject	TYPE ResetType			PRESENCE mandatory	},
	...
}

ResetType ::= CHOICE {
	s1-Interface		ResetAll,
	partOfS1-Interface		UE-associatedLogicalS1-ConnectionListRes,
	...
}



ResetAll ::= ENUMERATED {
	reset-all,
	...
}

UE-associatedLogicalS1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemRes } }

UE-associatedLogicalS1-ConnectionItemRes 	S1AP-PROTOCOL-IES ::= {
	{ ID id-UE-associatedLogicalS1-ConnectionItem	 CRITICALITY reject 	TYPE UE-associatedLogicalS1-ConnectionItem 	PRESENCE mandatory },
	...
}


-- **************************************************************
--
-- Reset Acknowledge
--
-- **************************************************************

ResetAcknowledge ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {ResetAcknowledgeIEs} },
	...
}

ResetAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-UE-associatedLogicalS1-ConnectionListResAck		CRITICALITY ignore	TYPE UE-associatedLogicalS1-ConnectionListResAck			PRESENCE optional	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

UE-associatedLogicalS1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxNrOfIndividualS1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalS1-ConnectionItemResAck } }

UE-associatedLogicalS1-ConnectionItemResAck 	S1AP-PROTOCOL-IES ::= {
	{ ID id-UE-associatedLogicalS1-ConnectionItem	 CRITICALITY ignore 	TYPE UE-associatedLogicalS1-ConnectionItem  	PRESENCE mandatory },
	...
}

-- **************************************************************
--
-- ERROR INDICATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Error Indication
--
-- **************************************************************

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

ErrorIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY ignore	TYPE MME-UE-S1AP-ID				PRESENCE optional	} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY ignore	TYPE ENB-UE-S1AP-ID				PRESENCE optional	} |
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE optional	} |
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional	} ,
	...
}

-- **************************************************************
--
-- S1 SETUP ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- S1 Setup Request
--
-- **************************************************************

S1SetupRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {S1SetupRequestIEs} },
	...
}

S1SetupRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-Global-ENB-ID	CRITICALITY reject	TYPE Global-ENB-ID	PRESENCE mandatory}|
	{ ID id-eNBname	CRITICALITY ignore	TYPE ENBname	PRESENCE optional}|
	{ ID id-SupportedTAs	CRITICALITY reject	TYPE SupportedTAs	PRESENCE mandatory}|
	{ ID id-DefaultPagingDRX	CRITICALITY ignore	TYPE PagingDRX	PRESENCE mandatory}|
	{ ID id-CSG-IdList	CRITICALITY reject	TYPE CSG-IdList	PRESENCE optional},
	...
}

-- **************************************************************
--
-- S1 Setup Response
--
-- **************************************************************

S1SetupResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {S1SetupResponseIEs} },
	...
}


S1SetupResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MMEname				CRITICALITY ignore	TYPE MMEname	 		PRESENCE optional	}|
	{ ID id-ServedGUMMEIs				CRITICALITY reject	TYPE ServedGUMMEIs				PRESENCE mandatory	}|
	{ ID id-RelativeMMECapacity					CRITICALITY ignore	TYPE RelativeMMECapacity		 			PRESENCE mandatory	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- S1 Setup Failure
--
-- **************************************************************

S1SetupFailure ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {S1SetupFailureIEs} },
	...
}

S1SetupFailureIEs S1AP-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	},
	...
}

-- **************************************************************
--
-- ENB CONFIGURATION UPDATE ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- eNB Configuration Update
--
-- **************************************************************

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

ENBConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-eNBname				CRITICALITY ignore	TYPE ENBname			PRESENCE optional	}|
	{ ID id-SupportedTAs		CRITICALITY reject	TYPE SupportedTAs	 	PRESENCE optional	}|
	{ ID id-CSG-IdList					CRITICALITY reject	TYPE CSG-IdList				PRESENCE optional}|
	{ ID id-DefaultPagingDRX	CRITICALITY	ignore	TYPE PagingDRX		PRESENCE optional	},
	...
}

-- **************************************************************
--
-- eNB Configuration Update Acknowledge
--
-- **************************************************************

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


ENBConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- eNB Configuration Update Failure
--
-- **************************************************************

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

ENBConfigurationUpdateFailureIEs S1AP-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 },
...
}


-- **************************************************************
--
-- MME Configuration UPDATE ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- MME Configuration Update
--
-- **************************************************************

MMEConfigurationUpdate ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {MMEConfigurationUpdateIEs} },
	...
}

MMEConfigurationUpdateIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MMEname				CRITICALITY ignore	TYPE MMEname	 		PRESENCE optional	}|
	{ ID id-ServedGUMMEIs			CRITICALITY reject	TYPE ServedGUMMEIs				PRESENCE optional	}|
	{ ID id-RelativeMMECapacity	CRITICALITY reject	TYPE RelativeMMECapacity	PRESENCE optional},
	...
}

-- **************************************************************
--
-- MME Configuration Update Acknowledge
--
-- **************************************************************

MMEConfigurationUpdateAcknowledge ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {MMEConfigurationUpdateAcknowledgeIEs} },
	...
}


MMEConfigurationUpdateAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- MME Configuration Update Failure
--
-- **************************************************************

MMEConfigurationUpdateFailure ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {MMEConfigurationUpdateFailureIEs} },
	...
}

MMEConfigurationUpdateFailureIEs S1AP-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	},
	...
}

-- **************************************************************
--
-- DOWNLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Downlink S1 CDMA2000 Tunneling
--
-- **************************************************************

DownlinkS1cdma2000tunneling ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {DownlinkS1cdma2000tunnelingIEs} },
	...
}

DownlinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory	} |
	{ ID id-E-RABSubjecttoDataForwardingList		CRITICALITY ignore	TYPE E-RABSubjecttoDataForwardingList		 			PRESENCE optional	} |
	{ ID id-cdma2000HOStatus				CRITICALITY ignore	TYPE Cdma2000HOStatus 			PRESENCE optional	} |
	{ ID id-cdma2000RATType				CRITICALITY reject	TYPE Cdma2000RATType 			PRESENCE mandatory	} |
	{ ID id-cdma2000PDU					CRITICALITY reject	TYPE Cdma2000PDU	 			PRESENCE mandatory	},
	...
}

-- **************************************************************
--
-- UPLINK S1 CDMA2000 TUNNELING ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Uplink S1 CDMA2000 Tunneling
--
-- **************************************************************

UplinkS1cdma2000tunneling ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {UplinkS1cdma2000tunnelingIEs} },
	...
}

UplinkS1cdma2000tunnelingIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory	} |
	{ ID id-cdma2000RATType				CRITICALITY reject	TYPE Cdma2000RATType 			PRESENCE mandatory	} |
	{ ID id-cdma2000SectorID			CRITICALITY reject	TYPE Cdma2000SectorID 			PRESENCE mandatory	} |
	{ ID id-cdma2000HORequiredIndication	CRITICALITY ignore	TYPE Cdma2000HORequiredIndication 			PRESENCE optional	} |
	{ ID id-cdma2000OneXSRVCCInfo		CRITICALITY reject	TYPE Cdma2000OneXSRVCCInfo 			PRESENCE optional	} |
	{ ID id-cdma2000OneXRAND			CRITICALITY reject	TYPE Cdma2000OneXRAND 			PRESENCE optional	} |
	{ ID id-cdma2000PDU					CRITICALITY reject	TYPE Cdma2000PDU	 			PRESENCE mandatory	}|
	{ ID id-EUTRANRoundTripDelayEstimationInfo	CRITICALITY ignore	TYPE EUTRANRoundTripDelayEstimationInfo		PRESENCE optional},
	-- Extension for Release 9 to assist target HRPD access with the acquisition of the UE --
	...
}


-- **************************************************************
--
-- UE CAPABILITY INFO INDICATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- UE Capability Info Indication
--
-- **************************************************************

UECapabilityInfoIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UECapabilityInfoIndicationIEs} },
	...
}

UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID	 				PRESENCE mandatory	} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID	 				PRESENCE mandatory	} |
	{ ID id-UERadioCapability			CRITICALITY ignore	TYPE UERadioCapability				PRESENCE mandatory	} ,
	...
}

-- **************************************************************
--
-- eNB STATUS TRANSFER ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- eNB Status Transfer
--
-- **************************************************************

ENBStatusTransfer ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {ENBStatusTransferIEs} },
	...
}

ENBStatusTransferIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-StatusTransfer-TransparentContainer	CRITICALITY reject	TYPE ENB-StatusTransfer-TransparentContainer		PRESENCE mandatory} ,
	...
}


-- **************************************************************
--
-- MME STATUS TRANSFER ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- MME Status Transfer
--
-- **************************************************************

MMEStatusTransfer ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {MMEStatusTransferIEs} },
	...
}

MMEStatusTransferIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-StatusTransfer-TransparentContainer	CRITICALITY reject	TYPE ENB-StatusTransfer-TransparentContainer		PRESENCE mandatory} ,
	...
}


-- **************************************************************
--
-- TRACE ELEMENTARY PROCEDURES
--
-- **************************************************************
-- **************************************************************
--
-- Trace Start
--
-- **************************************************************

TraceStart ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {TraceStartIEs} },
	...
}

TraceStartIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-TraceActivation				CRITICALITY ignore	TYPE TraceActivation			PRESENCE mandatory	},
	...
}

-- **************************************************************
--
-- Trace Failure Indication
--
-- **************************************************************

TraceFailureIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {TraceFailureIndicationIEs} },
	...
}

TraceFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID				CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-E-UTRAN-Trace-ID			CRITICALITY ignore	TYPE E-UTRAN-Trace-ID			PRESENCE mandatory} |
	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE mandatory} ,
	...
}

-- **************************************************************
--
-- DEACTIVATE TRACE ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- DEACTIVATE TRACE
--
-- **************************************************************

DeactivateTrace ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { DeactivateTraceIEs} },
	...
}

DeactivateTraceIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID		CRITICALITY reject	TYPE MME-UE-S1AP-ID		PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID		CRITICALITY reject	TYPE ENB-UE-S1AP-ID		PRESENCE mandatory} |
	{ ID id-E-UTRAN-Trace-ID		CRITICALITY ignore	TYPE E-UTRAN-Trace-ID	 	PRESENCE mandatory	},
	...
}

-- **************************************************************
--
-- CELL TRAFFIC TRACE ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- CELL TRAFFIC TRACE
--
-- **************************************************************

CellTrafficTrace ::= SEQUENCE {
protocolIEs		ProtocolIE-Container	{ { CellTrafficTraceIEs } },
...
}

CellTrafficTraceIEs S1AP-PROTOCOL-IES ::= {
	{ID id-MME-UE-S1AP-ID	CRITICALITY reject	TYPE MME-UE-S1AP-ID	PRESENCE mandatory} |
	{ID id-eNB-UE-S1AP-ID	CRITICALITY reject	TYPE ENB-UE-S1AP-ID	PRESENCE mandatory} |
	{ID id-E-UTRAN-Trace-ID	CRITICALITY ignore	TYPE E-UTRAN-Trace-ID	PRESENCE mandatory}|
	{ID id-EUTRAN-CGI	CRITICALITY ignore	TYPE EUTRAN-CGI	PRESENCE mandatory}|
	{ID id-TraceCollectionEntityIPAddress	CRITICALITY ignore	TYPE TransportLayerAddress	PRESENCE mandatory },
	...
}

-- **************************************************************
--
-- LOCATION ELEMENTARY PROCEDURES
--
-- **************************************************************

-- **************************************************************
--
-- Location Reporting Control
--
-- **************************************************************

LocationReportingControl ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { LocationReportingControlIEs} },
	...
}

LocationReportingControlIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-RequestType				CRITICALITY ignore	TYPE RequestType				PRESENCE mandatory	} ,
	...
}

-- **************************************************************
--
-- Location Report Failure Indication
--
-- **************************************************************

LocationReportingFailureIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { LocationReportingFailureIndicationIEs} },
	...
}

LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-Cause					CRITICALITY ignore	TYPE Cause						PRESENCE mandatory},
	...
}

-- **************************************************************
--
-- Location Report
--
-- **************************************************************

LocationReport ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { LocationReportIEs} },
	...
}

LocationReportIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-EUTRAN-CGI				CRITICALITY ignore	TYPE EUTRAN-CGI					PRESENCE mandatory} |
	{ ID id-TAI						CRITICALITY ignore	TYPE TAI						PRESENCE mandatory} |
	{ ID id-RequestType				CRITICALITY ignore	TYPE RequestType				PRESENCE mandatory} ,
	...
}

-- **************************************************************
--
-- OVERLOAD ELEMENTARY PROCEDURES
--
-- **************************************************************

-- **************************************************************
--
-- Overload Start
--
-- **************************************************************

OverloadStart ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {OverloadStartIEs} },
	...
}

OverloadStartIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-OverloadResponse					CRITICALITY reject	TYPE OverloadResponse		 			PRESENCE mandatory	},
	...
}
-- **************************************************************
--
-- Overload Stop
--
-- **************************************************************

OverloadStop ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {OverloadStopIEs} },
	...
}

OverloadStopIEs S1AP-PROTOCOL-IES ::= {
	...
}
-- **************************************************************
--
-- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Write-Replace Warning Request
--
-- **************************************************************


WriteReplaceWarningRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {WriteReplaceWarningRequestIEs} },
	...
}

WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MessageIdentifier			CRITICALITY reject	TYPE MessageIdentifier		PRESENCE mandatory		}|
	{ ID id-SerialNumber				CRITICALITY reject	TYPE SerialNumber			PRESENCE mandatory		}|
	{ ID id-WarningAreaList				CRITICALITY ignore	TYPE WarningAreaList		PRESENCE optional		}|
	{ ID id-RepetitionPeriod			CRITICALITY reject	TYPE RepetitionPeriod		PRESENCE mandatory		}|
	{ ID id-ExtendedRepetitionPeriod	CRITICALITY reject	TYPE ExtendedRepetitionPeriod	PRESENCE optional	}|
	{ ID id-NumberofBroadcastRequest	CRITICALITY reject	TYPE NumberofBroadcastRequest	PRESENCE mandatory	}|
	{ ID id-WarningType					CRITICALITY ignore	TYPE WarningType			PRESENCE optional		}|
	{ ID id-WarningSecurityInfo			CRITICALITY ignore	TYPE WarningSecurityInfo	PRESENCE optional		}|
	{ ID id-DataCodingScheme			CRITICALITY ignore	TYPE DataCodingScheme		PRESENCE optional		}|
	{ ID id-WarningMessageContents		CRITICALITY ignore	TYPE WarningMessageContents		PRESENCE optional		}|
	{ ID id-ConcurrentWarningMessageIndicator	CRITICALITY reject	TYPE ConcurrentWarningMessageIndicator		PRESENCE optional		},
	...
}
-- **************************************************************
--
-- Write-Replace Warning Response
--
-- **************************************************************

WriteReplaceWarningResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container		{ {WriteReplaceWarningResponseIEs} },
	...
}

WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MessageIdentifier			CRITICALITY reject	TYPE MessageIdentifier					PRESENCE mandatory }|
	{ ID id-SerialNumber				CRITICALITY reject	TYPE SerialNumber						PRESENCE mandatory }|
	{ ID id-BroadcastCompletedAreaList	CRITICALITY ignore	TYPE BroadcastCompletedAreaList			PRESENCE optional	}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics				PRESENCE optional },
	...
}

-- **************************************************************
--
-- eNB DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- eNB Direct Information Transfer
--
-- **************************************************************

ENBDirectInformationTransfer ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       {{ ENBDirectInformationTransferIEs}},
	...
}

ENBDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-Inter-SystemInformationTransferTypeEDT		CRITICALITY reject	TYPE Inter-SystemInformationTransferType			PRESENCE mandatory}  ,
	...
}

Inter-SystemInformationTransferType ::= CHOICE {
	rIMTransfer		RIMTransfer,
	...
}

-- **************************************************************
--
-- MME DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- MME Direct Information Transfer
--
-- **************************************************************

MMEDirectInformationTransfer ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       {{ MMEDirectInformationTransferIEs}},
	...
}

MMEDirectInformationTransferIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-Inter-SystemInformationTransferTypeMDT		CRITICALITY reject	TYPE Inter-SystemInformationTransferType			PRESENCE mandatory}  ,
	...
}
-- **************************************************************
--
-- eNB CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- eNB Configuration Transfer
--
-- **************************************************************

ENBConfigurationTransfer ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       {{ ENBConfigurationTransferIEs}},
	...
}

ENBConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-SONConfigurationTransferECT		CRITICALITY ignore	TYPE SONConfigurationTransfer				PRESENCE optional}  ,
	...
}

-- **************************************************************
--
-- MME CONFIGURATION TRANSFER ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- MME Configuration Transfer
--
-- **************************************************************

MMEConfigurationTransfer ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       {{ MMEConfigurationTransferIEs}},
	...
}

MMEConfigurationTransferIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-SONConfigurationTransferMCT		CRITICALITY ignore	TYPE SONConfigurationTransfer				PRESENCE optional}  ,
	...
}

-- **************************************************************
--
-- PRIVATE MESSAGE ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Private Message
--
-- **************************************************************

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

PrivateMessageIEs S1AP-PRIVATE-IES ::= {
	...
}

-- **************************************************************
--
-- Kill Request
--
-- **************************************************************


KillRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {KillRequestIEs} },
	...
}

KillRequestIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MessageIdentifier			CRITICALITY reject	TYPE MessageIdentifier		PRESENCE mandatory }|
	{ ID id-SerialNumber				CRITICALITY reject	TYPE SerialNumber			PRESENCE mandatory }|
	{ ID id-WarningAreaList				CRITICALITY ignore	TYPE WarningAreaList		PRESENCE optional },
	...
}

-- **************************************************************
--
-- Kill Response
--
-- **************************************************************

KillResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container		{ {KillResponseIEs} },
	...
}

KillResponseIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MessageIdentifier			CRITICALITY reject	TYPE MessageIdentifier				PRESENCE mandatory }|
	{ ID id-SerialNumber				CRITICALITY reject	TYPE SerialNumber					PRESENCE mandatory }|
	{ ID id-BroadcastCancelledAreaList	CRITICALITY ignore	TYPE BroadcastCancelledAreaList		PRESENCE optional }|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional },
	...
}

-- **************************************************************
--
-- LPPA TRANSPORT ELEMENTARY PROCEDURES
--
-- **************************************************************

-- **************************************************************
--
-- DOWNLINK UE ASSOCIATED LPPA TRANSPORT
--
-- **************************************************************

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

DownlinkUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory } |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory } |
	{ ID id-Routing-ID				CRITICALITY reject	TYPE Routing-ID					PRESENCE mandatory } |
	{ ID id-LPPa-PDU    			CRITICALITY reject	TYPE LPPa-PDU   				PRESENCE mandatory } ,
	...
}

-- **************************************************************
--
-- UPLINK UE ASSOCIATED LPPA TRANSPORT
--
-- **************************************************************

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

UplinkUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-MME-UE-S1AP-ID			CRITICALITY reject	TYPE MME-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory} |
	{ ID id-Routing-ID				CRITICALITY reject	TYPE Routing-ID					PRESENCE mandatory} |
	{ ID id-LPPa-PDU    			CRITICALITY reject	TYPE LPPa-PDU   				PRESENCE mandatory} ,
	...
}

-- **************************************************************
--
-- DOWNLINK NON UE ASSOCIATED LPPA TRANSPORT
--
-- **************************************************************

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

DownlinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-Routing-ID			    CRITICALITY reject	TYPE Routing-ID				    PRESENCE mandatory} |
	{ ID id-LPPa-PDU    			CRITICALITY reject	TYPE LPPa-PDU   				PRESENCE mandatory} ,
	...
}

-- **************************************************************
--
-- UPLINK NON UE ASSOCIATED LPPA TRANSPORT
--
-- **************************************************************

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

UplinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-Routing-ID			    CRITICALITY reject	TYPE Routing-ID					PRESENCE mandatory} |
	{ ID id-LPPa-PDU    			CRITICALITY reject	TYPE LPPa-PDU   				PRESENCE mandatory} ,
	...
}

END



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

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

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS
	id-E-RABInformationListItem,
	id-E-RABItem,
	id-Bearers-SubjectToStatusTransfer-Item,
	id-Time-Synchronization-Info,
	maxNrOfCSGs,
	maxNrOfE-RABs,
	maxNrOfErrors,
	maxnoofBPLMNs,
	maxnoofPLMNsPerMME,
	maxnoofTACs,
	maxnoofEPLMNs,
	maxnoofEPLMNsPlusOne,
	maxnoofForbLACs,
	maxnoofForbTACs,
	maxnoofCells,
	maxnoofCellID,
	maxnoofEmergencyAreaID,
	maxnoofTAIforWarning,
	maxnoofCellinTAI,
	maxnoofCellinEAI,
	maxnoofeNBX2TLAs,
	maxnoofRATs,
	maxnoofGroupIDs,
	maxnoofMMECs



FROM S1AP-Constants

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

	ProtocolExtensionContainer{},
	S1AP-PROTOCOL-EXTENSION,
	ProtocolIE-SingleContainer{},
	S1AP-PROTOCOL-IES

FROM S1AP-Containers;

-- A


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

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


-- B

Bearers-SubjectToStatusTransferList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { Bearers-SubjectToStatusTransfer-ItemIEs } }

Bearers-SubjectToStatusTransfer-ItemIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-Bearers-SubjectToStatusTransfer-Item	CRITICALITY ignore	TYPE Bearers-SubjectToStatusTransfer-Item 	PRESENCE mandatory	},
	...
}

Bearers-SubjectToStatusTransfer-Item ::= SEQUENCE {
	e-RAB-ID								E-RAB-ID,
	uL-COUNTvalue							COUNTvalue,
	dL-COUNTvalue							COUNTvalue,
	receiveStatusofULPDCPSDUs				ReceiveStatusofULPDCPSDUs			OPTIONAL,
	iE-Extensions							ProtocolExtensionContainer { {Bearers-SubjectToStatusTransfer-ItemExtIEs} } OPTIONAL,
	...
}

Bearers-SubjectToStatusTransfer-ItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

BitRate	::= INTEGER (0..10000000000)

BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity

BroadcastCancelledAreaList ::= CHOICE {
	cellID-Cancelled				CellID-Cancelled,
	tAI-Cancelled					TAI-Cancelled,
	emergencyAreaID-Cancelled		EmergencyAreaID-Cancelled,
	...
}

BroadcastCompletedAreaList ::= CHOICE {
	cellID-Broadcast				CellID-Broadcast,
	tAI-Broadcast					TAI-Broadcast,
	emergencyAreaID-Broadcast		EmergencyAreaID-Broadcast,
	...
}


-- C

CancelledCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CancelledCellinEAI-Item

CancelledCellinEAI-Item ::= SEQUENCE {
	eCGI					EUTRAN-CGI,
	numberOfBroadcasts		NumberOfBroadcasts,
	iE-Extensions			ProtocolExtensionContainer { {CancelledCellinEAI-Item-ExtIEs} } OPTIONAL,
	...
}

CancelledCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

CancelledCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CancelledCellinTAI-Item

CancelledCellinTAI-Item ::= SEQUENCE{
	eCGI				EUTRAN-CGI,
	numberOfBroadcasts	NumberOfBroadcasts,
	iE-Extensions		ProtocolExtensionContainer { {CancelledCellinTAI-Item-ExtIEs} } OPTIONAL,
	...
}

CancelledCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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

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

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

CauseRadioNetwork ::= ENUMERATED {
	unspecified,
	tx2relocoverall-expiry,
	successful-handover,
	release-due-to-eutran-generated-reason,
	handover-cancelled,
	partial-handover,
	ho-failure-in-target-EPC-eNB-or-target-system,
	ho-target-not-allowed,
	tS1relocoverall-expiry,
	tS1relocprep-expiry,
	cell-not-available,
	unknown-targetID,
	no-radio-resources-available-in-target-cell,
	unknown-mme-ue-s1ap-id,
	unknown-enb-ue-s1ap-id,
	unknown-pair-ue-s1ap-id,
	handover-desirable-for-radio-reason,
	time-critical-handover,
	resource-optimisation-handover,
	reduce-load-in-serving-cell,
	user-inactivity,
	radio-connection-with-ue-lost,
	load-balancing-tau-required,
	cs-fallback-triggered,
	ue-not-available-for-ps-service,
	radio-resources-not-available,
	failure-in-radio-interface-procedure,
	invalid-qos-combination,
	interrat-redirection,
	interaction-with-other-procedure,
	unknown-E-RAB-ID,
	multiple-E-RAB-ID-instances,
	encryption-and-or-integrity-protection-algorithms-not-supported,
	s1-intra-system-handover-triggered,
	s1-inter-system-handover-triggered,
	x2-handover-triggered,
	...,
	redirection-towards-1xRTT,
	not-supported-QCI-value,
	invalid-CSG-Id

}

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

CauseNas ::= ENUMERATED {
	normal-release,
	authentication-failure,
	detach,
	unspecified,
	...,
	csg-subscription-expiry
}

CellAccessMode ::= ENUMERATED {
	hybrid,
	...
}

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

CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item

CellID-Broadcast-Item ::= SEQUENCE {
	eCGI				EUTRAN-CGI,
	iE-Extensions		ProtocolExtensionContainer { {CellID-Broadcast-Item-ExtIEs} } OPTIONAL,
	...
}

CellID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

CellID-Cancelled::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Cancelled-Item

CellID-Cancelled-Item ::= SEQUENCE {
	eCGI				EUTRAN-CGI,
	numberOfBroadcasts	NumberOfBroadcasts,
	iE-Extensions		ProtocolExtensionContainer { {CellID-Cancelled-Item-ExtIEs} } OPTIONAL,
	...
}

CellID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

Cdma2000PDU	::= OCTET STRING

Cdma2000RATType ::= ENUMERATED {
	hRPD,
	onexRTT,
	...
}

Cdma2000SectorID ::= OCTET STRING

Cdma2000HOStatus ::= ENUMERATED {
	hOSuccess,
	hOFailure,
	...
}

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

Cdma2000OneXSRVCCInfo ::= SEQUENCE {
	cdma2000OneXMEID			Cdma2000OneXMEID,
	cdma2000OneXMSI				Cdma2000OneXMSI,
	cdma2000OneXPilot			Cdma2000OneXPilot,
	iE-Extensions				ProtocolExtensionContainer { {Cdma2000OneXSRVCCInfo-ExtIEs} } OPTIONAL,
	...
}

Cdma2000OneXSRVCCInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

Cdma2000OneXMEID ::= OCTET STRING

Cdma2000OneXMSI ::= OCTET STRING

Cdma2000OneXPilot ::= OCTET STRING

Cdma2000OneXRAND ::= OCTET STRING


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

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

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

CGI ::= SEQUENCE {
	pLMNidentity				PLMNidentity,
	lAC				LAC,
	cI				CI,
	rAC				RAC						OPTIONAL,
	iE-Extensions	ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL,
	...
	}

CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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

CNDomain ::= ENUMERATED {
	ps,
	cs
}

ConcurrentWarningMessageIndicator ::= ENUMERATED {
	true
}
CSFallbackIndicator ::= ENUMERATED {
	cs-fallback-required,
	...,
	cs-fallback-high-priority
}

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


CSG-IdList ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF CSG-IdList-Item

CSG-IdList-Item ::= SEQUENCE {
	cSG-Id			CSG-Id,
	iE-Extensions	ProtocolExtensionContainer { {CSG-IdList-Item-ExtIEs} } OPTIONAL,
	...
}

CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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


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

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

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

CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF CriticalityDiagnostics-IE-Item

CriticalityDiagnostics-IE-Item ::= 	SEQUENCE {
	iECriticality			Criticality,
	iE-ID					ProtocolIE-ID,
	typeOfError 			TypeOfError,
	iE-Extensions			ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
	...
}

CriticalityDiagnostics-IE-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


-- D

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

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

Direct-Forwarding-Path-Availability ::= ENUMERATED {
	directPathAvailable,
	...
}

Data-Forwarding-Not-Possible ::= ENUMERATED {
	data-Forwarding-not-Possible,
	...
}

-- E

ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI

EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID

EmergencyAreaID ::= OCTET STRING (SIZE (3))

EmergencyAreaID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Broadcast-Item

EmergencyAreaID-Broadcast-Item ::= SEQUENCE {
	emergencyAreaID			EmergencyAreaID,
	completedCellinEAI		CompletedCellinEAI,
	iE-Extensions			ProtocolExtensionContainer { {EmergencyAreaID-Broadcast-Item-ExtIEs} } OPTIONAL,
	...
}

EmergencyAreaID-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

EmergencyAreaID-Cancelled ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID-Cancelled-Item

EmergencyAreaID-Cancelled-Item ::= SEQUENCE {
	emergencyAreaID			EmergencyAreaID,
	cancelledCellinEAI		CancelledCellinEAI,
	iE-Extensions			ProtocolExtensionContainer { {EmergencyAreaID-Cancelled-Item-ExtIEs} } OPTIONAL,
	...
}

EmergencyAreaID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

CompletedCellinEAI ::= SEQUENCE (SIZE(1..maxnoofCellinEAI)) OF CompletedCellinEAI-Item

CompletedCellinEAI-Item ::= SEQUENCE {
	eCGI					EUTRAN-CGI,
	iE-Extensions			ProtocolExtensionContainer { {CompletedCellinEAI-Item-ExtIEs} } OPTIONAL,
	...
}

CompletedCellinEAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

ENB-ID ::= CHOICE {
	macroENB-ID			BIT STRING (SIZE(20)),
	homeENB-ID			BIT STRING (SIZE(28)),
	...
}

GERAN-Cell-ID ::= SEQUENCE {
	lAI				LAI,
    rAC				RAC,
	cI				CI,
	iE-Extensions			ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL,
	...
}

GERAN-Cell-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

Global-ENB-ID ::= SEQUENCE {
	pLMNidentity			PLMNidentity,
	eNB-ID					ENB-ID,
	iE-Extensions			ProtocolExtensionContainer { {GlobalENB-ID-ExtIEs} } OPTIONAL,
	...
}

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


ENB-StatusTransfer-TransparentContainer		::= SEQUENCE {
	bearers-SubjectToStatusTransferList		Bearers-SubjectToStatusTransferList,
	iE-Extensions			ProtocolExtensionContainer { {ENB-StatusTransfer-TransparentContainer-ExtIEs} } OPTIONAL,
	...
}

ENB-StatusTransfer-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

ENB-UE-S1AP-ID				::= INTEGER (0..16777215)

ENBname ::= PrintableString (SIZE (1..150,...))

ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress

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

EPLMNs ::= SEQUENCE (SIZE(1..maxnoofEPLMNs)) OF PLMNidentity
EventType	::= ENUMERATED {
	direct,
	change-of-serve-cell,
	stop-change-of-serve-cell,
	...
}

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

E-RABInformationList	::= SEQUENCE (SIZE (1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { { E-RABInformationListIEs } }

E-RABInformationListIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABInformationListItem			CRITICALITY ignore	TYPE E-RABInformationListItem			PRESENCE mandatory	},
	...
}

E-RABInformationListItem ::= SEQUENCE {
	e-RAB-ID						E-RAB-ID,
	dL-Forwarding					DL-Forwarding		OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {E-RABInformationListItem-ExtIEs} }			OPTIONAL,
	...
}

E-RABInformationListItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

E-RABList ::= SEQUENCE (SIZE(1.. maxNrOfE-RABs)) OF ProtocolIE-SingleContainer { {E-RABItemIEs} }

E-RABItemIEs 	S1AP-PROTOCOL-IES ::= {
	{ ID id-E-RABItem	 CRITICALITY ignore 	TYPE E-RABItem 	PRESENCE mandatory },
	...
}

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

E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


E-RABLevelQoSParameters ::= SEQUENCE {
	qCI			QCI,
	allocationRetentionPriority			AllocationAndRetentionPriority,
	gbrQosInformation					GBR-QosInformation			OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { {E-RABQoSParameters-ExtIEs} } OPTIONAL,
	...
}

E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


EUTRAN-CGI ::= SEQUENCE {
	pLMNidentity			PLMNidentity,
	cell-ID					CellIdentity,
	iE-Extensions			ProtocolExtensionContainer { {EUTRAN-CGI-ExtIEs} } OPTIONAL,
	...
}

EUTRAN-CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..2047)

ExtendedRNC-ID					::= INTEGER (4096..65535)

ExtendedRepetitionPeriod ::= INTEGER (4096..131071)

-- F

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

}

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

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

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

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

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

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

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

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

-- 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 S1AP-PROTOCOL-EXTENSION ::= {
	...
}


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

GUMMEI			::= SEQUENCE {
	pLMN-Identity		PLMNidentity,
	mME-Group-ID		MME-Group-ID,
	mME-Code			MME-Code,
	iE-Extensions		ProtocolExtensionContainer { {GUMMEI-ExtIEs} } OPTIONAL,
	...
}

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

-- H

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

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

HandoverType ::= ENUMERATED {
	intralte,
	ltetoutran,
	ltetogeran,
	utrantolte,
	gerantolte,
	...
}

HFN ::= INTEGER (0..1048575)

-- I

IMSI	::=	OCTET STRING (SIZE (3..8))

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

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



-- J
-- K
-- L


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

LAI ::= SEQUENCE {
	pLMNidentity				PLMNidentity,
	lAC				LAC,
	iE-Extensions			ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL,
	...
}

LAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

LastVisitedCell-Item ::= CHOICE {
	e-UTRAN-Cell					LastVisitedEUTRANCellInformation,
	uTRAN-Cell						LastVisitedUTRANCellInformation,
	gERAN-Cell						LastVisitedGERANCellInformation,
	...
}
LastVisitedEUTRANCellInformation ::= SEQUENCE {
	global-Cell-ID					EUTRAN-CGI,
	cellType						CellType,
	time-UE-StayedInCell			Time-UE-StayedInCell,
	iE-Extensions					ProtocolExtensionContainer { { LastVisitedEUTRANCellInformation-ExtIEs} } OPTIONAL,
	...
}
LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}
LastVisitedUTRANCellInformation	::= OCTET STRING

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

L3-Information				::= OCTET STRING

LPPa-PDU ::=  OCTET STRING

-- M

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

MMEname ::= PrintableString (SIZE (1..150,...))

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

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

MME-UE-S1AP-ID	::= INTEGER (0..4294967295)
M-TMSI			::= OCTET STRING (SIZE (4))

MSClassmark2	::= OCTET STRING
MSClassmark3	::= OCTET STRING

-- N

NAS-PDU ::=  OCTET STRING

NASSecurityParametersfromE-UTRAN ::= OCTET STRING

NASSecurityParameterstoE-UTRAN ::= OCTET STRING

NumberofBroadcastRequest ::= INTEGER (0..65535)

NumberOfBroadcasts ::= INTEGER (0..65535)

-- O
OldBSS-ToNewBSS-Information		::= OCTET STRING

OverloadAction ::= ENUMERATED {
	reject-non-emergency-mo-dt,
	reject-all-rrc-cr-signalling,
	permit-emergency-sessions-and-mobile-terminated-services-only,
	...
}

OverloadResponse ::= CHOICE {
	overloadAction					OverloadAction,
	...
}


-- P

PagingDRX ::= ENUMERATED {
	v32,
	v64,
	v128,
	v256,
	...
	}

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

PLMNidentity 				::= TBCD-STRING

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)

PS-ServiceNotAvailable ::= ENUMERATED {
	ps-service-not-available,
	...
}

-- Q

QCI						::= INTEGER (0..255)

-- R

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

RelativeMMECapacity				::= INTEGER (0..255)

RAC					::= OCTET STRING (SIZE (1))


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


RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

RIMTransfer ::= SEQUENCE {
	rIMInformation			RIMInformation,
	rIMRoutingAddress		RIMRoutingAddress		OPTIONAL,
	iE-Extensions			ProtocolExtensionContainer { { RIMTransfer-ExtIEs} }			OPTIONAL,
	...
}

RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

RIMInformation ::= OCTET STRING

RIMRoutingAddress ::= CHOICE {
	gERAN-Cell-ID			GERAN-Cell-ID,
	...,
	targetRNC-ID			TargetRNC-ID
}

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

RepetitionPeriod ::= INTEGER (0..4095)


RNC-ID					::= INTEGER (0..4095)

RRC-Container	::= OCTET STRING

RRC-Establishment-Cause ::= ENUMERATED {
	emergency,
	highPriorityAccess,
	mt-Access,
	mo-Signalling,
	mo-Data,
	...
}

Routing-ID		::= INTEGER (0..255)

-- S


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



SecurityContext ::= SEQUENCE {
	nextHopChainingCount		INTEGER (0..7),
	nextHopParameter			SecurityKey,
	iE-Extensions				ProtocolExtensionContainer { { SecurityContext-ExtIEs} } OPTIONAL,
	...
}


SecurityContext-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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

SONInformation ::= CHOICE{
	sONInformationRequest		SONInformationRequest,
	sONInformationReply			SONInformationReply,
	...
}

SONInformationRequest ::= ENUMERATED {
	x2TNL-Configuration-Info,
	...,
	time-Synchronization-Info}

SONInformationReply ::= SEQUENCE {
	x2TNLConfigurationInfo			X2TNLConfigurationInfo			OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer {{SONInformationReply-ExtIEs}} OPTIONAL,
	...
}

SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 9 to transfer Time synchronization information --
	{ID id-Time-Synchronization-Info	CRITICALITY ignore		EXTENSION TimeSynchronizationInfo		PRESENCE optional},
	...
}


SONConfigurationTransfer ::= SEQUENCE {
	targeteNB-ID					TargeteNB-ID,
	sourceeNB-ID					SourceeNB-ID,
	sONInformation					SONInformation,
	iE-Extensions			ProtocolExtensionContainer { { SONConfigurationTransfer-ExtIEs} }			OPTIONAL,
...
}

SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}



Source-ToTarget-TransparentContainer ::= OCTET STRING

SourceBSS-ToTargetBSS-TransparentContainer		::= OCTET STRING

SourceeNB-ID ::= SEQUENCE {
	global-ENB-ID	Global-ENB-ID,
	selected-TAI	TAI,
	iE-Extensions	ProtocolExtensionContainer { {SourceeNB-ID-ExtIEs} } OPTIONAL
}

SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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

SRVCCHOIndication ::= ENUMERATED {
	pSandCS,
	cSonly,
	...
}

SourceeNB-ToTargeteNB-TransparentContainer		::= SEQUENCE {
	rRC-Container					RRC-Container,
	e-RABInformationList			E-RABInformationList		OPTIONAL,
	targetCell-ID					EUTRAN-CGI,
	subscriberProfileIDforRFP		SubscriberProfileIDforRFP		OPTIONAL,
	uE-HistoryInformation			UE-HistoryInformation,
	iE-Extensions			ProtocolExtensionContainer { {SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs} } OPTIONAL,
	...
}

SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


SourceRNC-ToTargetRNC-TransparentContainer		::= OCTET STRING


ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem

ServedGUMMEIsItem ::= SEQUENCE {
	servedPLMNs				ServedPLMNs,
	servedGroupIDs			ServedGroupIDs,
	servedMMECs				ServedMMECs,
	iE-Extensions			ProtocolExtensionContainer { {ServedGUMMEIsItem-ExtIEs} }	OPTIONAL,
	...
}

ServedGUMMEIsItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

ServedGroupIDs ::= SEQUENCE (SIZE(1.. maxnoofGroupIDs)) OF MME-Group-ID
ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code

ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity

SubscriberProfileIDforRFP ::= INTEGER (1..256)

SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item

SupportedTAs-Item ::=	SEQUENCE  {
	tAC					TAC,
	broadcastPLMNs		BPLMNs,
	iE-Extensions		ProtocolExtensionContainer { {SupportedTAs-Item-ExtIEs} } OPTIONAL,
	...
}

SupportedTAs-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

StratumLevel ::= INTEGER (0..3, ...)

SynchronizationStatus ::= ENUMERATED { synchronous, asynchronous, ... }

TimeSynchronizationInfo ::= SEQUENCE {
	stratumLevel					StratumLevel,
	synchronizationStatus			SynchronizationStatus,
	iE-Extensions					ProtocolExtensionContainer { { TimeSynchronizationInfo-ExtIEs} } OPTIONAL,
	...
}

TimeSynchronizationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

S-TMSI ::= SEQUENCE {
	mMEC	MME-Code,
	m-TMSI	M-TMSI,
	iE-Extensions		ProtocolExtensionContainer { {S-TMSI-ExtIEs} } OPTIONAL,
	...
}

S-TMSI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

-- T

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

TAIListforWarning ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI

TAI ::= SEQUENCE {
	pLMNidentity			PLMNidentity,
	tAC						TAC,
	iE-Extensions			ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL,
	...
}

TAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

TAI-Broadcast ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Broadcast-Item

TAI-Broadcast-Item ::= SEQUENCE {
	tAI					TAI,
	completedCellinTAI	CompletedCellinTAI,
	iE-Extensions		ProtocolExtensionContainer { {TAI-Broadcast-Item-ExtIEs} } OPTIONAL,
	...
}

TAI-Broadcast-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

TAI-Cancelled ::= SEQUENCE (SIZE(1..maxnoofTAIforWarning)) OF TAI-Cancelled-Item

TAI-Cancelled-Item ::= SEQUENCE {
	tAI					TAI,
	cancelledCellinTAI	CancelledCellinTAI,
	iE-Extensions		ProtocolExtensionContainer { {TAI-Cancelled-Item-ExtIEs} } OPTIONAL,
	...
}

TAI-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item

CompletedCellinTAI-Item ::= SEQUENCE{
	eCGI				EUTRAN-CGI,
	iE-Extensions		ProtocolExtensionContainer { {CompletedCellinTAI-Item-ExtIEs} } OPTIONAL,
	...
}

CompletedCellinTAI-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

TBCD-STRING ::= OCTET STRING (SIZE (3))

TargetID ::= CHOICE {
	targeteNB-ID			TargeteNB-ID,
	targetRNC-ID			TargetRNC-ID,
	cGI						CGI,
	...
}

TargeteNB-ID ::= SEQUENCE {
	global-ENB-ID	Global-ENB-ID,
	selected-TAI	TAI,
	iE-Extensions	ProtocolExtensionContainer { {TargeteNB-ID-ExtIEs} } OPTIONAL,
	...
}

TargeteNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

TargetRNC-ID ::= SEQUENCE {
	lAI					LAI,
	rAC					RAC 		OPTIONAL,
	rNC-ID				RNC-ID,
	extendedRNC-ID		ExtendedRNC-ID		OPTIONAL,
	iE-Extensions		ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL,
	...
	}


TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


TargeteNB-ToSourceeNB-TransparentContainer		::= SEQUENCE {
	rRC-Container			RRC-Container,
	iE-Extensions			ProtocolExtensionContainer { {TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs} } OPTIONAL,
	...
}

TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

Target-ToSource-TransparentContainer ::= OCTET STRING
TargetRNC-ToSourceRNC-TransparentContainer		::= OCTET STRING
TargetBSS-ToSourceBSS-TransparentContainer		::= OCTET STRING

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

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

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

TraceActivation ::= SEQUENCE {
	e-UTRAN-Trace-ID					E-UTRAN-Trace-ID,
	interfacesToTrace				InterfacesToTrace,
     traceDepth						TraceDepth,
     traceCollectionEntityIPAddress	TransportLayerAddress,
	iE-Extensions					ProtocolExtensionContainer { { TraceActivation-ExtIEs} }		OPTIONAL,
	...
}

TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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

E-UTRAN-Trace-ID ::=  OCTET STRING (SIZE (8))

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

-- U

UEAggregateMaximumBitrate ::= SEQUENCE {
	uEaggregateMaximumBitRateDL				BitRate,
	uEaggregateMaximumBitRateUL				BitRate,
	iE-Extensions							ProtocolExtensionContainer { {UEAggregate-MaximumBitrates-ExtIEs} } OPTIONAL,
	...
}

UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}



UE-S1AP-IDs ::= CHOICE{
	uE-S1AP-ID-pair		UE-S1AP-ID-pair,
	mME-UE-S1AP-ID		MME-UE-S1AP-ID,
	...
}

UE-S1AP-ID-pair ::= SEQUENCE{
	mME-UE-S1AP-ID		MME-UE-S1AP-ID,
	eNB-UE-S1AP-ID		ENB-UE-S1AP-ID,
	iE-Extensions		ProtocolExtensionContainer { {UE-S1AP-ID-pair-ExtIEs} } OPTIONAL,
	...
}
UE-S1AP-ID-pair-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}


UE-associatedLogicalS1-ConnectionItem ::= SEQUENCE {
	mME-UE-S1AP-ID					MME-UE-S1AP-ID OPTIONAL,
	eNB-UE-S1AP-ID					ENB-UE-S1AP-ID OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { { UE-associatedLogicalS1-ConnectionItemExtIEs} } OPTIONAL,
	...
}


UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

UEIdentityIndexValue	::=	BIT STRING (SIZE (10))

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

UEPagingID ::= CHOICE {
	s-TMSI		S-TMSI,
	iMSI		IMSI,
	...
	}

UERadioCapability ::= OCTET STRING

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

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

-- V
-- W

WarningAreaList ::= CHOICE {
	cellIDList						ECGIList,
	trackingAreaListforWarning		TAIListforWarning,
	emergencyAreaIDList				EmergencyAreaIDList,
	...
}


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

WarningSecurityInfo ::= OCTET STRING (SIZE (50))


WarningMessageContents ::= OCTET STRING (SIZE(1..9600))


-- X


X2TNLConfigurationInfo ::= SEQUENCE {
	eNBX2TransportLayerAddresses	ENBX2TLAs,
	iE-Extensions					ProtocolExtensionContainer { { X2TNLConfigurationInfo-ExtIEs} } OPTIONAL,
	...
}

X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

-- Y
-- Z

END



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

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

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

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

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

ProcedureCode		::= INTEGER (0..255)

ProtocolExtensionID	::= INTEGER (0..65535)

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

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

END


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

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

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

IMPORTS
	ProcedureCode,
	ProtocolIE-ID

FROM S1AP-CommonDataTypes;


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

id-HandoverPreparation 				ProcedureCode ::= 0
id-HandoverResourceAllocation 		ProcedureCode ::= 1
id-HandoverNotification 			ProcedureCode ::= 2
id-PathSwitchRequest 				ProcedureCode ::= 3
id-HandoverCancel 					ProcedureCode ::= 4
id-E-RABSetup						ProcedureCode ::= 5
id-E-RABModify 						ProcedureCode ::= 6
id-E-RABRelease						ProcedureCode ::= 7
id-E-RABReleaseIndication			ProcedureCode ::= 8
id-InitialContextSetup				ProcedureCode ::= 9
id-Paging							ProcedureCode ::= 10
id-downlinkNASTransport				ProcedureCode ::= 11
id-initialUEMessage					ProcedureCode ::= 12
id-uplinkNASTransport				ProcedureCode ::= 13
id-Reset							ProcedureCode::= 14
id-ErrorIndication					ProcedureCode ::= 15
id-NASNonDeliveryIndication			ProcedureCode ::= 16
id-S1Setup							ProcedureCode ::= 17
id-UEContextReleaseRequest			ProcedureCode ::= 18
id-DownlinkS1cdma2000tunneling		ProcedureCode ::= 19
id-UplinkS1cdma2000tunneling		ProcedureCode ::= 20
id-UEContextModification			ProcedureCode ::= 21
id-UECapabilityInfoIndication		ProcedureCode ::= 22
id-UEContextRelease					ProcedureCode ::= 23
id-eNBStatusTransfer				ProcedureCode ::= 24
id-MMEStatusTransfer				ProcedureCode ::= 25
id-DeactivateTrace					ProcedureCode ::= 26
id-TraceStart						ProcedureCode ::= 27
id-TraceFailureIndication			ProcedureCode ::= 28
id-ENBConfigurationUpdate			ProcedureCode ::= 29
id-MMEConfigurationUpdate			ProcedureCode ::= 30
id-LocationReportingControl			ProcedureCode ::= 31
id-LocationReportingFailureIndication	ProcedureCode ::= 32
id-LocationReport					ProcedureCode ::= 33
id-OverloadStart					ProcedureCode ::= 34
id-OverloadStop						ProcedureCode ::= 35
id-WriteReplaceWarning				ProcedureCode ::= 36
id-eNBDirectInformationTransfer		ProcedureCode ::= 37
id-MMEDirectInformationTransfer	ProcedureCode ::= 38
id-PrivateMessage					ProcedureCode ::= 39
id-eNBConfigurationTransfer			ProcedureCode ::= 40
id-MMEConfigurationTransfer			ProcedureCode ::= 41
id-CellTrafficTrace					ProcedureCode ::= 42
id-Kill								ProcedureCode ::= 43
id-downlinkUEAssociatedLPPaTransport	ProcedureCode ::= 44
id-uplinkUEAssociatedLPPaTransport		ProcedureCode ::= 45
id-downlinkNonUEAssociatedLPPaTransport	ProcedureCode ::= 46
id-uplinkNonUEAssociatedLPPaTransport	ProcedureCode ::= 47

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

maxPrivateIEs 						INTEGER ::= 65535
maxProtocolExtensions 				INTEGER ::= 65535
maxProtocolIEs						INTEGER ::= 65535
-- **************************************************************
--
-- Lists
--
-- **************************************************************

maxNrOfCSGs								INTEGER ::= 256
maxNrOfE-RABs							INTEGER ::= 256
maxnoofTAIs								INTEGER ::= 256
maxnoofTACs								INTEGER ::= 256
maxNrOfErrors							INTEGER ::= 256
maxnoofBPLMNs							INTEGER ::= 6
maxnoofPLMNsPerMME						INTEGER ::= 32
maxnoofEPLMNs							INTEGER ::= 15
maxnoofEPLMNsPlusOne					INTEGER ::= 16
maxnoofForbLACs							INTEGER ::= 4096
maxnoofForbTACs							INTEGER ::= 4096
maxNrOfIndividualS1ConnectionsToReset	INTEGER ::= 256
maxnoofCells							INTEGER ::= 16
maxnoofTAIforWarning					INTEGER ::= 65535
maxnoofCellID							INTEGER ::= 65535
maxnoofEmergencyAreaID					INTEGER ::= 65535
maxnoofCellinTAI						INTEGER ::= 65535
maxnoofCellinEAI						INTEGER ::= 65535
maxnoofeNBX2TLAs						INTEGER ::= 2
maxnoofRATs								INTEGER ::= 8
maxnoofGroupIDs							INTEGER ::= 65535
maxnoofMMECs							INTEGER ::= 256



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

id-MME-UE-S1AP-ID							ProtocolIE-ID ::= 0
id-HandoverType								ProtocolIE-ID ::= 1
id-Cause									ProtocolIE-ID ::= 2
id-SourceID									ProtocolIE-ID ::= 3
id-TargetID									ProtocolIE-ID ::= 4
id-eNB-UE-S1AP-ID							ProtocolIE-ID ::= 8
id-E-RABSubjecttoDataForwardingList			ProtocolIE-ID ::= 12
id-E-RABtoReleaseListHOCmd					ProtocolIE-ID ::= 13
id-E-RABDataForwardingItem					ProtocolIE-ID ::= 14
id-E-RABReleaseItemBearerRelComp			ProtocolIE-ID ::= 15
id-E-RABToBeSetupListBearerSUReq			ProtocolIE-ID ::= 16
id-E-RABToBeSetupItemBearerSUReq			ProtocolIE-ID ::= 17
id-E-RABAdmittedList						ProtocolIE-ID ::= 18
id-E-RABFailedToSetupListHOReqAck			ProtocolIE-ID ::= 19
id-E-RABAdmittedItem						ProtocolIE-ID ::= 20
id-E-RABFailedtoSetupItemHOReqAck			ProtocolIE-ID ::= 21
id-E-RABToBeSwitchedDLList					ProtocolIE-ID ::= 22
id-E-RABToBeSwitchedDLItem					ProtocolIE-ID ::= 23
id-E-RABToBeSetupListCtxtSUReq				ProtocolIE-ID ::= 24
id-TraceActivation							ProtocolIE-ID ::= 25
id-NAS-PDU									ProtocolIE-ID ::= 26
id-E-RABToBeSetupItemHOReq					ProtocolIE-ID ::= 27
id-E-RABSetupListBearerSURes				ProtocolIE-ID ::= 28
id-E-RABFailedToSetupListBearerSURes		ProtocolIE-ID ::= 29
id-E-RABToBeModifiedListBearerModReq		ProtocolIE-ID ::= 30
id-E-RABModifyListBearerModRes				ProtocolIE-ID ::= 31
id-E-RABFailedToModifyList					ProtocolIE-ID ::= 32
id-E-RABToBeReleasedList					ProtocolIE-ID ::= 33
id-E-RABFailedToReleaseList					ProtocolIE-ID ::= 34
id-E-RABItem								ProtocolIE-ID ::= 35
id-E-RABToBeModifiedItemBearerModReq		ProtocolIE-ID ::= 36
id-E-RABModifyItemBearerModRes				ProtocolIE-ID ::= 37
id-E-RABReleaseItem							ProtocolIE-ID ::= 38
id-E-RABSetupItemBearerSURes				ProtocolIE-ID ::= 39
id-SecurityContext							ProtocolIE-ID ::= 40
id-HandoverRestrictionList					ProtocolIE-ID ::= 41
id-UEPagingID 								ProtocolIE-ID ::= 43
id-pagingDRX 								ProtocolIE-ID ::= 44
id-TAIList									ProtocolIE-ID ::= 46
id-TAIItem									ProtocolIE-ID ::= 47
id-E-RABFailedToSetupListCtxtSURes			ProtocolIE-ID ::= 48
id-E-RABReleaseItemHOCmd					ProtocolIE-ID ::= 49
id-E-RABSetupItemCtxtSURes					ProtocolIE-ID ::= 50
id-E-RABSetupListCtxtSURes					ProtocolIE-ID ::= 51
id-E-RABToBeSetupItemCtxtSUReq				ProtocolIE-ID ::= 52
id-E-RABToBeSetupListHOReq					ProtocolIE-ID ::= 53
id-GERANtoLTEHOInformationRes					ProtocolIE-ID ::= 55
id-UTRANtoLTEHOInformationRes					ProtocolIE-ID ::= 57
id-CriticalityDiagnostics 						ProtocolIE-ID ::= 58
id-Global-ENB-ID								ProtocolIE-ID ::= 59
id-eNBname										ProtocolIE-ID ::= 60
id-MMEname										ProtocolIE-ID ::= 61
id-ServedPLMNs									ProtocolIE-ID ::= 63
id-SupportedTAs									ProtocolIE-ID ::= 64
id-TimeToWait									ProtocolIE-ID ::= 65
id-uEaggregateMaximumBitrate					ProtocolIE-ID ::= 66
id-TAI											ProtocolIE-ID ::= 67
id-E-RABReleaseListBearerRelComp				ProtocolIE-ID ::= 69
id-cdma2000PDU									ProtocolIE-ID ::= 70
id-cdma2000RATType								ProtocolIE-ID ::= 71
id-cdma2000SectorID								ProtocolIE-ID ::= 72
id-SecurityKey									ProtocolIE-ID ::= 73
id-UERadioCapability							ProtocolIE-ID ::= 74
id-GUMMEI-ID									ProtocolIE-ID ::= 75
id-E-RABInformationListItem						ProtocolIE-ID ::= 78
id-Direct-Forwarding-Path-Availability			ProtocolIE-ID ::= 79
id-UEIdentityIndexValue							ProtocolIE-ID ::= 80
id-cdma2000HOStatus								ProtocolIE-ID ::= 83
id-cdma2000HORequiredIndication					ProtocolIE-ID ::= 84
id-E-UTRAN-Trace-ID								ProtocolIE-ID ::= 86
id-RelativeMMECapacity							ProtocolIE-ID ::= 87
id-SourceMME-UE-S1AP-ID							ProtocolIE-ID ::= 88
id-Bearers-SubjectToStatusTransfer-Item			ProtocolIE-ID ::= 89
id-eNB-StatusTransfer-TransparentContainer		ProtocolIE-ID ::= 90
id-UE-associatedLogicalS1-ConnectionItem		ProtocolIE-ID ::= 91
id-ResetType									ProtocolIE-ID ::= 92
id-UE-associatedLogicalS1-ConnectionListResAck	ProtocolIE-ID ::= 93
id-E-RABToBeSwitchedULItem						ProtocolIE-ID ::= 94
id-E-RABToBeSwitchedULList						ProtocolIE-ID ::= 95
id-S-TMSI										ProtocolIE-ID ::= 96
id-cdma2000OneXRAND								ProtocolIE-ID ::= 97
id-RequestType									ProtocolIE-ID ::= 98
id-UE-S1AP-IDs									ProtocolIE-ID ::= 99
id-EUTRAN-CGI									ProtocolIE-ID ::= 100
id-OverloadResponse								ProtocolIE-ID ::= 101
id-cdma2000OneXSRVCCInfo						ProtocolIE-ID ::= 102
id-E-RABFailedToBeReleasedList					ProtocolIE-ID ::= 103
id-Source-ToTarget-TransparentContainer			ProtocolIE-ID ::= 104
id-ServedGUMMEIs								ProtocolIE-ID ::= 105
id-SubscriberProfileIDforRFP					ProtocolIE-ID ::= 106
id-UESecurityCapabilities						ProtocolIE-ID ::= 107
id-CSFallbackIndicator							ProtocolIE-ID ::= 108
id-CNDomain										ProtocolIE-ID ::= 109
id-E-RABReleasedList							ProtocolIE-ID ::= 110
id-MessageIdentifier							ProtocolIE-ID ::= 111
id-SerialNumber									ProtocolIE-ID ::= 112
id-WarningAreaList								ProtocolIE-ID ::= 113
id-RepetitionPeriod								ProtocolIE-ID ::= 114
id-NumberofBroadcastRequest						ProtocolIE-ID ::= 115
id-WarningType									ProtocolIE-ID ::= 116
id-WarningSecurityInfo							ProtocolIE-ID ::= 117
id-DataCodingScheme								ProtocolIE-ID ::= 118
id-WarningMessageContents						ProtocolIE-ID ::= 119
id-BroadcastCompletedAreaList					ProtocolIE-ID ::= 120
id-Inter-SystemInformationTransferTypeEDT		ProtocolIE-ID ::= 121
id-Inter-SystemInformationTransferTypeMDT		ProtocolIE-ID ::= 122
id-Target-ToSource-TransparentContainer			ProtocolIE-ID ::= 123
id-SRVCCOperationPossible						ProtocolIE-ID ::= 124
id-SRVCCHOIndication							ProtocolIE-ID ::= 125
id-NAS-DownlinkCount							ProtocolIE-ID ::= 126
id-CSG-Id										ProtocolIE-ID ::= 127
id-CSG-IdList									ProtocolIE-ID ::= 128
id-SONConfigurationTransferECT					ProtocolIE-ID ::= 129
id-SONConfigurationTransferMCT					ProtocolIE-ID ::= 130
id-TraceCollectionEntityIPAddress				ProtocolIE-ID ::= 131
id-MSClassmark2									ProtocolIE-ID ::= 132
id-MSClassmark3									ProtocolIE-ID ::= 133
id-RRC-Establishment-Cause						ProtocolIE-ID ::= 134
id-NASSecurityParametersfromE-UTRAN				ProtocolIE-ID ::= 135
id-NASSecurityParameterstoE-UTRAN				ProtocolIE-ID ::= 136
id-DefaultPagingDRX								ProtocolIE-ID ::= 137
id-Source-ToTarget-TransparentContainer-Secondary	ProtocolIE-ID ::= 138
id-Target-ToSource-TransparentContainer-Secondary	ProtocolIE-ID ::= 139
id-EUTRANRoundTripDelayEstimationInfo			ProtocolIE-ID ::= 140
id-BroadcastCancelledAreaList					ProtocolIE-ID ::= 141
id-ConcurrentWarningMessageIndicator			ProtocolIE-ID ::= 142
id-Data-Forwarding-Not-Possible                 ProtocolIE-ID ::= 143
id-ExtendedRepetitionPeriod						ProtocolIE-ID ::= 144
id-CellAccessMode								ProtocolIE-ID ::= 145
id-CSGMembershipStatus 							ProtocolIE-ID ::= 146
id-LPPa-PDU										ProtocolIE-ID ::= 147
id-Routing-ID									ProtocolIE-ID ::= 148
id-Time-Synchronization-Info					ProtocolIE-ID ::= 149
id-PS-ServiceNotAvailable						ProtocolIE-ID ::= 150
id-RegisteredLAI								ProtocolIE-ID ::= 159

END


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

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

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

IMPORTS
	Criticality,
	Presence,
	PrivateIE-ID,
	ProtocolExtensionID,
	ProtocolIE-ID
FROM S1AP-CommonDataTypes

	maxPrivateIEs,
	maxProtocolExtensions,
	maxProtocolIEs
FROM S1AP-Constants;

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

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

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

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

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

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

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

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

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

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

ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
	ProtocolIE-Field {{IEsSetParam}}

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

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

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

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

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

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

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

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

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

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

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

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

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

END

-- **************************************************************
--
-- IE definitions for the SON Transfer application
-- The IEs in this ASN.1 module shall be defined and encoded
-- using the same rules as applicable for the S1AP-IEs module.
--
-- **************************************************************
SonTransfer-IEs

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

--
-- Generic IEs for the SON Transfer application
--

SONtransferApplicationIdentity ::= ENUMERATED {
	cell-load-reporting,
	...
}

SONtransferRequestContainer ::= CHOICE{
	cellLoadReporting			NULL,
	...
}

SONtransferResponseContainer ::= CHOICE{
	cellLoadReporting			CellLoadReportingResponse,
	...
}

SONtransferCause ::= CHOICE {
	cellLoadReporting			CellLoadReportingCause,
	...
}


CellLoadReportingCause ::= ENUMERATED {
	application-container-syntax-error,
	inconsistent-reporting-cell-identifier,
	unspecified,
	...
}

--
-- IEs for Cell Load Reporting application
--

CellLoadReportingResponse::= CHOICE{
	eUTRAN			EUTRANcellLoadReportingResponse,
	uTRAN			OCTET STRING,
	gERAN			OCTET STRING,
	...
}

CompositeAvailableCapacityGroup ::= OCTET STRING

EUTRANcellLoadReportingResponse ::= SEQUENCE {
	compositeAvailableCapacityGroup					CompositeAvailableCapacityGroup,
	...
}

END


