9.3.2	Elementary Procedure Definitions
-- **************************************************************
--
-- 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,
	DownlinkS1cdma2000tunnelling,
	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-RABModificationIndication,
	E-RABModificationConfirm,
	E-RABReleaseCommand,
	E-RABReleaseResponse,
	E-RABReleaseIndication,
	E-RABSetupRequest,
	E-RABSetupResponse,
	TraceFailureIndication,
	TraceStart,
	UECapabilityInfoIndication,
	UEContextModificationFailure,
	UEContextModificationRequest,
	UEContextModificationResponse,
	UEContextReleaseCommand,
	UEContextReleaseComplete,
	UEContextReleaseRequest,
	UERadioCapabilityMatchRequest,
	UERadioCapabilityMatchResponse,
	UplinkUEAssociatedLPPaTransport,
	UplinkNASTransport,
	UplinkNonUEAssociatedLPPaTransport,
	UplinkS1cdma2000tunnelling,
	WriteReplaceWarningRequest,
	WriteReplaceWarningResponse,
	ENBConfigurationTransfer,
	MMEConfigurationTransfer,
	PWSRestartIndication,
	UEContextModificationIndication,
	UEContextModificationConfirm,
	RerouteNASRequest,
	PWSFailureIndication,
	UEContextSuspendRequest,
	UEContextSuspendResponse,
	UEContextResumeRequest,
	UEContextResumeResponse,
	UEContextResumeFailure,
	ConnectionEstablishmentIndication,
	NASDeliveryIndication,
	RetrieveUEInformation,
	UEInformationTransfer,
	ENBCPRelocationIndication,
	MMECPRelocationIndication,
	SecondaryRATDataUsageReport


FROM S1AP-PDU-Contents
	
	id-CellTrafficTrace,
	id-DeactivateTrace,
	id-downlinkUEAssociatedLPPaTransport,
	id-downlinkNASTransport,
	id-downlinkNonUEAssociatedLPPaTransport,
	id-DownlinkS1cdma2000tunnelling,
	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-RABModificationIndication,
	id-E-RABRelease,
	id-E-RABReleaseIndication,
	id-E-RABSetup,
	id-TraceFailureIndication,
	id-TraceStart,
	id-UECapabilityInfoIndication,
	id-UEContextModification,
	id-UEContextRelease,
	id-UEContextReleaseRequest,
	id-UERadioCapabilityMatch,
	id-uplinkUEAssociatedLPPaTransport,
	id-uplinkNASTransport,
	id-uplinkNonUEAssociatedLPPaTransport,
	id-UplinkS1cdma2000tunnelling,
	id-WriteReplaceWarning,
	id-eNBConfigurationTransfer,
	id-MMEConfigurationTransfer,
	id-PWSRestartIndication,
	id-UEContextModificationIndication,
	id-RerouteNASRequest,
	id-PWSFailureIndication,
	id-UEContextSuspend,
	id-UEContextResume,
	id-ConnectionEstablishmentIndication,
	id-NASDeliveryIndication,
	id-RetrieveUEInformation,
	id-UEInformationTransfer,
	id-eNBCPRelocationIndication,
	id-MMECPRelocationIndication,
	id-SecondaryRATDataUsageReport


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				,
	...,
	uERadioCapabilityMatch						|
	e-RABModificationIndication					|
	uEContextModificationIndication				|
	uEContextSuspend							|
	uEContextResume
}

S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {	
	handoverNotification			|
	e-RABReleaseIndication			|
	paging 							|
	downlinkNASTransport			|
	initialUEMessage				|
	uplinkNASTransport				|
	errorIndication					|
	nASNonDeliveryIndication		|
	uEContextReleaseRequest			|
	downlinkS1cdma2000tunnelling	|
	uplinkS1cdma2000tunnelling		|
	uECapabilityInfoIndication		|
	eNBStatusTransfer				|
	mMEStatusTransfer				|
	deactivateTrace					|
	traceStart						|
	traceFailureIndication			|
	cellTrafficTrace				|
	locationReportingControl		|
	locationReportingFailureIndication	|
	locationReport					|
	overloadStart					|
	overloadStop					|
	eNBDirectInformationTransfer	|
	mMEDirectInformationTransfer	|
	eNBConfigurationTransfer		|
	mMEConfigurationTransfer		|
	privateMessage					,
	...,
	downlinkUEAssociatedLPPaTransport	|
	uplinkUEAssociatedLPPaTransport	|
	downlinkNonUEAssociatedLPPaTransport	|
	uplinkNonUEAssociatedLPPaTransport	|
	pWSRestartIndication			|
	rerouteNASRequest				|
	pWSFailureIndication						|
	connectionEstablishmentIndication	|
	nASDeliveryIndication			|
	retrieveUEInformation			|
	uEInformationTransfer			|
	eNBCPRelocationIndication					|
	mMECPRelocationIndication		|
	secondaryRATDataUsageReport
}

-- **************************************************************
--
-- 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
}

downlinkS1cdma2000tunnelling S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		DownlinkS1cdma2000tunnelling
	PROCEDURE CODE			id-DownlinkS1cdma2000tunnelling
	CRITICALITY				ignore
}

uplinkS1cdma2000tunnelling S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UplinkS1cdma2000tunnelling
	PROCEDURE CODE			id-UplinkS1cdma2000tunnelling
	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
}

pWSRestartIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		PWSRestartIndication
	PROCEDURE CODE			id-PWSRestartIndication
	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
}

uERadioCapabilityMatch S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UERadioCapabilityMatchRequest
	SUCCESSFUL OUTCOME		UERadioCapabilityMatchResponse
	PROCEDURE CODE			id-UERadioCapabilityMatch
	CRITICALITY				reject
}

e-RABModificationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		E-RABModificationIndication
	SUCCESSFUL OUTCOME		E-RABModificationConfirm
	PROCEDURE CODE			id-E-RABModificationIndication
	CRITICALITY				reject
}

uEContextModificationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEContextModificationIndication
	SUCCESSFUL OUTCOME		UEContextModificationConfirm
	PROCEDURE CODE			id-UEContextModificationIndication
	CRITICALITY				reject
}

rerouteNASRequest S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		RerouteNASRequest
	PROCEDURE CODE			id-RerouteNASRequest
	CRITICALITY				reject
}

pWSFailureIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		PWSFailureIndication
	PROCEDURE CODE			id-PWSFailureIndication
	CRITICALITY				ignore
}

uEContextSuspend S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEContextSuspendRequest
	SUCCESSFUL OUTCOME		UEContextSuspendResponse
	PROCEDURE CODE			id-UEContextSuspend
	CRITICALITY				reject
}

uEContextResume S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEContextResumeRequest
	SUCCESSFUL OUTCOME		UEContextResumeResponse
	UNSUCCESSFUL OUTCOME 	UEContextResumeFailure
	PROCEDURE CODE			id-UEContextResume
	CRITICALITY				reject
}

connectionEstablishmentIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ConnectionEstablishmentIndication
	PROCEDURE CODE			id-ConnectionEstablishmentIndication
	CRITICALITY				reject
}

nASDeliveryIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		NASDeliveryIndication
	PROCEDURE CODE			id-NASDeliveryIndication
	CRITICALITY				ignore
}

retrieveUEInformation S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		RetrieveUEInformation
	PROCEDURE CODE			id-RetrieveUEInformation
	CRITICALITY				reject
}

uEInformationTransfer S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UEInformationTransfer
	PROCEDURE CODE			id-UEInformationTransfer
	CRITICALITY				reject
}

eNBCPRelocationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		ENBCPRelocationIndication
	PROCEDURE CODE			id-eNBCPRelocationIndication
	CRITICALITY				reject
}

mMECPRelocationIndication S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MMECPRelocationIndication
	PROCEDURE CODE			id-MMECPRelocationIndication
	CRITICALITY				reject
}

secondaryRATDataUsageReport S1AP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		SecondaryRATDataUsageReport
	PROCEDURE CODE			id-SecondaryRATDataUsageReport
	CRITICALITY			ignore
}


END

9.3.3	PDU Definitions
-- **************************************************************
--
-- 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,
	BearerType,
	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,
	GUMMEIType,
	HandoverRestrictionList,
	HandoverType,
	Masked-IMEISV,
	LAI,
	LPPa-PDU,
	ManagementBasedMDTAllowed,
	MDTPLMNList,
	MMEname,
	MMERelaySupportIndicator,
	MME-UE-S1AP-ID,
	MSClassmark2,
	MSClassmark3,
	NAS-PDU,
	NASSecurityParametersfromE-UTRAN,
	NASSecurityParameterstoE-UTRAN,
	OverloadResponse,
	PagingDRX,
	PagingPriority,
	PLMNidentity,
	ProSeAuthorized,
	RIMTransfer,
	RelativeMMECapacity,
	RequestType,
	E-RAB-ID,
	E-RABLevelQoSParameters,
	E-RABList,
	RelayNode-Indicator,
	Routing-ID,
	SecurityKey,
	SecurityContext,
	ServedGUMMEIs,
	SONConfigurationTransfer,
	Source-ToTarget-TransparentContainer,
	SourceBSS-ToTargetBSS-TransparentContainer,
	SourceeNB-ToTargeteNB-TransparentContainer,
	SourceRNC-ToTargetRNC-TransparentContainer,
	SubscriberProfileIDforRFP,
	SRVCCOperationNotPossible,
	SRVCCOperationPossible,
	SRVCCHOIndication,
	SupportedTAs,
	TAI,
	Target-ToSource-TransparentContainer,
	TargetBSS-ToSourceBSS-TransparentContainer,	
	TargeteNB-ToSourceeNB-TransparentContainer,
	TargetID,
	TargetRNC-ToSourceRNC-TransparentContainer,
	TimeToWait,
	TraceActivation,
	TrafficLoadReductionIndication,
	E-UTRAN-Trace-ID,
	TransportLayerAddress,
	UEIdentityIndexValue,
	UEPagingID,
	UERadioCapability,
	UERadioCapabilityForPaging,
	UE-RetentionInformation,
	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,
	GUMMEIList,
	Correlation-ID,
	GWContextReleaseIndication,
	PrivacyIndicator,
	VoiceSupportMatchIndicator,
	TunnelInformation,
	KillAllWarningMessages,
	TransportInformation,
	LHN-ID,
	UserLocationInformation,
	AdditionalCSFallbackIndicator,
	ECGIListForRestart,
	TAIListForRestart,
	EmergencyAreaIDListForRestart,
	ExpectedUEBehaviour,
	Paging-eDRXInformation,
	Extended-UEIdentityIndexValue,
	MME-Group-ID,
	Additional-GUTI,
	PWSfailedECGIList,
	CellIdentifierAndCELevelForCECapableUEs,
	AssistanceDataForPaging,
	InformationOnRecommendedCellsAndENBsForPaging,
	UE-Usage-Type,
	UEUserPlaneCIoTSupportIndicator,
	NB-IoT-DefaultPagingDRX,
	NB-IoT-Paging-eDRXInformation,
	CE-mode-B-SupportIndicator,
	NB-IoT-UEIdentityIndexValue,
	V2XServicesAuthorized,
	DCN-ID,
	ServedDCNs,
	UESidelinkAggregateMaximumBitrate,
	DLNASPDUDeliveryAckRequest,
	Coverage-Level,
	EnhancedCoverageRestricted,
	DL-CP-SecurityInformation,
	UL-CP-SecurityInformation,
	SecondaryRATDataUsageRequest,
	SecondaryRATDataUsageReportList,
	HandoverFlag,
	NRUESecurityCapabilities,
	UE-Application-Layer-Measurement-Capability,
	CE-ModeBRestricted,
	Packet-LossRate,
 	UECapabilityInfoRequest,
	SourceNgRanNode-ToTargetNgRanNode-TransparentContainer,
	TargetNgRanNode-ToSourceNgRanNode-TransparentContainer,
	EndIndication,
	EDT-Session,
	LTE-M-Indication,
	AerialUEsubscriptionInformation,
	PendingDataIndication,
	WarningAreaCoordinates,
	Subscription-Based-UE-DifferentiationInfo,
	PSCellInformation,
	NR-CGI,
	ConnectedengNBList,
	EN-DCSONConfigurationTransfer,
	TimeSinceSecondaryNodeRelease,
	AdditionalRRMPriorityIndex




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-AssistanceDataForPaging,
	id-AerialUEsubscriptionInformation,
	id-uEaggregateMaximumBitrate,
	id-BearerType,
	id-Cause,
	id-CellAccessMode,
	id-CellIdentifierAndCELevelForCECapableUEs,
	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-GUMMEIType,
	id-HandoverRestrictionList,
	id-HandoverType,
	id-Masked-IMEISV,
	id-InformationOnRecommendedCellsAndENBsForPaging,
	id-InitialContextSetup,
	id-Inter-SystemInformationTransferTypeEDT,
	id-Inter-SystemInformationTransferTypeMDT,
	id-LPPa-PDU,
	id-NAS-DownlinkCount,
	id-ManagementBasedMDTAllowed,
	id-ManagementBasedMDTPLMNList,
	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-PagingPriority,
	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-RABFailedToResumeListResumeReq,
	id-E-RABFailedToResumeItemResumeReq,
	id-E-RABFailedToResumeListResumeRes,
	id-E-RABFailedToResumeItemResumeRes,
	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-RABToBeModifiedListBearerModInd,
	id-E-RABToBeModifiedItemBearerModInd,
	id-E-RABNotToBeModifiedListBearerModInd,
	id-E-RABNotToBeModifiedItemBearerModInd,
	id-E-RABModifyListBearerModConf,
	id-E-RABModifyItemBearerModConf,
	id-E-RABFailedToModifyListBearerModConf, 
	id-E-RABToBeReleasedListBearerModConf,
	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-ProSeAuthorized,
	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-SRVCCOperationNotPossible,
	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-TrafficLoadReductionIndication,
	id-E-UTRAN-Trace-ID,
	id-UEIdentityIndexValue,
	id-UEPagingID,
	id-UERadioCapability,
	id-UERadioCapabilityForPaging,
	id-UTRANtoLTEHOInformationRes,
	id-UE-associatedLogicalS1-ConnectionListResAck,
	id-UE-associatedLogicalS1-ConnectionItem,
	id-UE-RetentionInformation,
	id-UESecurityCapabilities,
	id-UE-S1AP-IDs,
	id-V2XServicesAuthorized,
	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,
	id-AdditionalRRMPriorityIndex,
	maxnoofTAIs,
	maxnoofErrors,
	maxnoofE-RABs,
	maxnoofIndividualS1ConnectionsToReset,
	maxnoofEmergencyAreaID,
	maxnoofCellID,
	maxnoofTAIforWarning,
	maxnoofCellinTAI,
	maxnoofCellinEAI,
	id-ExtendedRepetitionPeriod,
	id-PS-ServiceNotAvailable,
	id-RegisteredLAI,
	id-GUMMEIList,
	id-SourceMME-GUMMEI,
	id-MME-UE-S1AP-ID-2,
	id-GW-TransportLayerAddress,
	id-RelayNode-Indicator,
	id-Correlation-ID,
	id-MMERelaySupportIndicator,
	id-GWContextReleaseIndication,
	id-PrivacyIndicator,
	id-VoiceSupportMatchIndicator,
	id-Tunnel-Information-for-BBF,
	id-SIPTO-Correlation-ID,
	id-SIPTO-L-GW-TransportLayerAddress,
	id-KillAllWarningMessages,
	id-TransportInformation,
	id-LHN-ID,
	id-UserLocationInformation,
	id-AdditionalCSFallbackIndicator,
	id-ECGIListForRestart,
	id-TAIListForRestart,
	id-EmergencyAreaIDListForRestart,
	id-ExpectedUEBehaviour,
	id-Paging-eDRXInformation,
	id-extended-UEIdentityIndexValue,
	id-CSGMembershipInfo,
	id-MME-Group-ID,
	id-Additional-GUTI,
	id-S1-Message,
	id-PWSfailedECGIList,
	id-PWSFailureIndication,
	id-UE-Usage-Type,
	id-UEUserPlaneCIoTSupportIndicator,
	id-NB-IoT-DefaultPagingDRX,
	id-NB-IoT-Paging-eDRXInformation,
	id-CE-mode-B-SupportIndicator,
	id-NB-IoT-UEIdentityIndexValue,
	id-RRC-Resume-Cause,
	id-DCN-ID,
	id-ServedDCNs,
	id-UESidelinkAggregateMaximumBitrate,
	id-DLNASPDUDeliveryAckRequest,
	id-Coverage-Level,
	id-EnhancedCoverageRestricted,
	id-UE-Level-QoS-Parameters,
	id-DL-CP-SecurityInformation,
	id-UL-CP-SecurityInformation,
	id-SecondaryRATDataUsageRequest,
	id-SecondaryRATDataUsageReportList,
	id-HandoverFlag,
	id-NRUESecurityCapabilities,
	id-UE-Application-Layer-Measurement-Capability,
	id-CE-ModeBRestricted,
	id-DownlinkPacketLossRate,
	id-UplinkPacketLossRate,
	id-UECapabilityInfoRequest,
	id-EndIndication,
	id-EDT-Session,
	id-LTE-M-Indication,
	id-PendingDataIndication,
	id-WarningAreaCoordinates,
	id-Subscription-Based-UE-DifferentiationInfo,
	id-PSCellInformation,
	id-ConnectedengNBList,
	id-ConnectedengNBToAddList,
	id-ConnectedengNBToRemoveList,
	id-EN-DCSONConfigurationTransfer-ECT,
	id-EN-DCSONConfigurationTransfer-MCT,
	id-TimeSinceSecondaryNodeRelease



