diff --git a/asn1/rua/RUA-CommonDataTypes.asn b/asn1/rua/RUA-CommonDataTypes.asn
new file mode 100644
index 0000000..da7ed22
--- /dev/null
+++ b/asn1/rua/RUA-CommonDataTypes.asn
@@ -0,0 +1,46 @@
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+RUA-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-CommonDataTypes (3)  }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs 		INTEGER ::= 65535
+maxProtocolExtensions 	INTEGER ::= 65535
+maxProtocolIEs		INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Common Data Types
+--
+-- **************************************************************
+Criticality		::= ENUMERATED { reject, ignore, notify }
+
+Presence		::= ENUMERATED { optional, conditional, mandatory }
+
+
+ProcedureCode		::= INTEGER (0..255)
+
+PrivateIE-ID	::= CHOICE {
+	local		INTEGER (0..65535),
+	global		OBJECT IDENTIFIER
+}
+
+ProtocolIE-ID		::= INTEGER (0..maxProtocolIEs)
+
+TriggeringMessage	::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome }
+
+END
diff --git a/asn1/rua/RUA-Constants.asn b/asn1/rua/RUA-Constants.asn
new file mode 100644
index 0000000..636b4d5
--- /dev/null
+++ b/asn1/rua/RUA-Constants.asn
@@ -0,0 +1,55 @@
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+RUA-Constants { 
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-Constants (4) } 
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+	ProcedureCode,
+	ProtocolIE-ID
+FROM RUA-CommonDataTypes;
+
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+id-Connect						ProcedureCode ::= 1
+id-DirectTransfer					ProcedureCode ::= 2
+id-Disconnect						ProcedureCode ::= 3
+id-ConnectionlessTransfer				ProcedureCode ::= 4
+id-ErrorIndication					ProcedureCode ::= 5
+id-privateMessage					ProcedureCode ::= 6
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+maxNrOfErrors						INTEGER ::= 256
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-Cause						ProtocolIE-ID ::= 1
+id-CriticalityDiagnostics				ProtocolIE-ID ::= 2
+id-Context-ID						ProtocolIE-ID ::= 3
+id-RANAP-Message					ProtocolIE-ID ::= 4
+id-IntraDomainNasNodeSelector				ProtocolIE-ID ::= 5
+id-Establishment-Cause					ProtocolIE-ID ::= 6
+id-CN-DomainIndicator					ProtocolIE-ID ::= 7
+id-CSGMembershipStatus 					ProtocolIE-ID ::= 9
+
+ 
+END
diff --git a/asn1/rua/RUA-Containers.asn b/asn1/rua/RUA-Containers.asn
new file mode 100644
index 0000000..fff938b
--- /dev/null
+++ b/asn1/rua/RUA-Containers.asn
@@ -0,0 +1,153 @@
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+RUA-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Criticality,
+	Presence,
+	PrivateIE-ID,
+	ProtocolIE-ID,
+	maxPrivateIEs,
+	maxProtocolExtensions,
+	maxProtocolIEs
+FROM RUA-CommonDataTypes;
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+RUA-PRIVATE-IES ::= CLASS {
+	&id			PrivateIE-ID,
+	&criticality		Criticality,
+	&Value,
+	&presence		Presence
+}
+WITH SYNTAX {
+	ID			&id
+	CRITICALITY		&criticality
+	TYPE			&Value
+	PRESENCE		&presence
+}
+
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+RUA-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 Extensions
+--
+-- **************************************************************
+
+RUA-PROTOCOL-EXTENSION ::= CLASS {
+	&id			ProtocolIE-ID UNIQUE,
+	&criticality		Criticality,
+	&Extension,
+	&presence		Presence
+}
+WITH SYNTAX {
+	ID			&id
+	CRITICALITY		&criticality
+	EXTENSION		&Extension
+	PRESENCE		&presence
+}
+
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {RUA-PROTOCOL-IES : IEsSetParam} ::= 
+	SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+		ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Single-Container {RUA-PROTOCOL-IES : IEsSetParam} ::= 
+	ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {RUA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+	id		RUA-PROTOCOL-IES.&id		({IEsSetParam}),
+	criticality	RUA-PROTOCOL-IES.&criticality	({IEsSetParam}{@id}),
+	value		RUA-PROTOCOL-IES.&Value		({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RUA-PROTOCOL-IES : IEsSetParam} ::=
+	SEQUENCE (SIZE (lowerBound..upperBound)) OF
+		ProtocolIE-Container {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= 
+	SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+		ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+	id		RUA-PROTOCOL-EXTENSION.&id		({ExtensionSetParam}),
+	criticality	RUA-PROTOCOL-EXTENSION.&criticality	({ExtensionSetParam}{@id}),
+	extensionValue	RUA-PROTOCOL-EXTENSION.&Extension	({ExtensionSetParam}{@id})
+}
+
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {RUA-PRIVATE-IES : IEsSetParam } ::= 
+	SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+		PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {RUA-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+	id		RUA-PRIVATE-IES.&id			({IEsSetParam}),
+	criticality	RUA-PRIVATE-IES.&criticality		({IEsSetParam}{@id}),
+	value		RUA-PRIVATE-IES.&Value			({IEsSetParam}{@id})
+}
+
+
+END
diff --git a/asn1/rua/RUA-IEs.asn b/asn1/rua/RUA-IEs.asn
new file mode 100644
index 0000000..ca594b8
--- /dev/null
+++ b/asn1/rua/RUA-IEs.asn
@@ -0,0 +1,191 @@
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+RUA-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+	maxNrOfErrors
+FROM RUA-Constants
+
+	Criticality,
+	ProcedureCode,
+	ProtocolIE-ID,
+	TriggeringMessage
+FROM RUA-CommonDataTypes
+
+	ProtocolExtensionContainer{},
+	RUA-PROTOCOL-EXTENSION
+FROM RUA-Containers;
+
+
+CN-DomainIndicator ::= ENUMERATED { 
+	cs-domain, 
+	ps-domain 
+}
+
+CSGMembershipStatus ::= ENUMERATED { 
+	member, 
+	non-member,
+	...
+}
+
+Establishment-Cause ::= ENUMERATED {
+	emergency-call,
+	normal-call,
+	... 
+}
+
+
+
+
+
+Context-ID	::=	 BIT STRING (SIZE(24))
+
+IntraDomainNasNodeSelector ::=	SEQUENCE {
+	version	CHOICE {
+		release99	SEQUENCE {
+			cn-Type		CHOICE {
+				gsm-Map-IDNNS	Gsm-map-IDNNS,
+				ansi-41-IDNNS	Ansi-41-IDNNS
+			}
+		},
+		later	SEQUENCE {
+			futurecoding	BIT STRING (SIZE (15))
+		}
+	}
+}
+
+Gsm-map-IDNNS ::= SEQUENCE {
+	routingbasis	CHOICE {
+		localPTMSI	SEQUENCE {
+			routingparameter	RoutingParameter
+		},
+		tMSIofsamePLMN	SEQUENCE {
+			routingparameter	RoutingParameter
+		},
+		tMSIofdifferentPLMN	SEQUENCE {
+			routingparameter	RoutingParameter
+		},
+		iMSIresponsetopaging	SEQUENCE {
+			routingparameter	RoutingParameter
+		},
+		iMSIcauseUEinitiatedEvent SEQUENCE {
+			routingparameter	RoutingParameter
+		},
+		iMEI	SEQUENCE {
+			routingparameter	RoutingParameter
+		},
+		spare2	SEQUENCE {
+			routingparameter	RoutingParameter
+		},
+		spare1	SEQUENCE {
+			routingparameter	RoutingParameter
+		}
+	},
+	-- dummy is not used in this version of the specification and
+	-- it should be ignored by the receiver.
+	dummy	BOOLEAN
+}
+
+
+Ansi-41-IDNNS ::= BIT STRING (SIZE (14))
+
+RANAP-Message	::= OCTET STRING
+
+RoutingParameter ::= BIT STRING (SIZE (10))
+
+
+-- **************************************************************
+--
+-- Cause IE
+--
+-- **************************************************************
+
+Cause ::= CHOICE {
+	radioNetwork	CauseRadioNetwork,
+	transport	CauseTransport,
+	protocol	CauseProtocol,
+	misc		CauseMisc,
+	...
+}
+CauseRadioNetwork ::= ENUMERATED {
+	normal,
+	connect-failed,
+	network-release,
+	unspecified,
+	...
+}
+CauseTransport ::= ENUMERATED {
+	transport-resource-unavailable,
+	unspecified,
+	...
+}
+
+CauseProtocol ::= ENUMERATED {
+	transfer-syntax-error,
+	abstract-syntax-error-reject,
+	abstract-syntax-error-ignore-and-notify,
+	message-not-compatible-with-receiver-state,
+	semantic-error,
+	unspecified,
+	abstract-syntax-error-falsely-constructed-message,
+	...
+}
+
+CauseMisc ::= ENUMERATED {
+	processing-overload,
+	hardware-failure,
+	o-and-m-intervention,
+	unspecified,
+	...
+}
+
+-- **************************************************************
+--
+-- CriticalityDiagnostics
+--
+-- **************************************************************
+
+CriticalityDiagnostics ::= SEQUENCE {
+	procedureCode			ProcedureCode	OPTIONAL,
+	triggeringMessage		TriggeringMessage	OPTIONAL,
+	procedureCriticality		Criticality	OPTIONAL,
+	iEsCriticalityDiagnostics	CriticalityDiagnostics-IE-List	OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+	SEQUENCE {
+		iECriticality			Criticality,
+		iE-ID				ProtocolIE-ID,
+		typeOfError			TypeOfError,
+		iE-Extensions			ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} }	OPTIONAL,
+		...
+	}
+
+CriticalityDiagnostics-IE-List-ExtIEs RUA-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CriticalityDiagnostics-ExtIEs RUA-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+TypeOfError ::= ENUMERATED {
+	not-understood,
+	missing,
+	...
+}
+
+END
