-- RANAP-PDU-Descriptions.asn
--
-- 3GPP TS 25.413 V14.0.0 (2017-03)
-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
--
-- 9.3.2	Elementary Procedure Definitions
--

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

RANAP-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

IMPORTS
	Criticality,
	ProcedureCode
FROM RANAP-CommonDataTypes

	Iu-ReleaseCommand,
	Iu-ReleaseComplete,
	RelocationCommand,
	RelocationPreparationFailure,
	RelocationRequired,
	RelocationRequest,
	RelocationRequestAcknowledge,
	RelocationFailure,
	RelocationCancel,
	RelocationCancelAcknowledge,
	EnhancedRelocationCompleteRequest,
	EnhancedRelocationCompleteResponse,
	EnhancedRelocationCompleteFailure,
	EnhancedRelocationCompleteConfirm,
	SRNS-ContextRequest,
	SRNS-ContextResponse,
	SecurityModeCommand,
	SecurityModeComplete,
	SecurityModeReject,
	DataVolumeReportRequest,
	DataVolumeReport,
	Reset,
	ResetAcknowledge,
	RAB-ReleaseRequest,
	Iu-ReleaseRequest,
	RelocationDetect,
	RelocationComplete,
	Paging,
	CommonID,
	CN-InvokeTrace,
	CN-DeactivateTrace,
	LocationReportingControl,
	LocationReport,
	InitialUE-Message,
	DirectTransfer,
	Overload,
	ErrorIndication,
	SRNS-DataForwardCommand,
	ForwardSRNS-Context,
	RAB-AssignmentRequest,
	RAB-AssignmentResponse,
	RAB-ModifyRequest,
	PrivateMessage,
	ResetResource,
	ResetResourceAcknowledge,
	RANAP-RelocationInformation,
	RANAP-EnhancedRelocationInformationRequest,
	RANAP-EnhancedRelocationInformationResponse,
	LocationRelatedDataRequest,
	LocationRelatedDataResponse,
	LocationRelatedDataFailure,
	InformationTransferIndication,
	InformationTransferConfirmation,
	InformationTransferFailure,
	UESpecificInformationIndication,
	DirectInformationTransfer,
	UplinkInformationExchangeRequest,
	UplinkInformationExchangeResponse,
	UplinkInformationExchangeFailure,
	MBMSSessionStart,
	MBMSSessionStartResponse,
	MBMSSessionStartFailure,
	MBMSSessionUpdate,
	MBMSSessionUpdateResponse,
	MBMSSessionUpdateFailure,
	MBMSSessionStop,
	MBMSSessionStopResponse,
	MBMSUELinkingRequest,
	MBMSUELinkingResponse,
	MBMSRegistrationRequest,
	MBMSRegistrationResponse,
	MBMSRegistrationFailure,
	MBMSCNDe-RegistrationRequest,
	MBMSCNDe-RegistrationResponse,
	MBMSRABEstablishmentIndication,
	MBMSRABReleaseRequest,
	MBMSRABRelease,
	MBMSRABReleaseFailure,
	SRVCC-CSKeysRequest,
	SRVCC-CSKeysResponse,
	UeRadioCapabilityMatchRequest,
	UeRadioCapabilityMatchResponse,
	UeRegistrationQueryRequest,
	UeRegistrationQueryResponse,
	RerouteNASRequest