FROM S1AP-Constants;

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

E-RAB-IE-ContainerList			{ S1AP-PROTOCOL-IES      : IEsSetParam }	::= ProtocolIE-ContainerList     { 1, maxnoofE-RABs,   {IEsSetParam} }
E-RAB-IE-ContainerPairList		{ S1AP-PROTOCOL-IES-PAIR : IEsSetParam }	::= ProtocolIE-ContainerPairList { 1, maxnoofE-RABs,   {IEsSetParam} }
ProtocolError-IE-ContainerList	{ S1AP-PROTOCOL-IES      : IEsSetParam }	::= ProtocolIE-ContainerList     { 1, maxnoofE-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}|
	{ ID id-GUMMEI-ID								CRITICALITY ignore	TYPE GUMMEI								PRESENCE optional}|
	{ ID id-MME-UE-S1AP-ID-2						CRITICALITY ignore	TYPE MME-UE-S1AP-ID						PRESENCE optional}|
	{ ID id-ManagementBasedMDTAllowed				CRITICALITY ignore	TYPE ManagementBasedMDTAllowed			PRESENCE optional}|
	{ ID id-ManagementBasedMDTPLMNList				CRITICALITY ignore	TYPE MDTPLMNList						PRESENCE optional}|
	{ ID id-Masked-IMEISV							CRITICALITY ignore	TYPE Masked-IMEISV						PRESENCE optional}|
	{ ID id-ExpectedUEBehaviour						CRITICALITY ignore	TYPE ExpectedUEBehaviour				PRESENCE optional}|
	{ ID id-ProSeAuthorized							CRITICALITY ignore	TYPE ProSeAuthorized					PRESENCE optional}|
	{ ID id-UEUserPlaneCIoTSupportIndicator			CRITICALITY ignore	TYPE UEUserPlaneCIoTSupportIndicator 		PRESENCE optional}|
	{ ID id-V2XServicesAuthorized					CRITICALITY ignore	TYPE V2XServicesAuthorized			PRESENCE optional}|
	{ ID id-UESidelinkAggregateMaximumBitrate		CRITICALITY ignore	TYPE UESidelinkAggregateMaximumBitrate		PRESENCE optional}|
	{ ID id-EnhancedCoverageRestricted				CRITICALITY ignore	TYPE EnhancedCoverageRestricted			PRESENCE optional}|
	{ ID id-NRUESecurityCapabilities				CRITICALITY ignore	TYPE NRUESecurityCapabilities			PRESENCE optional}|
	{ ID id-CE-ModeBRestricted						CRITICALITY ignore	TYPE CE-ModeBRestricted					PRESENCE optional}|
	{ ID id-AerialUEsubscriptionInformation			CRITICALITY ignore	TYPE AerialUEsubscriptionInformation				PRESENCE optional}|
	{ ID id-PendingDataIndication					CRITICALITY ignore	TYPE PendingDataIndication			PRESENCE optional}|
	{ ID id-Subscription-Based-UE-DifferentiationInfo		CRITICALITY ignore	TYPE Subscription-Based-UE-DifferentiationInfo		PRESENCE optional}|
	{ ID id-AdditionalRRMPriorityIndex			CRITICALITY ignore	TYPE AdditionalRRMPriorityIndex		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}|
	{ ID id-BearerType							CRITICALITY reject	EXTENSION BearerType					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}|
	{ ID id-CellAccessMode							CRITICALITY ignore	TYPE CellAccessMode						PRESENCE optional}|
	{ ID id-CE-mode-B-SupportIndicator				CRITICALITY ignore	TYPE CE-mode-B-SupportIndicator			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}|
-- Extension for Release 11 to support BBAI -- 
	{ ID id-Tunnel-Information-for-BBF		CRITICALITY ignore	TYPE TunnelInformation		PRESENCE optional}|
	{ ID id-LHN-ID							CRITICALITY ignore	TYPE LHN-ID					PRESENCE optional}|
	{ ID id-PSCellInformation				CRITICALITY ignore	TYPE PSCellInformation		PRESENCE optional },
	...
}

-- **************************************************************
--
-- 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}|
	{ ID id-CSG-Id							CRITICALITY ignore	TYPE CSG-Id						PRESENCE optional}|
	{ ID id-CellAccessMode					CRITICALITY ignore	TYPE CellAccessMode				PRESENCE optional}|
	{ ID id-SourceMME-GUMMEI				CRITICALITY ignore	TYPE GUMMEI						PRESENCE optional}|
	{ ID id-CSGMembershipStatus				CRITICALITY ignore	TYPE CSGMembershipStatus		PRESENCE optional}|
-- Extension for Release 11 to support BBAI -- 
	{ ID id-Tunnel-Information-for-BBF		CRITICALITY ignore	TYPE TunnelInformation			PRESENCE optional}|
	{ ID id-LHN-ID							CRITICALITY ignore	TYPE LHN-ID						PRESENCE optional}|
	{ ID id-RRC-Resume-Cause				CRITICALITY ignore	TYPE RRC-Establishment-Cause	PRESENCE optional }|
	{ ID id-NRUESecurityCapabilities				CRITICALITY ignore	TYPE NRUESecurityCapabilities			PRESENCE optional}|
	{ ID id-PSCellInformation				CRITICALITY ignore	TYPE PSCellInformation			PRESENCE optional },
	...
}

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}|
	{ ID id-MME-UE-S1AP-ID-2				CRITICALITY ignore	TYPE MME-UE-S1AP-ID						PRESENCE optional}|
	{ ID id-CSGMembershipStatus				CRITICALITY ignore	TYPE CSGMembershipStatus				PRESENCE optional}|
	{ ID id-ProSeAuthorized					CRITICALITY ignore	TYPE ProSeAuthorized					PRESENCE optional}|
	{ ID id-UEUserPlaneCIoTSupportIndicator	CRITICALITY ignore	TYPE UEUserPlaneCIoTSupportIndicator	PRESENCE optional}|
	{ ID id-V2XServicesAuthorized			CRITICALITY ignore	TYPE V2XServicesAuthorized				PRESENCE optional}|
	{ ID id-UESidelinkAggregateMaximumBitrate		CRITICALITY ignore	TYPE UESidelinkAggregateMaximumBitrate	PRESENCE optional}|
	{ ID id-EnhancedCoverageRestricted		CRITICALITY ignore	TYPE EnhancedCoverageRestricted			PRESENCE optional}|
	{ ID id-NRUESecurityCapabilities				CRITICALITY ignore	TYPE NRUESecurityCapabilities			PRESENCE optional}|
	{ ID id-CE-ModeBRestricted				CRITICALITY ignore	TYPE CE-ModeBRestricted			PRESENCE optional}|
	{ ID id-AerialUEsubscriptionInformation			CRITICALITY ignore	TYPE AerialUEsubscriptionInformation				PRESENCE optional}|
	{ ID id-PendingDataIndication			CRITICALITY ignore	TYPE PendingDataIndication				PRESENCE optional}|
	{ ID id-Subscription-Based-UE-DifferentiationInfo		CRITICALITY ignore	TYPE Subscription-Based-UE-DifferentiationInfo		PRESENCE optional}|
	{ ID id-HandoverRestrictionList			CRITICALITY ignore	TYPE HandoverRestrictionList			PRESENCE optional}|
	{ ID id-AdditionalRRMPriorityIndex		CRITICALITY ignore	TYPE AdditionalRRMPriorityIndex			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.. maxnoofE-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 ::= {
	{ ID id-Correlation-ID			CRITICALITY ignore	EXTENSION Correlation-ID		PRESENCE optional}|
	{ ID id-SIPTO-Correlation-ID	CRITICALITY ignore	EXTENSION Correlation-ID		PRESENCE optional}|
	{ ID id-BearerType				CRITICALITY reject	EXTENSION BearerType			PRESENCE optional},
	...
}


-- **************************************************************
--
-- 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.. maxnoofE-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	}|
	{ ID id-SecondaryRATDataUsageRequest		CRITICALITY ignore	TYPE SecondaryRATDataUsageRequest		PRESENCE optional	},
	...
}

E-RABToBeModifiedListBearerModReq ::= SEQUENCE (SIZE(1.. maxnoofE-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 ::= {
	{ ID id-TransportInformation	CRITICALITY reject	EXTENSION TransportInformation		PRESENCE optional},
	...
}



-- **************************************************************
--
-- 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	}|
	{ ID id-SecondaryRATDataUsageReportList		CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList			PRESENCE optional	},
	...
}


E-RABModifyListBearerModRes ::= SEQUENCE (SIZE(1.. maxnoofE-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	}|
-- Extension for Release 12 to support User Location Information -- 
	{ ID id-UserLocationInformation			CRITICALITY ignore	TYPE UserLocationInformation			PRESENCE optional	}|
	{ ID id-SecondaryRATDataUsageReportList		CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList			PRESENCE optional	},
	...
}


E-RABReleaseListBearerRelComp ::= SEQUENCE (SIZE(1.. maxnoofE-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	}|
-- Extension for Release 12 to support User Location Information -- 
	{ ID id-UserLocationInformation			CRITICALITY ignore	TYPE UserLocationInformation		PRESENCE optional	}|
	{ ID id-SecondaryRATDataUsageReportList		CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList		PRESENCE optional	},
	...
}
-- **************************************************************
--
-- 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}|
	{ ID id-GUMMEI-ID						CRITICALITY ignore	TYPE GUMMEI								PRESENCE optional}|
	{ ID id-MME-UE-S1AP-ID-2				CRITICALITY ignore	TYPE MME-UE-S1AP-ID						PRESENCE optional}|
	{ ID id-ManagementBasedMDTAllowed		CRITICALITY ignore	TYPE ManagementBasedMDTAllowed			PRESENCE optional}|
	{ ID id-ManagementBasedMDTPLMNList		CRITICALITY ignore	TYPE MDTPLMNList						PRESENCE optional}|
	{ ID id-AdditionalCSFallbackIndicator	CRITICALITY ignore	TYPE AdditionalCSFallbackIndicator	PRESENCE conditional}|
	{ ID id-Masked-IMEISV					CRITICALITY ignore	TYPE Masked-IMEISV						PRESENCE optional}|
	{ ID id-ExpectedUEBehaviour				CRITICALITY ignore	TYPE ExpectedUEBehaviour				PRESENCE optional}|
	{ ID id-ProSeAuthorized					CRITICALITY ignore	TYPE ProSeAuthorized					PRESENCE optional}|
	{ ID id-UEUserPlaneCIoTSupportIndicator	CRITICALITY ignore	TYPE UEUserPlaneCIoTSupportIndicator	PRESENCE optional}|
	{ ID id-V2XServicesAuthorized			CRITICALITY ignore	TYPE V2XServicesAuthorized				PRESENCE optional}|
	{ ID id-UESidelinkAggregateMaximumBitrate		CRITICALITY ignore	TYPE UESidelinkAggregateMaximumBitrate	PRESENCE optional}|
	{ ID id-EnhancedCoverageRestricted		CRITICALITY ignore	TYPE EnhancedCoverageRestricted			PRESENCE optional}|
	{ ID id-NRUESecurityCapabilities				CRITICALITY ignore	TYPE NRUESecurityCapabilities			PRESENCE optional}|
	{ ID id-CE-ModeBRestricted				CRITICALITY ignore	TYPE CE-ModeBRestricted			PRESENCE optional}|
	{ ID id-AerialUEsubscriptionInformation	CRITICALITY ignore	TYPE AerialUEsubscriptionInformation				PRESENCE optional}|
	{ ID id-PendingDataIndication			CRITICALITY ignore	TYPE PendingDataIndication				PRESENCE optional}|
	{ ID id-Subscription-Based-UE-DifferentiationInfo		CRITICALITY ignore	TYPE Subscription-Based-UE-DifferentiationInfo		PRESENCE optional}|
	{ ID id-AdditionalRRMPriorityIndex		CRITICALITY ignore	TYPE AdditionalRRMPriorityIndex			PRESENCE optional },
	...
}




