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

RANAP-CommonDataTypes {
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
umts-Access (20) modules (3) ranap (0) version1 (1) ranap-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, outcome }

END