FROM RANAP-PDU-Contents

	id-LocationRelatedData,
	id-CN-DeactivateTrace,
	id-CN-InvokeTrace,
	id-CommonID,
	id-DataVolumeReport,
	id-DirectTransfer,
	id-ErrorIndication,
	id-ForwardSRNS-Context,
	id-InformationTransfer,
	id-InitialUE-Message,
	id-Iu-Release,
	id-Iu-ReleaseRequest,
	id-LocationReport,
	id-LocationReportingControl,
	id-OverloadControl,
	id-Paging,
	id-privateMessage,
	id-RAB-Assignment,
	id-RAB-ReleaseRequest,
	id-RAB-ModifyRequest,
	id-RANAP-Relocation,
	id-RANAPenhancedRelocation,
	id-RelocationCancel,
	id-RelocationComplete,
	id-RelocationDetect,
	id-RelocationPreparation,
	id-RelocationResourceAllocation,
	id-enhancedRelocationComplete,
	id-enhancedRelocationCompleteConfirm,
	id-Reset,
	id-SRNS-ContextTransfer,
	id-SRNS-DataForward,
	id-SecurityModeControl,
	id-ResetResource,
	id-UESpecificInformation,
	id-DirectInformationTransfer,
	id-UplinkInformationExchange,
	id-MBMSSessionStart,
	id-MBMSSessionUpdate,
	id-MBMSSessionStop,
	id-MBMSUELinking,
	id-MBMSRegistration,
	id-MBMSCNDe-Registration-Procedure,
	id-MBMSRABEstablishmentIndication,
	id-MBMSRABRelease,
	id-SRVCCPreparation,
	id-UeRadioCapabilityMatch,
	id-UeRegistrationQuery,
	id-RerouteNASRequest

FROM RANAP-Constants;

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

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

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

RANAP-PDU ::= CHOICE {
	initiatingMessage	InitiatingMessage,
	successfulOutcome	SuccessfulOutcome,
	unsuccessfulOutcome	UnsuccessfulOutcome,
	outcome			Outcome,
	...
}

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

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

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

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

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

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


RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
	iu-Release			|
	relocationPreparation		|
	relocationResourceAllocation	|
	relocationCancel		|
	sRNS-ContextTransfer		|
	securityModeControl		|
	dataVolumeReport		|
	reset		|
	resetResource				,
	...,
	locationRelatedData		|
	informationTransfer		|
	uplinkInformationExchange	|
	mBMSSessionStart			|
	mBMSSessionUpdate			|
	mBMSSessionStop				|
	mBMSUELinking				|
	mBMSRegistration			|
	mBMSCNDe-Registration		|
	mBMSRABRelease				|
	enhancedRelocationComplete	|
	rANAP-enhancedRelocation	|
	sRVCCPreparation			|
	ueRadioCapabilityMatch		|
	ueRegistrationQuery }

RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
	rAB-ReleaseRequest		|
	iu-ReleaseRequest		|
	relocationDetect		|
	relocationComplete		|
	paging					|
	commonID				|
	cN-InvokeTrace			|
	cN-DeactivateTrace		|
	locationReportingControl	|
	locationReport			|
	initialUE-Message		|
	directTransfer			|
	overloadControl			|
	errorIndication			|
	sRNS-DataForward		|
	forwardSRNS-Context		|
	privateMessage			|
	rANAP-Relocation		,
	...,
	rAB-ModifyRequest		|
	uESpecificInformation	|
	directInformationTransfer	|
	mBMSRABEstablishmentIndication	|
	enhancedRelocationCompleteConfirm	|
	rerouteNASRequest
}

RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
	rAB-Assignment			,
	...
}

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

iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	Iu-ReleaseCommand
	SUCCESSFUL OUTCOME	Iu-ReleaseComplete
	PROCEDURE CODE		id-Iu-Release
	CRITICALITY		reject
}

relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RelocationRequired
	SUCCESSFUL OUTCOME	RelocationCommand
	UNSUCCESSFUL OUTCOME	RelocationPreparationFailure
	PROCEDURE CODE			id-RelocationPreparation
	CRITICALITY		reject
}

relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RelocationRequest
	SUCCESSFUL OUTCOME	RelocationRequestAcknowledge
	UNSUCCESSFUL OUTCOME	RelocationFailure
	PROCEDURE CODE			id-RelocationResourceAllocation
	CRITICALITY		reject
}

relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RelocationCancel
	SUCCESSFUL OUTCOME	RelocationCancelAcknowledge
	PROCEDURE CODE		id-RelocationCancel
	CRITICALITY		reject
}

sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	SRNS-ContextRequest
	SUCCESSFUL OUTCOME	SRNS-ContextResponse
	PROCEDURE CODE		id-SRNS-ContextTransfer
	CRITICALITY		reject
}

securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	SecurityModeCommand
	SUCCESSFUL OUTCOME	SecurityModeComplete
	UNSUCCESSFUL OUTCOME	SecurityModeReject
	PROCEDURE CODE		id-SecurityModeControl
	CRITICALITY		reject
}
	
dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	DataVolumeReportRequest
	SUCCESSFUL OUTCOME	DataVolumeReport
	PROCEDURE CODE		id-DataVolumeReport
	CRITICALITY		reject
}
	

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

rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RAB-ReleaseRequest
	PROCEDURE CODE		id-RAB-ReleaseRequest
	CRITICALITY		ignore
}

iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	Iu-ReleaseRequest
	PROCEDURE CODE		id-Iu-ReleaseRequest
	CRITICALITY		ignore
}

relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RelocationDetect
	PROCEDURE CODE		id-RelocationDetect
	CRITICALITY		ignore
}

relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RelocationComplete
	PROCEDURE CODE		id-RelocationComplete
	CRITICALITY		ignore
}

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

commonID RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	CommonID
	PROCEDURE CODE		id-CommonID
	CRITICALITY		ignore
}

cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	CN-InvokeTrace
	PROCEDURE CODE		id-CN-InvokeTrace
	CRITICALITY		ignore
}

cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	CN-DeactivateTrace
	PROCEDURE CODE			id-CN-DeactivateTrace
	CRITICALITY		ignore
}

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

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

initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	InitialUE-Message
	PROCEDURE CODE		id-InitialUE-Message
	CRITICALITY		ignore
}

directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	DirectTransfer
	PROCEDURE CODE		id-DirectTransfer
	CRITICALITY		ignore
}

overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	Overload
	PROCEDURE CODE		id-OverloadControl
	CRITICALITY		ignore
}

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

sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	SRNS-DataForwardCommand
	PROCEDURE CODE		id-SRNS-DataForward
	CRITICALITY		ignore
}

forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	ForwardSRNS-Context
	PROCEDURE CODE		id-ForwardSRNS-Context
	CRITICALITY		ignore
}

rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RAB-AssignmentRequest
	OUTCOME			RAB-AssignmentResponse
	PROCEDURE CODE		id-RAB-Assignment
	CRITICALITY		reject
}

privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	PrivateMessage

	PROCEDURE CODE	id-privateMessage
	CRITICALITY		ignore
}

resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	ResetResource
	SUCCESSFUL OUTCOME	ResetResourceAcknowledge
	PROCEDURE CODE			id-ResetResource
	CRITICALITY		reject
}

rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RANAP-RelocationInformation
	PROCEDURE CODE			id-RANAP-Relocation
	CRITICALITY		ignore
}

rAB-ModifyRequest RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RAB-ModifyRequest
	PROCEDURE CODE		id-RAB-ModifyRequest
	CRITICALITY		ignore
}

locationRelatedData RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		LocationRelatedDataRequest
	SUCCESSFUL OUTCOME		LocationRelatedDataResponse
	UNSUCCESSFUL OUTCOME	LocationRelatedDataFailure
	PROCEDURE CODE			id-LocationRelatedData
	CRITICALITY				reject
}

informationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		InformationTransferIndication
	SUCCESSFUL OUTCOME		InformationTransferConfirmation
	UNSUCCESSFUL OUTCOME	InformationTransferFailure
	PROCEDURE CODE			id-InformationTransfer
	CRITICALITY				reject
}

uESpecificInformation RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	UESpecificInformationIndication
	PROCEDURE CODE		id-UESpecificInformation
	CRITICALITY		ignore
}

directInformationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		DirectInformationTransfer
	PROCEDURE CODE			id-DirectInformationTransfer
	CRITICALITY				ignore
}