E-RABToBeSetupListCtxtSUReq ::= SEQUENCE (SIZE(1.. maxnoofE-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 ::= {
	{ ID id-Correlation-ID					CRITICALITY ignore	EXTENSION Correlation-ID			PRESENCE optional}|
	{ ID id-SIPTO-Correlation-ID			CRITICALITY ignore	EXTENSION Correlation-ID			PRESENCE optional}|
	{ ID id-BearerType						CRITICALITY reject	EXTENSION BearerType				PRESENCE optional},
	...
}


-- **************************************************************
--
-- 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.. maxnoofE-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}|
	{ ID id-PagingPriority					CRITICALITY ignore	TYPE PagingPriority						PRESENCE optional}|
	{ ID id-UERadioCapabilityForPaging		CRITICALITY ignore	TYPE UERadioCapabilityForPaging			PRESENCE optional}|
-- Extension for Release 13 to support Paging Optimisation and Coverage Enhancement paging -
	{ ID id-AssistanceDataForPaging			CRITICALITY ignore	TYPE AssistanceDataForPaging			PRESENCE optional}|
	{ ID id-Paging-eDRXInformation			CRITICALITY ignore	TYPE Paging-eDRXInformation				PRESENCE optional}|
	{ ID id-extended-UEIdentityIndexValue	CRITICALITY ignore	TYPE Extended-UEIdentityIndexValue	PRESENCE optional}|
	{ ID id-NB-IoT-Paging-eDRXInformation	CRITICALITY ignore	TYPE NB-IoT-Paging-eDRXInformation	PRESENCE optional}|
	{ ID id-NB-IoT-UEIdentityIndexValue		CRITICALITY ignore	TYPE NB-IoT-UEIdentityIndexValue		PRESENCE optional}|
	{ ID id-EnhancedCoverageRestricted		CRITICALITY ignore	TYPE EnhancedCoverageRestricted			PRESENCE optional}|
	{ ID id-CE-ModeBRestricted				CRITICALITY ignore	TYPE CE-ModeBRestricted			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	}|
	{ ID id-GWContextReleaseIndication		CRITICALITY reject	TYPE GWContextReleaseIndication		PRESENCE optional	}|
	{ ID id-SecondaryRATDataUsageReportList	CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList	PRESENCE optional },
	...
}

-- **************************************************************
--
-- 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}|
-- Extension for Release 12 to support User Location Information -- 
	{ ID id-UserLocationInformation						CRITICALITY ignore	TYPE UserLocationInformation				PRESENCE optional}|
-- Extension for Release 13 to support Paging Optimisation
	{ ID id-InformationOnRecommendedCellsAndENBsForPaging	CRITICALITY ignore	TYPE InformationOnRecommendedCellsAndENBsForPaging		PRESENCE optional}|
-- Extension for Release 13 to support coverage enhancement paging 
	{ ID id-CellIdentifierAndCELevelForCECapableUEs		CRITICALITY ignore	TYPE CellIdentifierAndCELevelForCECapableUEs	PRESENCE optional}|
	{ ID id-SecondaryRATDataUsageReportList				CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList		PRESENCE optional }|
	{ ID id-TimeSinceSecondaryNodeRelease				CRITICALITY ignore	TYPE TimeSinceSecondaryNodeRelease				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}|
	{ ID id-AdditionalCSFallbackIndicator		CRITICALITY ignore	TYPE AdditionalCSFallbackIndicator		PRESENCE conditional}|
	{ ID id-ProSeAuthorized						CRITICALITY ignore	TYPE ProSeAuthorized						PRESENCE optional}|
	{ ID id-SRVCCOperationPossible				CRITICALITY ignore	TYPE SRVCCOperationPossible					PRESENCE optional}|
	{ ID id-SRVCCOperationNotPossible			CRITICALITY ignore	TYPE SRVCCOperationNotPossible			PRESENCE optional}|
	{ ID id-V2XServicesAuthorized				CRITICALITY ignore	TYPE V2XServicesAuthorized					PRESENCE optional}|
	{ ID id-UESidelinkAggregateMaximumBitrate	CRITICALITY ignore	TYPE UESidelinkAggregateMaximumBitrate	PRESENCE optional}|
	{ ID id-NRUESecurityCapabilities			CRITICALITY ignore	TYPE NRUESecurityCapabilities				PRESENCE optional}|
	{ ID id-AerialUEsubscriptionInformation		CRITICALITY ignore	TYPE AerialUEsubscriptionInformation	PRESENCE optional}|
	{ ID id-AdditionalRRMPriorityIndex			CRITICALITY ignore	TYPE AdditionalRRMPriorityIndex			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	},
	...
}

-- **************************************************************
--
-- UE RADIO CAPABILITY MATCH ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- UE Radio Capability Match Request
--
-- **************************************************************

UERadioCapabilityMatchRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UERadioCapabilityMatchRequestIEs} },
	...
}

UERadioCapabilityMatchRequestIEs 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 optional	},
	...
}

-- **************************************************************
--
-- UE Radio Capability Match Response
--
-- **************************************************************

UERadioCapabilityMatchResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UERadioCapabilityMatchResponseIEs} },
	...
}

UERadioCapabilityMatchResponseIEs 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-VoiceSupportMatchIndicator	CRITICALITY reject	TYPE VoiceSupportMatchIndicator		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}|
	{ ID id-SubscriberProfileIDforRFP	CRITICALITY ignore	TYPE SubscriberProfileIDforRFP		PRESENCE optional}|
	{ ID id-SRVCCOperationPossible		CRITICALITY ignore	TYPE SRVCCOperationPossible			PRESENCE optional}|
	{ ID id-UERadioCapability			CRITICALITY ignore	TYPE UERadioCapability				PRESENCE optional}|
	{ ID id-DLNASPDUDeliveryAckRequest	CRITICALITY ignore	TYPE DLNASPDUDeliveryAckRequest	PRESENCE optional}|
	{ ID id-EnhancedCoverageRestricted	CRITICALITY ignore	TYPE EnhancedCoverageRestricted		PRESENCE optional}|
	{ ID id-NRUESecurityCapabilities	CRITICALITY ignore	TYPE NRUESecurityCapabilities		PRESENCE optional}|
	{ ID id-CE-ModeBRestricted			CRITICALITY ignore	TYPE CE-ModeBRestricted				PRESENCE optional}|
	{ ID id-UECapabilityInfoRequest		CRITICALITY ignore	TYPE UECapabilityInfoRequest	PRESENCE optional}|
	{ ID id-EndIndication				CRITICALITY ignore	TYPE EndIndication					PRESENCE optional}|
	{ ID id-PendingDataIndication		CRITICALITY ignore	TYPE PendingDataIndication			PRESENCE optional}|
	{ ID id-Subscription-Based-UE-DifferentiationInfo		CRITICALITY ignore	TYPE Subscription-Based-UE-DifferentiationInfo		PRESENCE optional}|
	{ ID id-AdditionalRRMPriorityIndex	CRITICALITY ignore	TYPE AdditionalRRMPriorityIndex		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}|
	{ ID id-GW-TransportLayerAddress	CRITICALITY ignore	TYPE TransportLayerAddress			PRESENCE optional}|
	{ ID id-RelayNode-Indicator			CRITICALITY reject	TYPE RelayNode-Indicator			PRESENCE optional}|
	{ ID id-GUMMEIType					CRITICALITY ignore	TYPE GUMMEIType						PRESENCE optional}|
-- Extension for Release 11 to support BBAI -- 
	{ ID id-Tunnel-Information-for-BBF	CRITICALITY ignore	TYPE TunnelInformation				PRESENCE optional}|
	{ ID id-SIPTO-L-GW-TransportLayerAddress	CRITICALITY ignore	TYPE TransportLayerAddress	PRESENCE optional}|
	{ ID id-LHN-ID						CRITICALITY ignore	TYPE LHN-ID							PRESENCE optional}|
	{ ID id-MME-Group-ID				CRITICALITY ignore	TYPE MME-Group-ID					PRESENCE optional}|
	{ ID id-UE-Usage-Type				CRITICALITY ignore	TYPE UE-Usage-Type					PRESENCE optional}|
	{ ID id-CE-mode-B-SupportIndicator	CRITICALITY ignore	TYPE CE-mode-B-SupportIndicator		PRESENCE optional}|
	{ ID id-DCN-ID						CRITICALITY ignore	TYPE DCN-ID							PRESENCE optional}|
	{ ID id-Coverage-Level           	CRITICALITY ignore	TYPE Coverage-Level				PRESENCE optional}|
	{ ID id-UE-Application-Layer-Measurement-Capability		CRITICALITY ignore	TYPE UE-Application-Layer-Measurement-Capability							PRESENCE optional}|
	{ ID id-EDT-Session		           	CRITICALITY ignore	TYPE EDT-Session					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}|
	{ ID id-GW-TransportLayerAddress	CRITICALITY ignore	TYPE TransportLayerAddress			PRESENCE optional}|
	{ ID id-SIPTO-L-GW-TransportLayerAddress	CRITICALITY ignore	TYPE TransportLayerAddress	PRESENCE optional}|
	{ ID id-LHN-ID						CRITICALITY ignore	TYPE LHN-ID							PRESENCE optional}|
	{ ID id-PSCellInformation			CRITICALITY ignore	TYPE PSCellInformation				PRESENCE optional },
	...
}
-- **************************************************************
--
-- 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	},
	...
}

-- **************************************************************
--
-- REROUTE NAS REQUEST
--
-- **************************************************************

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

RerouteNASRequest-IEs S1AP-PROTOCOL-IES ::= {
	{ ID id-eNB-UE-S1AP-ID			CRITICALITY reject	TYPE ENB-UE-S1AP-ID			PRESENCE mandatory}|
	{ ID id-MME-UE-S1AP-ID			CRITICALITY ignore	TYPE MME-UE-S1AP-ID			PRESENCE optional}|
	{ ID id-S1-Message				CRITICALITY reject	TYPE OCTET STRING			PRESENCE mandatory}|
	{ ID id-MME-Group-ID			CRITICALITY reject	TYPE MME-Group-ID			PRESENCE mandatory}|
	{ ID id-Additional-GUTI			CRITICALITY ignore	TYPE Additional-GUTI		PRESENCE optional}|
	{ ID id-UE-Usage-Type			CRITICALITY ignore	TYPE UE-Usage-Type			PRESENCE optional},
	...
}


-- **************************************************************
--
-- NAS DELIVERY INDICATION
--
-- **************************************************************

NASDeliveryIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { { NASDeliveryIndicationIEs} },
	...
}

NASDeliveryIndicationIEs 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},
	...
}

-- **************************************************************
--
-- 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.. maxnoofIndividualS1ConnectionsToReset)) 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.. maxnoofIndividualS1ConnectionsToReset)) 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	}|
	{ ID id-S-TMSI						CRITICALITY ignore	TYPE S-TMSI						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}|
	{ ID id-UE-RetentionInformation		CRITICALITY ignore	TYPE UE-RetentionInformation	PRESENCE optional}|
	{ ID id-NB-IoT-DefaultPagingDRX		CRITICALITY ignore	TYPE NB-IoT-DefaultPagingDRX	PRESENCE optional}|
	{ ID id-ConnectedengNBList			CRITICALITY ignore	TYPE ConnectedengNBList			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-MMERelaySupportIndicator	CRITICALITY ignore	TYPE MMERelaySupportIndicator	PRESENCE optional}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional}|
	{ ID id-UE-RetentionInformation		CRITICALITY ignore	TYPE UE-RetentionInformation	PRESENCE optional}|
	{ ID id-ServedDCNs					CRITICALITY ignore	TYPE ServedDCNs					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}|
	{ ID id-NB-IoT-DefaultPagingDRX		CRITICALITY ignore	TYPE NB-IoT-DefaultPagingDRX	PRESENCE optional}|
	{ ID id-ConnectedengNBToAddList		CRITICALITY ignore	TYPE ConnectedengNBList			PRESENCE optional}|
	{ ID id-ConnectedengNBToRemoveList	CRITICALITY ignore	TYPE ConnectedengNBList			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	}|
	{ ID id-ServedDCNs				CRITICALITY ignore	TYPE ServedDCNs				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 TUNNELLING ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Downlink S1 CDMA2000 Tunnelling
--
-- **************************************************************

DownlinkS1cdma2000tunnelling ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {DownlinkS1cdma2000tunnellingIEs} },
	...
}

DownlinkS1cdma2000tunnellingIEs 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 TUNNELLING ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- Uplink S1 CDMA2000 Tunnelling
--
-- **************************************************************

UplinkS1cdma2000tunnelling ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {UplinkS1cdma2000tunnellingIEs} },
	...
}

UplinkS1cdma2000tunnellingIEs 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}|
	{ ID id-UERadioCapabilityForPaging	CRITICALITY ignore	TYPE UERadioCapabilityForPaging		PRESENCE optional}|
	{ ID id-UE-Application-Layer-Measurement-Capability		CRITICALITY ignore	TYPE UE-Application-Layer-Measurement-Capability							PRESENCE optional}|
	{ ID id-LTE-M-Indication				CRITICALITY ignore	TYPE LTE-M-Indication				PRESENCE optional},
	...
}

-- **************************************************************
--
-- 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	}|
	{ID id-PrivacyIndicator					CRITICALITY ignore	TYPE PrivacyIndicator			PRESENCE optional	},
	...
}

-- **************************************************************
--
-- 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	}|
	{ ID id-PSCellInformation		CRITICALITY ignore	TYPE PSCellInformation			PRESENCE optional },
	...
}

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

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

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

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

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

OverloadStopIEs S1AP-PROTOCOL-IES ::= {	
{ ID id-GUMMEIList								CRITICALITY ignore	TYPE GUMMEIList						PRESENCE optional	},
	...
}
-- **************************************************************
--
-- 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	}|
	{ ID id-WarningAreaCoordinates				CRITICALITY ignore	TYPE WarningAreaCoordinates				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	}|
	{ ID id-EN-DCSONConfigurationTransfer-ECT	CRITICALITY ignore	TYPE EN-DCSONConfigurationTransfer	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	}|
	{ ID id-EN-DCSONConfigurationTransfer-MCT	CRITICALITY ignore	TYPE EN-DCSONConfigurationTransfer	PRESENCE optional	},
	...
}

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

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

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

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

-- **************************************************************
--
-- KILL PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- 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}|
	{ ID id-KillAllWarningMessages		CRITICALITY reject	TYPE KillAllWarningMessages	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	},
	...
}

-- **************************************************************
--
-- PWS RESTART INDICATION PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- PWS Restart Indication
--
-- **************************************************************

PWSRestartIndication::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       {{ PWSRestartIndicationIEs}},
	...
}

PWSRestartIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-ECGIListForRestart				CRITICALITY reject	TYPE ECGIListForRestart					PRESENCE mandatory}|
	{ ID id-Global-ENB-ID					CRITICALITY reject	TYPE Global-ENB-ID						PRESENCE mandatory}|
	{ ID id-TAIListForRestart				CRITICALITY reject	TYPE TAIListForRestart					PRESENCE mandatory}|
	{ ID id-EmergencyAreaIDListForRestart	CRITICALITY reject	TYPE EmergencyAreaIDListForRestart	PRESENCE optional},
	...
}

-- **************************************************************
--
-- PWS Failure Indication
--
-- **************************************************************

PWSFailureIndication::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       {{ PWSFailureIndicationIEs}},
	...
}

PWSFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-PWSfailedECGIList		CRITICALITY reject	TYPE PWSfailedECGIList	PRESENCE mandatory}|
	{ ID id-Global-ENB-ID			CRITICALITY reject	TYPE Global-ENB-ID		PRESENCE mandatory},
	...
}

-- **************************************************************
--
-- 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	},
	...
}


-- **************************************************************
--
-- E-RAB MODIFICATION INDICATION ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- E-RAB Modification Indication
--
-- **************************************************************

E-RABModificationIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { E-RABModificationIndicationIEs} },
	...
}

E-RABModificationIndicationIEs 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-RABToBeModifiedListBearerModInd		CRITICALITY reject	TYPE E-RABToBeModifiedListBearerModInd		PRESENCE mandatory}|
	{ ID id-E-RABNotToBeModifiedListBearerModInd	CRITICALITY reject	TYPE E-RABNotToBeModifiedListBearerModInd	PRESENCE optional}|
	{ ID id-CSGMembershipInfo						CRITICALITY reject	TYPE CSGMembershipInfo					PRESENCE optional}|
-- Extension for Release 11 to support BBAI -- 
	{ ID id-Tunnel-Information-for-BBF				CRITICALITY ignore	TYPE TunnelInformation					PRESENCE optional}|
	{ ID id-SecondaryRATDataUsageReportList			CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList		PRESENCE optional }|
{ ID id-UserLocationInformation					CRITICALITY ignore	TYPE UserLocationInformation			PRESENCE optional },
	...
}

E-RABToBeModifiedListBearerModInd ::= E-RAB-IE-ContainerList { {E-RABToBeModifiedItemBearerModIndIEs} }

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

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

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

E-RABNotToBeModifiedListBearerModInd ::= E-RAB-IE-ContainerList { {E-RABNotToBeModifiedItemBearerModIndIEs} }

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

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

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

CSGMembershipInfo ::= SEQUENCE {
	cSGMembershipStatus		CSGMembershipStatus,
	cSG-Id					CSG-Id,
	cellAccessMode			CellAccessMode	OPTIONAL,
	pLMNidentity			PLMNidentity	OPTIONAL,
	iE-Extensions			ProtocolExtensionContainer { { CSGMembershipInfo-ExtIEs} }		OPTIONAL,
	...
}

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

-- **************************************************************
--
-- E-RAB Modification Confirm
--
-- **************************************************************

E-RABModificationConfirm ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { {E-RABModificationConfirmIEs} },
	...
}

E-RABModificationConfirmIEs 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-RABModifyListBearerModConf			CRITICALITY ignore	TYPE E-RABModifyListBearerModConf	PRESENCE optional}|
	{ ID id-E-RABFailedToModifyListBearerModConf	CRITICALITY ignore	TYPE E-RABList						PRESENCE optional}|
	{ ID id-E-RABToBeReleasedListBearerModConf		CRITICALITY ignore	TYPE E-RABList						PRESENCE optional}|
	{ ID id-CriticalityDiagnostics					CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional}|
	{ ID id-CSGMembershipStatus						CRITICALITY ignore	TYPE CSGMembershipStatus			PRESENCE optional},
	...
}

E-RABModifyListBearerModConf ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {E-RABModifyItemBearerModConfIEs} }

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

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


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


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

-- **************************************************************
--
-- UE Context Modification Indication
--
-- **************************************************************

UEContextModificationIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextModificationIndicationIEs} },
	...
}

UEContextModificationIndicationIEs 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-CSGMembershipInfo		CRITICALITY reject	TYPE CSGMembershipInfo		PRESENCE optional},
	...
}


-- **************************************************************
--
-- UE Context Modification Confirm
--
-- **************************************************************

UEContextModificationConfirm ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { {UEContextModificationConfirmIEs} },
	...
}

UEContextModificationConfirmIEs 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-CSGMembershipStatus			CRITICALITY ignore	TYPE CSGMembershipStatus		PRESENCE optional}|
	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional},
	...
}

-- **************************************************************
--
-- UE CONTEXT SUSPEND ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- UE Context Suspend Request
--
-- **************************************************************

UEContextSuspendRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextSuspendRequestIEs} },
	...
}

UEContextSuspendRequestIEs 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-InformationOnRecommendedCellsAndENBsForPaging	CRITICALITY ignore	TYPE InformationOnRecommendedCellsAndENBsForPaging PRESENCE optional}|
	{ ID id-CellIdentifierAndCELevelForCECapableUEs			CRITICALITY ignore	TYPE CellIdentifierAndCELevelForCECapableUEs	PRESENCE optional}|
	{ ID id-SecondaryRATDataUsageReportList				CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList		PRESENCE optional }|
	{ ID id-UserLocationInformation							CRITICALITY ignore	TYPE UserLocationInformation			PRESENCE optional }|
	{ ID id-TimeSinceSecondaryNodeRelease					CRITICALITY ignore	TYPE TimeSinceSecondaryNodeRelease	PRESENCE optional },
	...
}

-- **************************************************************
--
-- UE Context Suspend Response
--
-- **************************************************************

UEContextSuspendResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { {UEContextSuspendResponseIEs} },
	...
}

UEContextSuspendResponseIEs 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}|
	{ ID id-SecurityContext				CRITICALITY reject	TYPE SecurityContext			PRESENCE optional},
	...
}

-- **************************************************************
--
-- UE CONTEXT RESUME ELEMENTARY PROCEDURE
--
-- **************************************************************

-- **************************************************************
--
-- UE Context Resume Request
--
-- **************************************************************

UEContextResumeRequest ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextResumeRequestIEs} },
	...
}

UEContextResumeRequestIEs 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-RABFailedToResumeListResumeReq 				CRITICALITY reject	TYPE E-RABFailedToResumeListResumeReq		PRESENCE optional}|
	{ ID id-RRC-Resume-Cause								CRITICALITY ignore	TYPE RRC-Establishment-Cause	PRESENCE optional},
	...
}

E-RABFailedToResumeListResumeReq ::= E-RAB-IE-ContainerList { {E-RABFailedToResumeItemResumeReqIEs} }

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

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

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

-- **************************************************************
--
-- UE Context Resume Response
--
-- **************************************************************

UEContextResumeResponse ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextResumeResponseIEs} },
	...
}

UEContextResumeResponseIEs 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-RABFailedToResumeListResumeRes	CRITICALITY reject	TYPE E-RABFailedToResumeListResumeRes		PRESENCE optional}|
	{ ID id-CriticalityDiagnostics				CRITICALITY ignore	TYPE CriticalityDiagnostics					PRESENCE optional}|
	{ ID id-SecurityContext						CRITICALITY reject	TYPE SecurityContext						PRESENCE optional}|
	{ ID id-PendingDataIndication				CRITICALITY ignore	TYPE PendingDataIndication					PRESENCE optional},
	...
}

E-RABFailedToResumeListResumeRes ::= E-RAB-IE-ContainerList { {E-RABFailedToResumeItemResumeResIEs} }

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

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

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

-- **************************************************************
--
-- UE Context Resume Failure
--
-- **************************************************************

UEContextResumeFailure ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { UEContextResumeFailureIEs} },
	...
}

UEContextResumeFailureIEs 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},
	...
}

-- **************************************************************
--
-- Connection Establishment Indication
--
-- **************************************************************

ConnectionEstablishmentIndication::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { {ConnectionEstablishmentIndicationIEs} },
	...
}

ConnectionEstablishmentIndicationIEs 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-UERadioCapability			CRITICALITY ignore	TYPE UERadioCapability			PRESENCE optional }|
	{ ID id-EnhancedCoverageRestricted	CRITICALITY ignore	TYPE EnhancedCoverageRestricted	PRESENCE optional }|
	{ ID id-DL-CP-SecurityInformation	CRITICALITY ignore	TYPE DL-CP-SecurityInformation	PRESENCE optional }|
	{ ID id-CE-ModeBRestricted			CRITICALITY ignore	TYPE CE-ModeBRestricted			PRESENCE optional}|
	{ ID id-EndIndication				CRITICALITY ignore	TYPE EndIndication				PRESENCE optional}|
	{ ID id-Subscription-Based-UE-DifferentiationInfo		CRITICALITY ignore	TYPE Subscription-Based-UE-DifferentiationInfo		PRESENCE optional}|
	{ ID id-UE-Level-QoS-Parameters		CRITICALITY ignore	TYPE E-RABLevelQoSParameters	PRESENCE optional}
,
	...
}

-- **************************************************************
--
-- Retrieve UE Information 
--
-- **************************************************************

RetrieveUEInformation ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { RetrieveUEInformationIEs} },
	...
}

RetrieveUEInformationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-S-TMSI						CRITICALITY reject	TYPE S-TMSI				PRESENCE mandatory},
...

}


-- **************************************************************

-- UE Information Transfer
--
-- **************************************************************
UEInformationTransfer ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { {  UEInformationTransferIEs} },
	...
}

UEInformationTransferIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-S-TMSI						CRITICALITY reject 	TYPE S-TMSI						PRESENCE mandatory}|
	{ ID id-UE-Level-QoS-Parameters		CRITICALITY ignore	TYPE E-RABLevelQoSParameters	PRESENCE optional}|
	{ ID id-UERadioCapability			CRITICALITY ignore	TYPE UERadioCapability			PRESENCE optional}|
	{ ID id-Subscription-Based-UE-DifferentiationInfo		CRITICALITY ignore	TYPE Subscription-Based-UE-DifferentiationInfo		PRESENCE optional}|
	{ ID id-PendingDataIndication		CRITICALITY ignore	TYPE PendingDataIndication		PRESENCE optional},
	...
}


-- **************************************************************
--
-- eNB CP Relocation Indication
--
-- **************************************************************

ENBCPRelocationIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { { ENBCPRelocationIndicationIEs} },
	...
}

ENBCPRelocationIndicationIEs S1AP-PROTOCOL-IES ::= {
	{ ID id-eNB-UE-S1AP-ID				CRITICALITY reject	TYPE ENB-UE-S1AP-ID				PRESENCE mandatory}|
	{ ID id-S-TMSI						CRITICALITY reject	TYPE S-TMSI						PRESENCE mandatory}|
	{ ID id-EUTRAN-CGI					CRITICALITY ignore	TYPE EUTRAN-CGI					PRESENCE mandatory}|
	{ ID id-TAI							CRITICALITY ignore	TYPE TAI						PRESENCE mandatory}|
	{ ID id-UL-CP-SecurityInformation	CRITICALITY reject	TYPE UL-CP-SecurityInformation	PRESENCE mandatory},
	...
}


-- **************************************************************
--
-- MME CP Relocation Indication
--
-- **************************************************************

MMECPRelocationIndication ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container { { MMECPRelocationIndicationIEs} },
	...
}

MMECPRelocationIndicationIEs 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},
	...
}


-- **************************************************************
--
-- Secondary RAT Data Usage Report
--
-- **************************************************************

SecondaryRATDataUsageReport ::= SEQUENCE {
	protocolIEs			ProtocolIE-Container       { { SecondaryRATDataUsageReportIEs} },
	...
}

SecondaryRATDataUsageReportIEs 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-SecondaryRATDataUsageReportList			CRITICALITY ignore	TYPE SecondaryRATDataUsageReportList	PRESENCE mandatory}|
	{ ID id-HandoverFlag							CRITICALITY ignore	TYPE HandoverFlag					PRESENCE optional}|
	{ ID id-UserLocationInformation				CRITICALITY ignore	TYPE UserLocationInformation			PRESENCE optional}|
	{ ID id-TimeSinceSecondaryNodeRelease		CRITICALITY ignore	TYPE TimeSinceSecondaryNodeRelease	PRESENCE optional },
	...
}

END

9.3.4	Information Element Definitions
-- **************************************************************
--
-- 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-GUMMEIType,
	id-Bearers-SubjectToStatusTransfer-Item,
	id-Time-Synchronisation-Info,
	id-x2TNLConfigurationInfo,
	id-eNBX2ExtendedTransportLayerAddresses,
	id-MDTConfiguration,
	id-Time-UE-StayedInCell-EnhancedGranularity,
	id-HO-Cause,
	id-M3Configuration,
	id-M4Configuration,
	id-M5Configuration,
	id-MDT-Location-Info,
	id-SignallingBasedMDTPLMNList,
	id-MobilityInformation,
	id-ULCOUNTValueExtended,
	id-DLCOUNTValueExtended,
	id-ReceiveStatusOfULPDCPSDUsExtended,
	id-eNBIndirectX2TransportLayerAddresses,
	id-Muting-Availability-Indication,
	id-Muting-Pattern-Information,
	id-NRrestrictioninEPSasSecondaryRAT,
	id-NRrestrictionin5GS,
	id-Synchronisation-Information,
	id-uE-HistoryInformationFromTheUE,
	id-LoggedMBSFNMDT,
	id-SON-Information-Report,
	id-RecommendedCellItem,
	id-RecommendedENBItem,
	id-ProSeUEtoNetworkRelaying,
	id-ULCOUNTValuePDCP-SNlength18,
	id-DLCOUNTValuePDCP-SNlength18,
	id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18,
	id-M6Configuration,
	id-M7Configuration,
	id-RAT-Type,
	id-extended-e-RAB-MaximumBitrateDL,
	id-extended-e-RAB-MaximumBitrateUL,
	id-extended-e-RAB-GuaranteedBitrateDL,
	id-extended-e-RAB-GuaranteedBitrateUL,
	id-extended-uEaggregateMaximumBitRateDL,
	id-extended-uEaggregateMaximumBitRateUL,
	id-SecondaryRATDataUsageReportItem,
	id-E-RABUsageReportItem,
	id-UEAppLayerMeasConfig,
	id-serviceType,
	id-UnlicensedSpectrumRestriction, 
	id-CNTypeRestrictions,
	id-DownlinkPacketLossRate,
	id-UplinkPacketLossRate,
	id-BluetoothMeasurementConfiguration,
	id-WLANMeasurementConfiguration,
	id-LastNG-RANPLMNIdentity,
	id-PSCellInformation,
	id-IMSvoiceEPSfallbackfrom5G,
	id-RequestTypeAdditionalInfo,
	id-AdditionalRRMPriorityIndex,
	id-ContextatSource,
	maxnoofCSGs,
	maxnoofE-RABs,
	maxnoofErrors,
	maxnoofBPLMNs,
	maxnoofPLMNsPerMME,
	maxnoofTACs,
	maxnoofEPLMNs,
	maxnoofEPLMNsPlusOne,
	maxnoofForbLACs,
	maxnoofForbTACs,
	maxnoofCellsinUEHistoryInfo,
	maxnoofCellID,
	maxnoofDCNs,
	maxnoofEmergencyAreaID,
	maxnoofTAIforWarning,
	maxnoofCellinTAI,
	maxnoofCellinEAI,
	maxnoofeNBX2TLAs,
	maxnoofeNBX2ExtTLAs,
	maxnoofeNBX2GTPTLAs,
	maxnoofRATs,
	maxnoofGroupIDs,
	maxnoofMMECs,
	maxnoofTAforMDT,
	maxnoofCellIDforMDT,
	maxnoofMDTPLMNs,
	maxnoofCellsforRestart,
	maxnoofRestartTAIs,
	maxnoofRestartEmergencyAreaIDs,
	maxnoofMBSFNAreaMDT,
	maxEARFCN,
	maxnoofCellsineNB,
	maxnoofRecommendedCells,
	maxnoofRecommendedENBs,
	maxnooftimeperiods,
	maxnoofCellIDforQMC,
	maxnoofTAforQMC,
	maxnoofPLMNforQMC,
	maxnoofBluetoothName,
	maxnoofWLANName,
	maxnoofConnectedengNBs