uplinkInformationExchange RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UplinkInformationExchangeRequest
	SUCCESSFUL OUTCOME		UplinkInformationExchangeResponse
	UNSUCCESSFUL OUTCOME	UplinkInformationExchangeFailure
	PROCEDURE CODE			id-UplinkInformationExchange
	CRITICALITY				reject
}

mBMSSessionStart RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MBMSSessionStart
	SUCCESSFUL OUTCOME		MBMSSessionStartResponse
	UNSUCCESSFUL OUTCOME	MBMSSessionStartFailure
	PROCEDURE CODE			id-MBMSSessionStart
	CRITICALITY				reject
}

mBMSSessionUpdate RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MBMSSessionUpdate
	SUCCESSFUL OUTCOME		MBMSSessionUpdateResponse
	UNSUCCESSFUL OUTCOME	MBMSSessionUpdateFailure
	PROCEDURE CODE			id-MBMSSessionUpdate
	CRITICALITY				reject
}

mBMSSessionStop RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MBMSSessionStop
	SUCCESSFUL OUTCOME		MBMSSessionStopResponse
	PROCEDURE CODE			id-MBMSSessionStop
	CRITICALITY				reject
}

mBMSUELinking RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MBMSUELinkingRequest
	OUTCOME					MBMSUELinkingResponse
	PROCEDURE CODE			id-MBMSUELinking
	CRITICALITY				reject
}

mBMSRegistration RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MBMSRegistrationRequest
	SUCCESSFUL OUTCOME		MBMSRegistrationResponse
	UNSUCCESSFUL OUTCOME	MBMSRegistrationFailure
	PROCEDURE CODE			id-MBMSRegistration
	CRITICALITY				reject
}

mBMSCNDe-Registration RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		MBMSCNDe-RegistrationRequest
	SUCCESSFUL OUTCOME		MBMSCNDe-RegistrationResponse
	PROCEDURE CODE			id-MBMSCNDe-Registration-Procedure
	CRITICALITY				reject
}

mBMSRABEstablishmentIndication RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	MBMSRABEstablishmentIndication
	PROCEDURE CODE		id-MBMSRABEstablishmentIndication
	CRITICALITY		ignore
}

mBMSRABRelease RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	MBMSRABReleaseRequest
	SUCCESSFUL OUTCOME		MBMSRABRelease
	UNSUCCESSFUL OUTCOME	MBMSRABReleaseFailure
	PROCEDURE CODE		id-MBMSRABRelease
	CRITICALITY		reject
}
enhancedRelocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	EnhancedRelocationCompleteRequest
	SUCCESSFUL OUTCOME		EnhancedRelocationCompleteResponse
	UNSUCCESSFUL OUTCOME	EnhancedRelocationCompleteFailure
	PROCEDURE CODE		id-enhancedRelocationComplete
	CRITICALITY		reject
}

enhancedRelocationCompleteConfirm RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	EnhancedRelocationCompleteConfirm
	PROCEDURE CODE		id-enhancedRelocationCompleteConfirm
	CRITICALITY		ignore
}

rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	RANAP-EnhancedRelocationInformationRequest
	SUCCESSFUL OUTCOME	RANAP-EnhancedRelocationInformationResponse
	PROCEDURE CODE			id-RANAPenhancedRelocation
	CRITICALITY		reject
}

sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE	SRVCC-CSKeysRequest
	OUTCOME				SRVCC-CSKeysResponse
	PROCEDURE CODE		id-SRVCCPreparation
	CRITICALITY			reject
}

ueRadioCapabilityMatch RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UeRadioCapabilityMatchRequest
	OUTCOME					UeRadioCapabilityMatchResponse
	PROCEDURE CODE			id-UeRadioCapabilityMatch
	CRITICALITY				ignore
}

ueRegistrationQuery RANAP-ELEMENTARY-PROCEDURE ::= {
	INITIATING MESSAGE		UeRegistrationQueryRequest
	OUTCOME					UeRegistrationQueryResponse
	PROCEDURE CODE			id-UeRegistrationQuery
	CRITICALITY				ignore
}

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

END