FROM S1AP-Constants

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

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

FROM S1AP-Containers;	

-- A

Additional-GUTI::= SEQUENCE {
	gUMMEI					GUMMEI,
	m-TMSI					M-TMSI,
	iE-Extensions			ProtocolExtensionContainer { {Additional-GUTI-ExtIEs} } OPTIONAL,
	...
}

Additional-GUTI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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

AerialUEsubscriptionInformation ::= ENUMERATED { 
	allowed,
	not-allowed,
	...
}

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


AreaScopeOfQMC ::= CHOICE {	
	cellBased					CellBasedQMC,
	tABased						TABasedQMC,
	tAIBased						TAIBasedQMC,
	pLMNAreaBased				PLMNAreaBasedQMC,
	...
}

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

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

AssistanceDataForCECapableUEs ::= SEQUENCE {
	cellIdentifierAndCELevelForCECapableUEs		CellIdentifierAndCELevelForCECapableUEs,
	iE-Extensions								ProtocolExtensionContainer { { InformationForCECapableUEs-ExtIEs} } OPTIONAL,
	...
}

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

AssistanceDataForPaging ::= SEQUENCE {
	assistanceDataForRecommendedCells	AssistanceDataForRecommendedCells		OPTIONAL,
	assistanceDataForCECapableUEs		AssistanceDataForCECapableUEs			OPTIONAL,
	pagingAttemptInformation			PagingAttemptInformation				OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { { AssistanceDataForPaging-ExtIEs} }	OPTIONAL,
	...
}

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

AssistanceDataForRecommendedCells ::= SEQUENCE {
	recommendedCellsForPaging	RecommendedCellsForPaging, 
	iE-Extensions				ProtocolExtensionContainer { { AssistanceDataForRecommendedCells-ExtIEs} }	OPTIONAL,
	...
}

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

-- B

Bearers-SubjectToStatusTransferList ::= SEQUENCE (SIZE(1.. maxnoofE-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 ::= {
	{ ID id-ULCOUNTValueExtended						CRITICALITY ignore	EXTENSION COUNTValueExtended				PRESENCE optional}|
	{ ID id-DLCOUNTValueExtended						CRITICALITY ignore	EXTENSION COUNTValueExtended				PRESENCE optional}|
	{ ID id-ReceiveStatusOfULPDCPSDUsExtended			CRITICALITY ignore	EXTENSION ReceiveStatusOfULPDCPSDUsExtended		PRESENCE optional}|
	{ ID id-ULCOUNTValuePDCP-SNlength18					CRITICALITY ignore	EXTENSION COUNTvaluePDCP-SNlength18			PRESENCE optional}|
	{ ID id-DLCOUNTValuePDCP-SNlength18					CRITICALITY ignore	EXTENSION COUNTvaluePDCP-SNlength18			PRESENCE optional}|
	{ ID id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18	CRITICALITY ignore	EXTENSION ReceiveStatusOfULPDCPSDUsPDCP-SNlength18	PRESENCE optional},
	...
}

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

BitRate	::= INTEGER (0..10000000000) 

BluetoothMeasurementConfiguration ::= SEQUENCE {
	bluetoothMeasConfig             BluetoothMeasConfig,
	bluetoothMeasConfigNameList		BluetoothMeasConfigNameList     OPTIONAL,
	bt-rssi                         ENUMERATED {true, ...}          OPTIONAL,
	iE-Extensions		ProtocolExtensionContainer { { BluetoothMeasurementConfiguration-ExtIEs } } OPTIONAL,
	...
}

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

BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothName

BluetoothMeasConfig::= ENUMERATED {setup,...}

BluetoothName ::= OCTET STRING (SIZE (1..248))

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,
	release-due-to-pre-emption

}

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

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

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

CellIdentifierAndCELevelForCECapableUEs ::= SEQUENCE {
	global-Cell-ID		EUTRAN-CGI,
	cELevel				CELevel,
	iE-Extensions		ProtocolExtensionContainer { { CellIdentifierAndCELevelForCECapableUEs-ExtIEs} } OPTIONAL,
	...
}

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

-- Coverage Enhancement level encoded according to TS 36.331 [16] --
CELevel ::= OCTET STRING

CE-mode-B-SupportIndicator ::= ENUMERATED {
	supported,
	...
}

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

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

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

CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF EUTRAN-CGI

CellBasedQMC::= SEQUENCE {
	cellIdListforQMC		CellIdListforQMC,
	iE-Extensions		ProtocolExtensionContainer { {CellBasedQMC-ExtIEs} } OPTIONAL,
	...
}

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

CellIdListforQMC ::= SEQUENCE (SIZE(1..maxnoofCellIDforQMC)) OF EUTRAN-CGI

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 
}

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

CNTypeRestrictions-Item ::= SEQUENCE {
	pLMN-Identity		PLMNidentity,
	cNType				CNType,
	iE-Extensions		ProtocolExtensionContainer { { CNTypeRestrictions-Item-ExtIEs} } OPTIONAL,
	...
}

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

CNType ::= ENUMERATED {
	fiveGCForbidden,
	...,
	epc-Forbiddden
}

ConcurrentWarningMessageIndicator ::= ENUMERATED {
	true
}

ConnectedengNBList ::= SEQUENCE (SIZE(1..maxnoofConnectedengNBs)) OF ConnectedengNBItem

ConnectedengNBItem ::= SEQUENCE {
	en-gNB-ID		En-gNB-ID,
	supportedTAs	SupportedTAs,
	iE-Extensions	ProtocolExtensionContainer { {ConnectedengNBItem-ExtIEs} }	OPTIONAL,
	...
}

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

ContextatSource ::= SEQUENCE {
	sourceNG-RAN-node-ID				Global-RAN-NODE-ID,
	rAN-UE-NGAP-ID						RAN-UE-NGAP-ID,
	iE-Extensions		ProtocolExtensionContainer { {ContextatSource-ExtIEs} }	OPTIONAL,
	...
}

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

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

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

AdditionalCSFallbackIndicator ::= ENUMERATED { 
	no-restriction,
	restriction,
	...
}

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


CSG-IdList ::= SEQUENCE (SIZE (1.. maxnoofCSGs)) 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 ::= {
	...
}

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

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

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

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

Coverage-Level ::= ENUMERATED {
	extendedcoverage,
	...
}

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.. maxnoofErrors)) 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))

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

ServedDCNs ::= SEQUENCE (SIZE(0..maxnoofDCNs)) OF ServedDCNsItem

ServedDCNsItem ::= SEQUENCE {
	dCN-ID						DCN-ID,
	relativeDCNCapacity			RelativeMMECapacity,
	iE-Extensions			ProtocolExtensionContainer { {ServedDCNsItem-ExtIEs} }	OPTIONAL,
	...
}

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

DL-CP-SecurityInformation ::= SEQUENCE {
	dl-NAS-MAC				DL-NAS-MAC,
	iE-Extensions			ProtocolExtensionContainer { { DL-CP-SecurityInformation-ExtIEs} }	OPTIONAL,
	...
}

DL-CP-SecurityInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

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

DL-NAS-MAC ::= BIT STRING (SIZE (16))

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

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

DLNASPDUDeliveryAckRequest ::= ENUMERATED {
	requested,
	...
}

-- E

EARFCN ::= INTEGER(0..maxEARFCN, ...)

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

PWSfailedECGIList ::= SEQUENCE (SIZE(1..maxnoofCellsineNB)) OF EUTRAN-CGI

EDT-Session ::= ENUMERATED {
	true,
	...
}

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

ECGI-List ::= SEQUENCE (SIZE(1..maxnoofCellsineNB)) OF EUTRAN-CGI

EmergencyAreaIDListForRestart	::= SEQUENCE (SIZE(1..maxnoofRestartEmergencyAreaIDs)) OF EmergencyAreaID

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

En-gNB-ID ::= BIT STRING (SIZE(22..32, ...))

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

Global-en-gNB-ID ::= SEQUENCE {
	pLMNidentity			PLMNidentity,
	en-gNB-ID				En-gNB-ID,
	iE-Extensions			ProtocolExtensionContainer { {Global-en-gNB-ID-ExtIEs} }		OPTIONAL,
	...
}

Global-en-gNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

GUMMEIList::= SEQUENCE (SIZE (1.. maxnoofMMECs)) OF GUMMEI

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,...)) 

EN-DCSONConfigurationTransfer ::= SEQUENCE {
	transfertype				EN-DCSONTransferType,
	sONInformation					SONInformation,
	x2TNLConfigInfo					X2TNLConfigurationInfo 	OPTIONAL,
	-- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to X2TNL Configuration Info --
	iE-Extensions			ProtocolExtensionContainer { {EN-DCSONConfigurationTransfer-ExtIEs} }			OPTIONAL,
...
}

EN-DCSONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

EN-DCSONTransferType ::= CHOICE {
	request				EN-DCTransferTypeRequest,
	reply				EN-DCTransferTypeReply,
	...
}

EN-DCTransferTypeRequest ::= SEQUENCE {
	sourceeNB 				EN-DCSONeNBIdentification,
	targetengNB				EN-DCSONengNBIdentification,
	targeteNB				EN-DCSONeNBIdentification													OPTIONAL,
	associatedTAI			TAI																			OPTIONAL,
	broadcast5GSTAI			FiveGSTAI																	OPTIONAL,
	iE-Extensions			ProtocolExtensionContainer { {EN-DCTransferTypeRequest-ExtIEs} }			OPTIONAL,
...
}

EN-DCTransferTypeRequest-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

EN-DCTransferTypeReply ::= SEQUENCE {
	sourceengNB				EN-DCSONengNBIdentification,
	targeteNB 				EN-DCSONeNBIdentification,
	iE-Extensions			ProtocolExtensionContainer { {EN-DCTransferTypeReply-ExtIEs} }			OPTIONAL,
...
}

EN-DCTransferTypeReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

EN-DCSONeNBIdentification ::= SEQUENCE {
	globaleNBID				Global-ENB-ID,
	selectedTAI				TAI,
	iE-Extensions			ProtocolExtensionContainer { {EN-DCSONeNBIdentification-ExtIEs} }			OPTIONAL,
...
}

EN-DCSONeNBIdentification-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

EN-DCSONengNBIdentification ::= SEQUENCE {
	globalengNBID			Global-en-gNB-ID,
	selectedTAI				TAI,
	iE-Extensions			ProtocolExtensionContainer { {EN-DCSONengNBIdentification-ExtIEs} }			OPTIONAL,
...
}

EN-DCSONengNBIdentification-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

EndIndication ::= ENUMERATED {
	no-further-data,
	further-data-exists,
	...
}

EnhancedCoverageRestricted ::= ENUMERATED {
	restricted,
	...
}

CE-ModeBRestricted ::= ENUMERATED {
	restricted,
	not-restricted,
	...
}

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.. maxnoofE-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.. maxnoofE-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-RABUsageReportList ::= SEQUENCE (SIZE(1..maxnooftimeperiods)) OF ProtocolIE-SingleContainer { {E-RABUsageReportItemIEs} }

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

E-RABUsageReportItem ::= SEQUENCE {
	startTimestamp					OCTET STRING (SIZE(4)),
	endTimestamp					OCTET STRING (SIZE(4)),
	usageCountUL					INTEGER (0..18446744073709551615),
	usageCountDL					INTEGER (0..18446744073709551615),
	iE-Extensions				ProtocolExtensionContainer { { E-RABUsageReportItem-ExtIEs} } OPTIONAL,
	...
}

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

E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
-- Extended for introduction of downlink and uplink packet loss rate for enhanced Voice performance -
	{ ID id-DownlinkPacketLossRate		CRITICALITY ignore	EXTENSION Packet-LossRate		PRESENCE optional}|
	{ ID id-UplinkPacketLossRate			CRITICALITY ignore	EXTENSION Packet-LossRate		PRESENCE optional},
	...
}


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)

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

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

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

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

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

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

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

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

ExtendedBitRate	::= INTEGER (10000000001..4000000000000, ...) 

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

ExtendedRepetitionPeriod ::= INTEGER (4096..131071) 

Extended-UEIdentityIndexValue ::= BIT STRING (SIZE (14))

-- F

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

FiveGSTAI ::= SEQUENCE {
	pLMNidentity			PLMNidentity,
	fiveGSTAC				FiveGSTAC,
	iE-Extensions			ProtocolExtensionContainer { {FiveGSTAI-ExtIEs} } OPTIONAL,
	...
}

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

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 ::= {
-- Extension for maximum bitrate > 10G bps --	
	{ ID id-extended-e-RAB-MaximumBitrateDL	CRITICALITY ignore	EXTENSION ExtendedBitRate	PRESENCE optional}|
	{ ID id-extended-e-RAB-MaximumBitrateUL	CRITICALITY ignore	EXTENSION ExtendedBitRate	PRESENCE optional}|
	{ ID id-extended-e-RAB-GuaranteedBitrateDL	CRITICALITY ignore	EXTENSION ExtendedBitRate	PRESENCE optional}|
	{ ID id-extended-e-RAB-GuaranteedBitrateUL	CRITICALITY ignore	EXTENSION ExtendedBitRate	PRESENCE optional},
	...}


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

GUMMEIType ::= ENUMERATED {
	native,
	mapped,
	...,
	mappedFrom5G
}

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

-- H

HandoverFlag ::= ENUMERATED {
	handoverPreparation,
	...
}


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 ::= {
	{ ID id-NRrestrictioninEPSasSecondaryRAT		CRITICALITY ignore	EXTENSION NRrestrictioninEPSasSecondaryRAT		PRESENCE optional}|
	{ ID id-UnlicensedSpectrumRestriction		CRITICALITY ignore	EXTENSION UnlicensedSpectrumRestriction	PRESENCE optional}|
	{ ID id-CNTypeRestrictions		CRITICALITY ignore	EXTENSION CNTypeRestrictions	PRESENCE optional}|
	{ ID id-NRrestrictionin5GS		CRITICALITY ignore	EXTENSION NRrestrictionin5GS 	PRESENCE optional}|
	{ ID id-LastNG-RANPLMNIdentity		CRITICALITY ignore	EXTENSION PLMNidentity			PRESENCE optional},
	...
}

HandoverType ::= ENUMERATED {
	intralte,
	ltetoutran,
	ltetogeran,
	utrantolte,
	gerantolte,
	...,
	eps-to-5gs,
	fivegs-to-eps
}

HFN ::= INTEGER (0..1048575)

HFNModified ::= INTEGER (0..131071)

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

-- I

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

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

ImmediateMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	{ ID id-M3Configuration		CRITICALITY ignore	EXTENSION M3Configuration		PRESENCE conditional}|
	{ ID id-M4Configuration		CRITICALITY ignore	EXTENSION M4Configuration		PRESENCE conditional}|
	{ ID id-M5Configuration		CRITICALITY ignore	EXTENSION M5Configuration		PRESENCE conditional}|
	{ ID id-MDT-Location-Info	CRITICALITY ignore	EXTENSION MDT-Location-Info		PRESENCE optional}|
	{ ID id-M6Configuration		CRITICALITY ignore	EXTENSION M6Configuration		PRESENCE conditional}|
	{ ID id-M7Configuration		CRITICALITY ignore	EXTENSION M7Configuration		PRESENCE conditional}|
	{ ID id-BluetoothMeasurementConfiguration		CRITICALITY ignore	EXTENSION BluetoothMeasurementConfiguration		PRESENCE optional}|
	{ ID id-WLANMeasurementConfiguration		CRITICALITY ignore	EXTENSION WLANMeasurementConfiguration		PRESENCE optional},
	...
}

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

InformationOnRecommendedCellsAndENBsForPaging ::= SEQUENCE {
	recommendedCellsForPaging	RecommendedCellsForPaging,
	recommendENBsForPaging		RecommendedENBsForPaging,
	iE-Extensions				ProtocolExtensionContainer { { InformationOnRecommendedCellsAndENBsForPaging-ExtIEs} }	OPTIONAL,
	...
}

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

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

IntendedNumberOfPagingAttempts ::= INTEGER (1..16, ...)

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

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


-- J
-- K

KillAllWarningMessages ::= ENUMERATED {true}

-- 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,
	...,
	nG-RAN-Cell						LastVisitedNGRANCellInformation
}
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 ::= {
-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell --
	{ ID id-Time-UE-StayedInCell-EnhancedGranularity	CRITICALITY ignore	EXTENSION Time-UE-StayedInCell-EnhancedGranularity	PRESENCE optional}|
	{ ID id-HO-Cause									CRITICALITY ignore	EXTENSION Cause							PRESENCE optional},
	...
}

LastVisitedNGRANCellInformation	::= OCTET STRING

LastVisitedUTRANCellInformation	::= OCTET STRING

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

L3-Information				::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

LPPa-PDU ::=  OCTET STRING

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

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

ListeningSubframePattern ::= SEQUENCE {
	pattern-period				ENUMERATED {ms1280, ms2560, ms5120, ms10240, ...},
	pattern-offset				INTEGER (0..10239, ...),
	iE-Extensions				ProtocolExtensionContainer { { ListeningSubframePattern-ExtIEs} } OPTIONAL,
	...
}

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

LoggedMDT ::= SEQUENCE {
	loggingInterval				LoggingInterval,
	loggingDuration				LoggingDuration,
	iE-Extensions				ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL,
	...
}

LoggedMDT-ExtIEs	S1AP-PROTOCOL-EXTENSION ::= {
	{ ID id-BluetoothMeasurementConfiguration		CRITICALITY ignore	EXTENSION BluetoothMeasurementConfiguration		PRESENCE optional}|
	{ ID id-WLANMeasurementConfiguration			CRITICALITY ignore	EXTENSION WLANMeasurementConfiguration				PRESENCE optional},
...
}

LoggingInterval ::= ENUMERATED {ms128, ms256, ms512, ms1024, ms2048, ms3072, ms4096, ms6144}

LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120}

LoggedMBSFNMDT ::= SEQUENCE {
	loggingInterval				LoggingInterval,
	loggingDuration				LoggingDuration,
	mBSFN-ResultToLog			MBSFN-ResultToLog		OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { { LoggedMBSFNMDT-ExtIEs } } OPTIONAL,
	...
}

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

LTE-M-Indication ::= ENUMERATED {lte-m, ... }

-- M

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

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

M3period ::= ENUMERATED {ms100, ms1000, ms10000, ...,ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, min1 } 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MDT-Configuration ::= SEQUENCE {
	mdt-Activation		MDT-Activation,
	areaScopeOfMDT		AreaScopeOfMDT,
	mDTMode				MDTMode,
	iE-Extensions		ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
	...
}
MDT-Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	{ ID id-SignallingBasedMDTPLMNList			CRITICALITY ignore	EXTENSION MDTPLMNList	PRESENCE optional	},
	...
}

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

MBSFN-ResultToLog ::= SEQUENCE (SIZE(1..maxnoofMBSFNAreaMDT)) OF MBSFN-ResultToLogInfo

MBSFN-ResultToLogInfo ::= SEQUENCE {
	mBSFN-AreaId		INTEGER (0..255)		OPTIONAL,
	carrierFreq			EARFCN,	
	iE-Extensions		ProtocolExtensionContainer { { MBSFN-ResultToLogInfo-ExtIEs} } OPTIONAL,
	...
}

MBSFN-ResultToLogInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

MDTPLMNList ::= SEQUENCE (SIZE(1..maxnoofMDTPLMNs)) OF PLMNidentity

PrivacyIndicator ::= ENUMERATED {
	immediate-MDT,
	logged-MDT,
	...
}

MDTMode ::= CHOICE {
	immediateMDT				ImmediateMDT,
	loggedMDT					LoggedMDT,
	...,
	mDTMode-Extension			MDTMode-Extension
}

MDTMode-Extension ::= ProtocolIE-SingleContainer {{ MDTMode-ExtensionIE }}

MDTMode-ExtensionIE S1AP-PROTOCOL-IES ::= {
	{ ID id-LoggedMBSFNMDT		CRITICALITY ignore	TYPE LoggedMBSFNMDT		PRESENCE mandatory}
}

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

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

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

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

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

MMEPagingTarget ::= CHOICE {
	global-ENB-ID		Global-ENB-ID,
	tAI					TAI,
	...
}

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

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

MutingAvailabilityIndication ::= ENUMERATED {
	available,
	unavailable,
	...
}


MutingPatternInformation ::= SEQUENCE {
	muting-pattern-period				ENUMERATED {ms0, ms1280, ms2560, ms5120, ms10240, ...},
	muting-pattern-offset				INTEGER (0..10239, ...)		OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { {MutingPatternInformation-ExtIEs} } OPTIONAL,
	...
}

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

-- N

NAS-PDU ::=  OCTET STRING

NASSecurityParametersfromE-UTRAN ::= OCTET STRING

NASSecurityParameterstoE-UTRAN ::= OCTET STRING

NB-IoT-DefaultPagingDRX ::= ENUMERATED {
	v128,
	v256,
	v512,
	v1024,
	...
	}

NB-IoT-Paging-eDRXInformation ::= SEQUENCE { 
	nB-IoT-paging-eDRX-Cycle		NB-IoT-Paging-eDRX-Cycle,
	nB-IoT-pagingTimeWindow			NB-IoT-PagingTimeWindow			OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { { NB-IoT-Paging-eDRXInformation-ExtIEs} } OPTIONAL,
	...
}

NB-IoT-Paging-eDRXInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

NB-IoT-Paging-eDRX-Cycle ::= ENUMERATED{hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, hf512, hf1024, ...}

NB-IoT-PagingTimeWindow ::= ENUMERATED{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, ...}

NB-IoT-UEIdentityIndexValue ::= BIT STRING (SIZE (12))

NextPagingAreaScope ::= ENUMERATED {
	same,
	changed,
	...
}


NRCellIdentity ::= BIT STRING (SIZE(36))

NR-CGI ::= SEQUENCE {
	pLMNIdentity		PLMNidentity,
	nRCellIdentity		NRCellIdentity,
	iE-Extensions		ProtocolExtensionContainer { {NR-CGI-ExtIEs} } OPTIONAL,
	...
}

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


NRencryptionAlgorithms ::= BIT STRING (SIZE (16,...))
NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...))

NRrestrictioninEPSasSecondaryRAT ::= ENUMERATED {
	nRrestrictedinEPSasSecondaryRAT,
	...
}

NRrestrictionin5GS ::= ENUMERATED {
	nRrestrictedin5GS,
	...
}

NRUESecurityCapabilities ::= SEQUENCE {
	nRencryptionAlgorithms				NRencryptionAlgorithms,
	nRintegrityProtectionAlgorithms		NRintegrityProtectionAlgorithms,
	iE-Extensions						ProtocolExtensionContainer { { NRUESecurityCapabilities-ExtIEs} }	OPTIONAL,
...
}

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

NumberofBroadcastRequest ::= INTEGER (0..65535)

NumberOfBroadcasts ::= INTEGER (0..65535)

-- O
OldBSS-ToNewBSS-Information		::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

OverloadAction ::= ENUMERATED {
	reject-non-emergency-mo-dt,
	reject-rrc-cr-signalling,
	permit-emergency-sessions-and-mobile-terminated-services-only,
	...,
	permit-high-priority-sessions-and-mobile-terminated-services-only,
	reject-delay-tolerant-access,
	permit-high-priority-sessions-and-exception-reporting-and-mobile-terminated-services-only,
	not-accept-mo-data-or-delay-tolerant-access-from-CP-CIoT

}

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


-- P

Packet-LossRate	::= INTEGER(0..1000)

PagingAttemptInformation ::= SEQUENCE {
	pagingAttemptCount					PagingAttemptCount,
	intendedNumberOfPagingAttempts		IntendedNumberOfPagingAttempts,
	nextPagingAreaScope					NextPagingAreaScope		OPTIONAL,
	iE-Extensions						ProtocolExtensionContainer { { PagingAttemptInformation-ExtIEs} } OPTIONAL,
	...
}

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

PagingAttemptCount ::= INTEGER (1..16, ...)

Paging-eDRXInformation ::= SEQUENCE { 
	paging-eDRX-Cycle			Paging-eDRX-Cycle,
	pagingTimeWindow			PagingTimeWindow			OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { { Paging-eDRXInformation-ExtIEs} } OPTIONAL,
	...
}

Paging-eDRXInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

Paging-eDRX-Cycle ::= ENUMERATED{hfhalf, hf1, hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf16, hf32, hf64, hf128, hf256, ...}

PagingTimeWindow ::= ENUMERATED{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, ...}

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

PagingPriority ::= ENUMERATED {
	priolevel1,
	priolevel2,
	priolevel3,
	priolevel4,
	priolevel5,
	priolevel6,
	priolevel7,
	priolevel8,
	...
}

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

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

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

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

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

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

PLMNidentity 				::= TBCD-STRING 

PLMNAreaBasedQMC ::= SEQUENCE {
	plmnListforQMC		PLMNListforQMC,
	iE-Extensions		ProtocolExtensionContainer { {PLMNAreaBasedQMC-ExtIEs} } OPTIONAL,
	...
}

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

PLMNListforQMC ::= SEQUENCE (SIZE(1..maxnoofPLMNforQMC)) OF PLMNidentity

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

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

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

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

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

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

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

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

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

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

PSCellInformation ::= SEQUENCE {
	nCGI						NR-CGI,
	iE-Extensions				ProtocolExtensionContainer { { PSCellInformation-ExtIEs} }	OPTIONAL,
	...
}

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

-- Q

QCI						::= INTEGER (0..255)

-- R

RAN-UE-NGAP-ID ::= INTEGER (0..4294967295)

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

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

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

RecommendedCellsForPaging ::= SEQUENCE {
	recommendedCellList			RecommendedCellList,
	iE-Extensions				ProtocolExtensionContainer { { RecommendedCellsForPaging-ExtIEs} }	OPTIONAL,
	...
}

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

RecommendedCellList ::= SEQUENCE (SIZE(1.. maxnoofRecommendedCells)) OF ProtocolIE-SingleContainer { { RecommendedCellItemIEs } }

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

RecommendedCellItem::= SEQUENCE {
	eUTRAN-CGI				EUTRAN-CGI,
	timeStayedInCell		INTEGER (0..4095)		OPTIONAL,
	iE-Extensions			ProtocolExtensionContainer { { RecommendedCellsForPagingItem-ExtIEs} }	OPTIONAL,
	...
}

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

RecommendedENBsForPaging ::= SEQUENCE {
	recommendedENBList		RecommendedENBList,
	iE-Extensions			ProtocolExtensionContainer { { RecommendedENBsForPaging-ExtIEs} }	OPTIONAL,
	...
}

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

RecommendedENBList::= SEQUENCE (SIZE(1.. maxnoofRecommendedENBs)) OF ProtocolIE-SingleContainer { { RecommendedENBItemIEs } }

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

RecommendedENBItem ::= SEQUENCE {
	mMEPagingTarget			MMEPagingTarget,
	iE-Extensions			ProtocolExtensionContainer { { RecommendedENBItem-ExtIEs} }	OPTIONAL,
	...
}

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

RelativeMMECapacity				::= INTEGER (0..255)

RelayNode-Indicator ::= ENUMERATED {
	true,
	...
}

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

RAT-Type ::= ENUMERATED {
	nbiot,
	...
}

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

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

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

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


RequestType-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	{ ID id-RequestTypeAdditionalInfo	CRITICALITY ignore	EXTENSION RequestTypeAdditionalInfo		PRESENCE optional },
	...
}

RequestTypeAdditionalInfo ::= ENUMERATED {
	includePSCell,
	...
}

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,
	eHRPD-Sector-ID			OCTET STRING (SIZE(16))
}

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

RepetitionPeriod ::= INTEGER (0..4095)

RLFReportInformation ::= SEQUENCE {
	uE-RLF-Report-Container							UE-RLF-Report-Container,
	uE-RLF-Report-Container-for-extended-bands		UE-RLF-Report-Container-for-extended-bands		OPTIONAL,
	iE-Extensions									ProtocolExtensionContainer {{ RLFReportInformation-ExtIEs}} OPTIONAL,
	...
}

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

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

RRC-Container ::= OCTET STRING

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

ECGIListForRestart ::= SEQUENCE (SIZE(1..maxnoofCellsforRestart)) OF EUTRAN-CGI

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

SecondaryRATType ::= ENUMERATED {
	nR,
	...,
	unlicensed
}


SecondaryRATDataUsageRequest ::= ENUMERATED {
	requested,
	...
}

SecondaryRATDataUsageReportList ::= SEQUENCE (SIZE(1.. maxnoofE-RABs)) OF ProtocolIE-SingleContainer { {SecondaryRATDataUsageReportItemIEs} }

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

SecondaryRATDataUsageReportItem ::= SEQUENCE {
	e-RAB-ID					E-RAB-ID,
	secondaryRATType			SecondaryRATType,
	e-RABUsageReportList		E-RABUsageReportList,
	iE-Extensions				ProtocolExtensionContainer { { SecondaryRATDataUsageReportItem-ExtIEs} } OPTIONAL,
	...
}

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

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

ServiceType ::= ENUMERATED{
	qMC-for-streaming-service,
	qMC-for-MTSI-service,
	...
}

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

SONInformation-Extension ::= ProtocolIE-SingleContainer {{ SONInformation-ExtensionIE }}

SONInformation-ExtensionIE S1AP-PROTOCOL-IES ::= {
	{ ID id-SON-Information-Report	CRITICALITY ignore	TYPE SONInformationReport	PRESENCE mandatory}
}

SONInformationRequest ::= ENUMERATED { 
	x2TNL-Configuration-Info,
	...,
	time-Synchronisation-Info,
	activate-Muting,
	deactivate-Muting}

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

SONInformationReply-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 9 to transfer Time synchronisation information --
	{ID id-Time-Synchronisation-Info		CRITICALITY ignore	EXTENSION TimeSynchronisationInfo		PRESENCE optional},
	...,
	{ID id-Muting-Pattern-Information		CRITICALITY ignore	EXTENSION MutingPatternInformation	PRESENCE optional}
}

SONInformationReport ::= CHOICE{
	rLFReportInformation		RLFReportInformation,
	...
}

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

SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 10 to transfer the IP addresses of the eNB initiating the ANR action --
	{ID id-x2TNLConfigurationInfo		CRITICALITY ignore	EXTENSION X2TNLConfigurationInfo				PRESENCE conditional
	-- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to X2TNL Configuration Info --}|
-- Extension for Release 12 to transfer information concerning the source cell of synchronisation and the aggressor cell --
	{ID id-Synchronisation-Information	CRITICALITY ignore	EXTENSION SynchronisationInformation			PRESENCE conditional
	-- This IE shall be present if the SON Information IE contains the SON Information Request IE set to  Activate Muting  --},
	...
}


SynchronisationInformation ::= SEQUENCE {
	sourceStratumLevel				StratumLevel				OPTIONAL,
	listeningSubframePattern		ListeningSubframePattern	OPTIONAL,
	aggressoreCGI-List				ECGI-List					OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { {SynchronisationInformation-ExtIEs} } OPTIONAL,
	...
}

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


Source-ToTarget-TransparentContainer ::= OCTET STRING
-- This IE includes a transparent container from the source RAN node to the target RAN node. 
-- The octets of the OCTET STRING are encoded according to the specifications of the target system.

SourceBSS-ToTargetBSS-TransparentContainer		::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

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

SRVCCOperationNotPossible ::= ENUMERATED {
	notPossible,
	...
}

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 ::= {
	{ID id-MobilityInformation				CRITICALITY ignore	EXTENSION MobilityInformation						PRESENCE optional}|
	{ID id-uE-HistoryInformationFromTheUE	CRITICALITY ignore	EXTENSION UE-HistoryInformationFromTheUE		PRESENCE optional}|
	{ID id-IMSvoiceEPSfallbackfrom5G		CRITICALITY ignore	EXTENSION IMSvoiceEPSfallbackfrom5G				PRESENCE optional}|
	{ID id-AdditionalRRMPriorityIndex		CRITICALITY ignore	EXTENSION AdditionalRRMPriorityIndex				PRESENCE optional}|
	{ID id-ContextatSource					CRITICALITY ignore	EXTENSION ContextatSource							PRESENCE optional},
	...
}


SourceRNC-ToTargetRNC-TransparentContainer		::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

SourceNgRanNode-ToTargetNgRanNode-TransparentContainer		::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

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 ::= {
	{ID id-GUMMEIType		CRITICALITY ignore	EXTENSION GUMMEIType		PRESENCE optional},
	...
}

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) 

Subscription-Based-UE-DifferentiationInfo ::= SEQUENCE {
	periodicCommunicationIndicator	ENUMERATED {periodically, ondemand, ...} 	OPTIONAL,
	periodicTime						INTEGER (1..3600, ...) 						OPTIONAL,
	scheduledCommunicationTime		ScheduledCommunicationTime 					OPTIONAL,
	stationaryIndication				ENUMERATED {stationary, mobile, ...}			OPTIONAL,
	trafficProfile 					ENUMERATED {single-packet, dual-packets, multiple-packets, ...} 			OPTIONAL,
	batteryIndication				ENUMERATED {battery-powered, battery-powered-not-rechargeable-or-replaceable, not-battery-powered, ...}		OPTIONAL,
	iE-Extensions					ProtocolExtensionContainer { { Subscription-Based-UE-DifferentiationInfo-ExtIEs} } OPTIONAL,
	...
}

Subscription-Based-UE-DifferentiationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

ScheduledCommunicationTime ::= SEQUENCE {
	dayofWeek				BIT STRING (SIZE(7))									OPTIONAL,
	timeofDayStart			INTEGER (0..86399, ...) 								OPTIONAL,
	timeofDayEnd				INTEGER (0..86399, ...) 								OPTIONAL,
	iE-Extensions			ProtocolExtensionContainer { { ScheduledCommunicationTime-ExtIEs}}	OPTIONAL,
	...
}

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

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 ::= {
	-- Extension for Release 13 to transfer RAT-Type per TAC --
	{ID id-RAT-Type		CRITICALITY reject	EXTENSION RAT-Type		PRESENCE optional},
	...
}

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

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

TimeSynchronisationInfo ::= SEQUENCE {
	stratumLevel					StratumLevel,
	synchronisationStatus			SynchronisationStatus,
	iE-Extensions					ProtocolExtensionContainer { { TimeSynchronisationInfo-ExtIEs} } OPTIONAL,
	...
}

TimeSynchronisationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	-- Extension for Release 12 to transfer Muting Availability Indication --
	{ID id-Muting-Availability-Indication		CRITICALITY ignore	EXTENSION MutingAvailabilityIndication	PRESENCE optional},
	...
}

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))

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

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

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

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

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

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

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

TABasedQMC ::= SEQUENCE {
	tAListforQMC		TAListforQMC,
	iE-Extensions		ProtocolExtensionContainer { {TABasedQMC-ExtIEs} } OPTIONAL,
	...
}

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

TAListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAC

TAIBasedQMC ::= SEQUENCE {
	tAIListforQMC		TAIListforQMC,
	iE-Extensions		ProtocolExtensionContainer { {TAIBasedQMC-ExtIEs} } OPTIONAL,
	...
}

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

TAIListforQMC ::= SEQUENCE (SIZE(1..maxnoofTAforQMC)) OF TAI

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,
	...,
	targetgNgRanNode-ID		TargetNgRanNode-ID
}

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

TargetNgRanNode-ID ::= SEQUENCE {
	global-RAN-NODE-ID		Global-RAN-NODE-ID,
	selected-TAI		FiveGSTAI,
	iE-Extensions		ProtocolExtensionContainer { { TargetNgRanNode-ID-ExtIEs} } OPTIONAL,
	...
}

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

Global-RAN-NODE-ID::= CHOICE {
	gNB		GNB,
	ng-eNB		NG-eNB,
	...
}

GNB ::= SEQUENCE {
	global-gNB-ID		Global-GNB-ID,
	iE-Extensions		ProtocolExtensionContainer { {GNB-ExtIEs} } OPTIONAL,
	...
}

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

Global-GNB-ID ::= SEQUENCE {
	pLMN-Identity		PLMNidentity,
	gNB-ID				GNB-Identity,
	iE-Extensions		ProtocolExtensionContainer { { Global-GNB-ID-ExtIEs} } OPTIONAL,
	...
}

Global-GNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

GNB-Identity ::= CHOICE {
	gNB-ID		GNB-ID,
	...
}

NG-eNB ::= SEQUENCE {
	global-ng-eNB-ID		Global-ENB-ID,
	iE-Extensions		ProtocolExtensionContainer { { NG-eNB-ExtIEs} } OPTIONAL,
	...
}

NG-eNB-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

GNB-ID ::= BIT STRING (SIZE(22..32))

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
-- This IE includes a transparent container from the target RAN node to the source RAN node. 
-- The octets of the OCTET STRING are coded according to the specifications of the target system.

TargetRNC-ToSourceRNC-TransparentContainer		::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

TargetBSS-ToSourceBSS-TransparentContainer		::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

TargetNgRanNode-ToSourceNgRanNode-TransparentContainer		::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.

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

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

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

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

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

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

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

TimeSinceSecondaryNodeRelease ::= OCTET STRING (SIZE(4))

TransportInformation ::= SEQUENCE {
	transportLayerAddress				TransportLayerAddress,
	uL-GTP-TEID							GTP-TEID,
	...
}

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 ::= {
-- Extension for Rel-10 to support MDT --
	{ ID id-MDTConfiguration	CRITICALITY ignore	EXTENSION MDT-Configuration		PRESENCE optional }|
-- Extension for Rel-15 to support QMC 
	{ ID id-UEAppLayerMeasConfig	CRITICALITY ignore	EXTENSION UEAppLayerMeasConfig		PRESENCE optional },
	...
}

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

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

TrafficLoadReductionIndication ::= INTEGER (1..99)

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

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

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

TAIListForRestart ::= SEQUENCE (SIZE(1..maxnoofRestartTAIs)) OF TAI

-- U

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

UEAggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
-- Extension for maximum bitrate > 10G bps --
	{ ID id-extended-uEaggregateMaximumBitRateDL 	CRITICALITY ignore	EXTENSION ExtendedBitRate	PRESENCE optional}|
	{ ID id-extended-uEaggregateMaximumBitRateUL		CRITICALITY ignore	EXTENSION ExtendedBitRate	PRESENCE optional},
	...
}

UEAppLayerMeasConfig ::= SEQUENCE {
	containerForAppLayerMeasConfig			OCTET STRING (SIZE(1..1000)),
	areaScopeOfQMC		AreaScopeOfQMC,
	iE-Extensions		ProtocolExtensionContainer { {UEAppLayerMeasConfig-ExtIEs} } OPTIONAL,
	...
}

UEAppLayerMeasConfig-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	{ID id-serviceType	CRITICALITY ignore	EXTENSION ServiceType	PRESENCE optional},
	...
}

UECapabilityInfoRequest ::= ENUMERATED {
	requested,
	...
}

UE-RetentionInformation ::= ENUMERATED {
	ues-retained,
	...}

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..maxnoofCellsinUEHistoryInfo)) OF LastVisitedCell-Item

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

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

UERadioCapability ::= OCTET STRING

UERadioCapabilityForPaging ::= OCTET STRING

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

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

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

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

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

UE-Sidelink-Aggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

UE-Usage-Type ::= INTEGER (0..255) 

UL-CP-SecurityInformation ::= SEQUENCE {
	ul-NAS-MAC				UL-NAS-MAC,
	ul-NAS-Count			UL-NAS-Count,
	iE-Extensions			ProtocolExtensionContainer { { UL-CP-SecurityInformation-ExtIEs} }	OPTIONAL,
	...
}

UL-CP-SecurityInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	...
}

UL-NAS-MAC ::= BIT STRING (SIZE (16))

UL-NAS-Count ::= BIT STRING (SIZE (5))

UnlicensedSpectrumRestriction ::= ENUMERATED {
	unlicensed-restricted,
	...
}


UserLocationInformation ::= SEQUENCE {
	eutran-cgi 				EUTRAN-CGI,
	tai						TAI,
	iE-Extensions			ProtocolExtensionContainer { { UserLocationInformation-ExtIEs} }	OPTIONAL,
	...
}

UserLocationInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
	{ ID id-PSCellInformation	CRITICALITY ignore	EXTENSION PSCellInformation			PRESENCE optional},
	...
}

UEUserPlaneCIoTSupportIndicator ::= ENUMERATED {
	supported,
	...
}

UE-Application-Layer-Measurement-Capability ::= BIT STRING (SIZE (8))

-- First bit: QoE Measurement for streaming service
-- Second bit: QoE Measurement for MTSI service

-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.

-- V

VoiceSupportMatchIndicator ::= ENUMERATED { 
	supported,
	not-supported,
	...
}

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

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

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

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

-- W

WarningAreaCoordinates ::= OCTET STRING (SIZE(1..1024))

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


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

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


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

WLANMeasurementConfiguration ::= SEQUENCE {
	wlanMeasConfig             WLANMeasConfig,
	wlanMeasConfigNameList		WLANMeasConfigNameList            OPTIONAL,
	wlan-rssi                  ENUMERATED {true, ...}            OPTIONAL,
	wlan-rtt                   ENUMERATED {true, ...}            OPTIONAL,
	iE-Extensions		ProtocolExtensionContainer { { WLANMeasurementConfiguration-ExtIEs } } OPTIONAL,
	...
}

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

WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANName

WLANMeasConfig::= ENUMERATED {setup,...}

WLANName ::= OCTET STRING (SIZE (1..32))   

-- X


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

X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 10 to transfer the IPsec and U-plane addresses during ANR action --
	{ID id-eNBX2ExtendedTransportLayerAddresses		CRITICALITY ignore	EXTENSION ENBX2ExtTLAs	PRESENCE optional}|
-- Extension for Release 12 to transfer the IP addresses of the X2 GW --
	{ID id-eNBIndirectX2TransportLayerAddresses	CRITICALITY ignore	EXTENSION ENBIndirectX2TransportLayerAddresses	PRESENCE optional},
	...
}

ENBX2ExtTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2ExtTLAs)) OF ENBX2ExtTLA

ENBX2ExtTLA ::= SEQUENCE {
	iPsecTLA					TransportLayerAddress		OPTIONAL,
	gTPTLAa						ENBX2GTPTLAs				OPTIONAL,
	iE-Extensions				ProtocolExtensionContainer { { ENBX2ExtTLA-ExtIEs} } OPTIONAL,
	...
}

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

ENBX2GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2GTPTLAs)) OF TransportLayerAddress

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

-- Y
-- Z

END

9.3.5	Common Definitions
-- **************************************************************
--
-- 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

9.3.6	Constant Definitions
-- **************************************************************
--
-- 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-DownlinkS1cdma2000tunnelling				ProcedureCode ::= 19
id-UplinkS1cdma2000tunnelling				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
id-UERadioCapabilityMatch					ProcedureCode ::= 48
id-PWSRestartIndication						ProcedureCode ::= 49
id-E-RABModificationIndication				ProcedureCode ::= 50
id-PWSFailureIndication						ProcedureCode ::= 51
id-RerouteNASRequest						ProcedureCode ::= 52
id-UEContextModificationIndication			ProcedureCode ::= 53
id-ConnectionEstablishmentIndication		ProcedureCode ::= 54
id-UEContextSuspend							ProcedureCode ::= 55
id-UEContextResume							ProcedureCode ::= 56
id-NASDeliveryIndication					ProcedureCode ::= 57
id-RetrieveUEInformation					ProcedureCode ::= 58
id-UEInformationTransfer					ProcedureCode ::= 59
id-eNBCPRelocationIndication				ProcedureCode ::= 60
id-MMECPRelocationIndication				ProcedureCode ::= 61
id-SecondaryRATDataUsageReport				ProcedureCode ::= 62

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

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

maxnoofCSGs								INTEGER ::= 256
maxnoofE-RABs							INTEGER ::= 256
maxnoofTAIs								INTEGER ::= 256
maxnoofTACs								INTEGER ::= 256
maxnoofErrors							INTEGER ::= 256
maxnoofBPLMNs							INTEGER ::= 6
maxnoofPLMNsPerMME						INTEGER ::= 32
maxnoofEPLMNs							INTEGER ::= 15
maxnoofEPLMNsPlusOne					INTEGER ::= 16
maxnoofForbLACs							INTEGER ::= 4096
maxnoofForbTACs							INTEGER ::= 4096
maxnoofIndividualS1ConnectionsToReset	INTEGER ::= 256
maxnoofCellsinUEHistoryInfo				INTEGER ::= 16
maxnoofCellsineNB						INTEGER ::= 256
maxnoofTAIforWarning					INTEGER ::= 65535 
maxnoofCellID							INTEGER ::= 65535 
maxnoofDCNs								INTEGER ::= 32 
maxnoofEmergencyAreaID					INTEGER ::= 65535 
maxnoofCellinTAI						INTEGER ::= 65535 
maxnoofCellinEAI						INTEGER ::= 65535 
maxnoofeNBX2TLAs						INTEGER ::= 2
maxnoofeNBX2ExtTLAs						INTEGER ::= 16
maxnoofeNBX2GTPTLAs						INTEGER ::= 16
maxnoofRATs								INTEGER ::= 8
maxnoofGroupIDs							INTEGER ::= 65535
maxnoofMMECs							INTEGER ::= 256
maxnoofCellIDforMDT						INTEGER ::= 32
maxnoofTAforMDT							INTEGER ::= 8
maxnoofMDTPLMNs							INTEGER ::= 16
maxnoofCellsforRestart					INTEGER ::= 256
maxnoofRestartTAIs						INTEGER ::= 2048
maxnoofRestartEmergencyAreaIDs			INTEGER ::= 256
maxEARFCN								INTEGER ::= 262143
maxnoofMBSFNAreaMDT						INTEGER ::= 8
maxnoofRecommendedCells					INTEGER ::= 16
maxnoofRecommendedENBs					INTEGER ::= 16
maxnooftimeperiods						INTEGER ::= 2 
maxnoofCellIDforQMC						INTEGER ::= 32
maxnoofTAforQMC							INTEGER ::= 8
maxnoofPLMNforQMC						INTEGER ::= 16
maxnoofBluetoothName					INTEGER ::= 4
maxnoofWLANName							INTEGER ::= 4
maxnoofConnectedengNBs					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-Synchronisation-Info							ProtocolIE-ID ::= 149
id-PS-ServiceNotAvailable							ProtocolIE-ID ::= 150
id-PagingPriority									ProtocolIE-ID ::= 151
id-x2TNLConfigurationInfo							ProtocolIE-ID ::= 152
id-eNBX2ExtendedTransportLayerAddresses				ProtocolIE-ID ::= 153
id-GUMMEIList										ProtocolIE-ID ::= 154
id-GW-TransportLayerAddress							ProtocolIE-ID ::= 155
id-Correlation-ID									ProtocolIE-ID ::= 156
id-SourceMME-GUMMEI									ProtocolIE-ID ::= 157
id-MME-UE-S1AP-ID-2									ProtocolIE-ID ::= 158
id-RegisteredLAI									ProtocolIE-ID ::= 159
id-RelayNode-Indicator								ProtocolIE-ID ::= 160
id-TrafficLoadReductionIndication					ProtocolIE-ID ::= 161
id-MDTConfiguration									ProtocolIE-ID ::= 162
id-MMERelaySupportIndicator							ProtocolIE-ID ::= 163
id-GWContextReleaseIndication						ProtocolIE-ID ::= 164
id-ManagementBasedMDTAllowed						ProtocolIE-ID ::= 165
id-PrivacyIndicator									ProtocolIE-ID ::= 166
id-Time-UE-StayedInCell-EnhancedGranularity			ProtocolIE-ID ::= 167
id-HO-Cause											ProtocolIE-ID ::= 168
id-VoiceSupportMatchIndicator						ProtocolIE-ID ::= 169
id-GUMMEIType										ProtocolIE-ID ::= 170
id-M3Configuration									ProtocolIE-ID ::= 171
id-M4Configuration									ProtocolIE-ID ::= 172
id-M5Configuration									ProtocolIE-ID ::= 173
id-MDT-Location-Info								ProtocolIE-ID ::= 174
id-MobilityInformation								ProtocolIE-ID ::= 175
id-Tunnel-Information-for-BBF						ProtocolIE-ID ::= 176
id-ManagementBasedMDTPLMNList						ProtocolIE-ID ::= 177
id-SignallingBasedMDTPLMNList						ProtocolIE-ID ::= 178
id-ULCOUNTValueExtended								ProtocolIE-ID ::= 179
id-DLCOUNTValueExtended								ProtocolIE-ID ::= 180
id-ReceiveStatusOfULPDCPSDUsExtended				ProtocolIE-ID ::= 181
id-ECGIListForRestart								ProtocolIE-ID ::= 182
id-SIPTO-Correlation-ID								ProtocolIE-ID ::= 183
id-SIPTO-L-GW-TransportLayerAddress					ProtocolIE-ID ::= 184
id-TransportInformation								ProtocolIE-ID ::= 185
id-LHN-ID											ProtocolIE-ID ::= 186
id-AdditionalCSFallbackIndicator					ProtocolIE-ID ::= 187
id-TAIListForRestart								ProtocolIE-ID ::= 188
id-UserLocationInformation							ProtocolIE-ID ::= 189
id-EmergencyAreaIDListForRestart					ProtocolIE-ID ::= 190
id-KillAllWarningMessages							ProtocolIE-ID ::= 191
id-Masked-IMEISV									ProtocolIE-ID ::= 192
id-eNBIndirectX2TransportLayerAddresses				ProtocolIE-ID ::= 193
id-uE-HistoryInformationFromTheUE					ProtocolIE-ID ::= 194
id-ProSeAuthorized									ProtocolIE-ID ::= 195
id-ExpectedUEBehaviour								ProtocolIE-ID ::= 196
id-LoggedMBSFNMDT									ProtocolIE-ID ::= 197
id-UERadioCapabilityForPaging						ProtocolIE-ID ::= 198
id-E-RABToBeModifiedListBearerModInd				ProtocolIE-ID ::= 199
id-E-RABToBeModifiedItemBearerModInd				ProtocolIE-ID ::= 200
id-E-RABNotToBeModifiedListBearerModInd				ProtocolIE-ID ::= 201
id-E-RABNotToBeModifiedItemBearerModInd				ProtocolIE-ID ::= 202
id-E-RABModifyListBearerModConf						ProtocolIE-ID ::= 203
id-E-RABModifyItemBearerModConf						ProtocolIE-ID ::= 204
id-E-RABFailedToModifyListBearerModConf				ProtocolIE-ID ::= 205
id-SON-Information-Report							ProtocolIE-ID ::= 206
id-Muting-Availability-Indication					ProtocolIE-ID ::= 207
id-Muting-Pattern-Information						ProtocolIE-ID ::= 208
id-Synchronisation-Information						ProtocolIE-ID ::= 209
id-E-RABToBeReleasedListBearerModConf				ProtocolIE-ID ::= 210
id-AssistanceDataForPaging							ProtocolIE-ID ::= 211
id-CellIdentifierAndCELevelForCECapableUEs			ProtocolIE-ID ::= 212
id-InformationOnRecommendedCellsAndENBsForPaging	ProtocolIE-ID ::= 213
id-RecommendedCellItem								ProtocolIE-ID ::= 214
id-RecommendedENBItem								ProtocolIE-ID ::= 215
id-ProSeUEtoNetworkRelaying							ProtocolIE-ID ::= 216
id-ULCOUNTValuePDCP-SNlength18						ProtocolIE-ID ::= 217
id-DLCOUNTValuePDCP-SNlength18						ProtocolIE-ID ::= 218
id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18			ProtocolIE-ID ::= 219
id-M6Configuration									ProtocolIE-ID ::= 220
id-M7Configuration									ProtocolIE-ID ::= 221
id-PWSfailedECGIList								ProtocolIE-ID ::= 222
id-MME-Group-ID										ProtocolIE-ID ::= 223
id-Additional-GUTI									ProtocolIE-ID ::= 224
id-S1-Message										ProtocolIE-ID ::= 225
id-CSGMembershipInfo								ProtocolIE-ID ::= 226
id-Paging-eDRXInformation							ProtocolIE-ID ::= 227
id-UE-RetentionInformation							ProtocolIE-ID ::= 228
id-UE-Usage-Type									ProtocolIE-ID ::= 230
id-extended-UEIdentityIndexValue					ProtocolIE-ID ::= 231
id-RAT-Type											ProtocolIE-ID ::= 232
id-BearerType										ProtocolIE-ID ::= 233
id-NB-IoT-DefaultPagingDRX							ProtocolIE-ID ::= 234
id-E-RABFailedToResumeListResumeReq					ProtocolIE-ID ::= 235
id-E-RABFailedToResumeItemResumeReq					ProtocolIE-ID ::= 236
id-E-RABFailedToResumeListResumeRes					ProtocolIE-ID ::= 237
id-E-RABFailedToResumeItemResumeRes					ProtocolIE-ID ::= 238
id-NB-IoT-Paging-eDRXInformation					ProtocolIE-ID ::= 239
id-V2XServicesAuthorized							ProtocolIE-ID ::= 240
id-UEUserPlaneCIoTSupportIndicator 					ProtocolIE-ID ::= 241
id-CE-mode-B-SupportIndicator 						ProtocolIE-ID ::= 242
id-SRVCCOperationNotPossible						ProtocolIE-ID ::= 243
id-NB-IoT-UEIdentityIndexValue 						ProtocolIE-ID ::= 244
id-RRC-Resume-Cause									ProtocolIE-ID ::= 245
id-DCN-ID											ProtocolIE-ID ::= 246
id-ServedDCNs					 					ProtocolIE-ID ::= 247
id-UESidelinkAggregateMaximumBitrate 				ProtocolIE-ID ::= 248
id-DLNASPDUDeliveryAckRequest						ProtocolIE-ID ::= 249
id-Coverage-Level 									ProtocolIE-ID ::= 250
id-EnhancedCoverageRestricted						ProtocolIE-ID ::= 251
id-UE-Level-QoS-Parameters							ProtocolIE-ID ::= 252
id-DL-CP-SecurityInformation						ProtocolIE-ID ::= 253
id-UL-CP-SecurityInformation						ProtocolIE-ID ::= 254
id-extended-e-RAB-MaximumBitrateDL					ProtocolIE-ID ::= 255
id-extended-e-RAB-MaximumBitrateUL					ProtocolIE-ID ::= 256
id-extended-e-RAB-GuaranteedBitrateDL				ProtocolIE-ID ::= 257
id-extended-e-RAB-GuaranteedBitrateUL				ProtocolIE-ID ::= 258
id-extended-uEaggregateMaximumBitRateDL				ProtocolIE-ID ::= 259
id-extended-uEaggregateMaximumBitRateUL				ProtocolIE-ID ::= 260
id-NRrestrictioninEPSasSecondaryRAT					ProtocolIE-ID ::= 261
id-UEAppLayerMeasConfig								ProtocolIE-ID ::= 262
id-UE-Application-Layer-Measurement-Capability		ProtocolIE-ID ::= 263
id-SecondaryRATDataUsageReportList					ProtocolIE-ID ::= 264
id-SecondaryRATDataUsageReportItem					ProtocolIE-ID ::= 265
id-HandoverFlag										ProtocolIE-ID ::= 266
id-E-RABUsageReportItem								ProtocolIE-ID ::= 267
id-SecondaryRATDataUsageRequest						ProtocolIE-ID ::= 268
id-NRUESecurityCapabilities							ProtocolIE-ID ::= 269
id-UnlicensedSpectrumRestriction					ProtocolIE-ID ::= 270
id-CE-ModeBRestricted								ProtocolIE-ID ::= 271
id-LTE-M-Indication									ProtocolIE-ID ::= 272
id-DownlinkPacketLossRate							ProtocolIE-ID ::= 273
id-UplinkPacketLossRate								ProtocolIE-ID ::= 274
id-UECapabilityInfoRequest							ProtocolIE-ID ::= 275
id-serviceType										ProtocolIE-ID ::= 276
id-AerialUEsubscriptionInformation					ProtocolIE-ID ::= 277
id-Subscription-Based-UE-DifferentiationInfo		ProtocolIE-ID ::= 278
id-EndIndication									ProtocolIE-ID ::= 280
id-EDT-Session										ProtocolIE-ID ::= 281
id-CNTypeRestrictions								ProtocolIE-ID ::= 282
id-PendingDataIndication							ProtocolIE-ID ::= 283
id-BluetoothMeasurementConfiguration				ProtocolIE-ID ::= 284
id-WLANMeasurementConfiguration						ProtocolIE-ID ::= 285
id-WarningAreaCoordinates							ProtocolIE-ID ::= 286
id-NRrestrictionin5GS								ProtocolIE-ID ::= 287
id-PSCellInformation								ProtocolIE-ID ::= 288
id-LastNG-RANPLMNIdentity							ProtocolIE-ID ::= 290
id-ConnectedengNBList								ProtocolIE-ID ::= 291
id-ConnectedengNBToAddList							ProtocolIE-ID ::= 292
id-ConnectedengNBToRemoveList						ProtocolIE-ID ::= 293
id-EN-DCSONConfigurationTransfer-ECT				ProtocolIE-ID ::= 294
id-EN-DCSONConfigurationTransfer-MCT				ProtocolIE-ID ::= 295
id-IMSvoiceEPSfallbackfrom5G						ProtocolIE-ID ::= 296
id-TimeSinceSecondaryNodeRelease					ProtocolIE-ID ::= 297
id-RequestTypeAdditionalInfo						ProtocolIE-ID ::= 298
id-AdditionalRRMPriorityIndex						ProtocolIE-ID ::= 299
id-ContextatSource									ProtocolIE-ID ::= 300

END

9.3.7	Container Definitions
-- **************************************************************
--
-- 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
