diff --git a/asn1/rua/RUA-PDU-Contents.asn b/asn1/rua/RUA-PDU-Contents.asn
new file mode 100644
index 0000000..11b3566
--- /dev/null
+++ b/asn1/rua/RUA-PDU-Contents.asn
@@ -0,0 +1,195 @@
+-- **************************************************************
+--
+-- PDU definitions for RUA.
+--
+-- **************************************************************
+
+RUA-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Cause,
+	CriticalityDiagnostics,
+	Context-ID,
+	CN-DomainIndicator, 
+	CSGMembershipStatus,
+	IntraDomainNasNodeSelector,
+	RANAP-Message,
+	Establishment-Cause
+
+FROM RUA-IEs
+
+
+	ProtocolExtensionContainer{},
+	ProtocolIE-ContainerList{},
+	ProtocolIE-Container{},
+	ProtocolIE-Single-Container{},
+	PrivateIE-Container{},
+	RUA-PRIVATE-IES,
+	RUA-PROTOCOL-EXTENSION,
+	RUA-PROTOCOL-IES
+FROM RUA-Containers
+
+	id-Cause,
+	id-CriticalityDiagnostics,
+	id-Context-ID,
+	id-CN-DomainIndicator, 
+ 	id-CSGMembershipStatus,
+	id-RANAP-Message,
+	id-IntraDomainNasNodeSelector,
+	id-Establishment-Cause
+
+FROM RUA-Constants;
+
+
+-- **************************************************************
+--
+-- Connect
+--
+-- **************************************************************
+
+Connect ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {ConnectIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {ConnectExtensions} } 	OPTIONAL,
+	...
+}
+
+ConnectIEs RUA-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator		CRITICALITY reject	TYPE CN-DomainIndicator			PRESENCE mandatory } |
+	{ ID id-Context-ID			CRITICALITY reject	TYPE Context-ID				PRESENCE mandatory } |
+	{ ID id-IntraDomainNasNodeSelector 	CRITICALITY ignore	TYPE IntraDomainNasNodeSelector		PRESENCE optional } |
+	{ ID id-Establishment-Cause		CRITICALITY reject	TYPE Establishment-Cause		PRESENCE mandatory } |
+	{ ID id-RANAP-Message			CRITICALITY reject	TYPE RANAP-Message			PRESENCE mandatory },
+	...
+}
+
+ConnectExtensions RUA-PROTOCOL-EXTENSION ::= {
+	{ ID id-CSGMembershipStatus		CRITICALITY ignore	EXTENSION CSGMembershipStatus		PRESENCE optional }, 
+	...
+}
+
+
+-- **************************************************************
+--
+-- Direct Transfer
+--
+-- **************************************************************
+
+DirectTransfer ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {DirectTransferIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {DirectTransferExtensions} } 	OPTIONAL,
+	...
+}
+
+DirectTransferIEs RUA-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator	CRITICALITY reject	TYPE CN-DomainIndicator		PRESENCE mandatory } |
+	{ ID id-Context-ID		CRITICALITY reject	TYPE Context-ID			PRESENCE mandatory } |
+	{ ID id-RANAP-Message		CRITICALITY reject	TYPE RANAP-Message		PRESENCE mandatory },
+	...
+}
+
+DirectTransferExtensions RUA-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+
+-- **************************************************************
+--
+-- Disconnect
+--
+-- **************************************************************
+
+Disconnect ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {DisconnectIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {DisconnectExtensions} } 	OPTIONAL,
+	...
+}
+
+DisconnectIEs RUA-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator	CRITICALITY reject	TYPE CN-DomainIndicator	PRESENCE mandatory } |
+	{ ID id-Context-ID		CRITICALITY reject	TYPE Context-ID		PRESENCE mandatory } |
+	{ ID id-Cause			CRITICALITY reject	TYPE Cause		PRESENCE mandatory } |
+	{ ID id-RANAP-Message		CRITICALITY reject	TYPE RANAP-Message	PRESENCE conditional },
+	-- RANAP message shall be included if Cause value is "normal"
+	...
+}
+
+DisconnectExtensions RUA-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Connectionless Transfer
+--
+-- **************************************************************
+
+ConnectionlessTransfer ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {ConnectionlessTransferIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {ConnectionlessTransferExtensions} } 	OPTIONAL,
+	...
+}
+
+ConnectionlessTransferIEs RUA-PROTOCOL-IES ::= {
+	{ ID id-RANAP-Message	CRITICALITY reject	TYPE RANAP-Message	PRESENCE mandatory  },
+	...
+}
+
+ConnectionlessTransferExtensions RUA-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+
+
+-- **************************************************************
+--
+-- ERROR INDICATION
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+	protocolIEs		ProtocolIE-Container       { {ErrorIndicationIEs} },
+	protocolExtensions	ProtocolExtensionContainer { {ErrorIndicationExtensions} } 	OPTIONAL,
+	...
+}
+
+ErrorIndicationIEs RUA-PROTOCOL-IES ::= {
+	{ ID id-Cause			CRITICALITY ignore	TYPE Cause			PRESENCE mandatory } |
+	{ ID id-CriticalityDiagnostics	CRITICALITY ignore	TYPE CriticalityDiagnostics	PRESENCE optional },
+		...
+}
+
+ErrorIndicationExtensions RUA-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+	privateIEs		PrivateIE-Container  {{PrivateMessage-IEs}},
+	...
+}
+
+PrivateMessage-IEs RUA-PRIVATE-IES ::= {
+	...
+}
+
+
+END
diff --git a/asn1/rua/RUA-PDU-Descriptions.asn b/asn1/rua/RUA-PDU-Descriptions.asn
new file mode 100644
index 0000000..1809154
--- /dev/null
+++ b/asn1/rua/RUA-PDU-Descriptions.asn
@@ -0,0 +1,166 @@
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+RUA-PDU-Descriptions  { 
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) 
+umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Criticality,
+	ProcedureCode
+FROM RUA-CommonDataTypes
+	Connect,
+	DirectTransfer,
+	Disconnect,
+	ConnectionlessTransfer,		
+	ErrorIndication,
+	PrivateMessage
+
+
+FROM RUA-PDU-Contents
+	id-Connect,
+	id-DirectTransfer,
+	id-Disconnect,
+	id-ConnectionlessTransfer,
+	id-ErrorIndication,
+	id-privateMessage
+FROM RUA-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+RUA-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 definitions
+--
+-- **************************************************************
+
+RUA-PDU ::= CHOICE {
+	initiatingMessage		InitiatingMessage,
+	successfulOutcome		SuccessfulOutcome,
+	unsuccessfulOutcome		UnsuccessfulOutcome,
+	...
+}
+
+
+InitiatingMessage ::= SEQUENCE {
+	procedureCode	RUA-ELEMENTARY-PROCEDURE.&procedureCode		({RUA-ELEMENTARY-PROCEDURES}),
+	criticality	RUA-ELEMENTARY-PROCEDURE.&criticality		({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		RUA-ELEMENTARY-PROCEDURE.&InitiatingMessage	({RUA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+	procedureCode	RUA-ELEMENTARY-PROCEDURE.&procedureCode		({RUA-ELEMENTARY-PROCEDURES}),
+	criticality	RUA-ELEMENTARY-PROCEDURE.&criticality		({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		RUA-ELEMENTARY-PROCEDURE.&SuccessfulOutcome	({RUA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+	procedureCode	RUA-ELEMENTARY-PROCEDURE.&procedureCode			({RUA-ELEMENTARY-PROCEDURES}),
+	criticality	RUA-ELEMENTARY-PROCEDURE.&criticality			({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		RUA-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome	({RUA-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+RUA-ELEMENTARY-PROCEDURES RUA-ELEMENTARY-PROCEDURE ::= {
+	RUA-ELEMENTARY-PROCEDURES-CLASS-1	|
+	RUA-ELEMENTARY-PROCEDURES-CLASS-2	,
+	...
+}
+
+RUA-ELEMENTARY-PROCEDURES-CLASS-1 RUA-ELEMENTARY-PROCEDURE ::= {
+	...
+}
+
+
+RUA-ELEMENTARY-PROCEDURES-CLASS-2 RUA-ELEMENTARY-PROCEDURE ::= {
+	connectionRequest |
+	directTransfer |
+	disconnectRequest |
+	connectionlessTransfer |	
+	errorIndication |
+	privateMessage,
+	...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+
+connectionRequest RUA-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		Connect
+	PROCEDURE CODE			id-Connect
+	CRITICALITY			ignore
+}
+
+directTransfer RUA-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		DirectTransfer
+	PROCEDURE CODE			id-DirectTransfer
+	CRITICALITY			ignore
+}
+
+disconnectRequest RUA-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		Disconnect
+	PROCEDURE CODE			id-Disconnect
+	CRITICALITY			ignore
+}
+connectionlessTransfer RUA-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		ConnectionlessTransfer
+	PROCEDURE CODE			id-ConnectionlessTransfer
+	CRITICALITY			ignore
+}
+
+errorIndication RUA-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		ErrorIndication
+	PROCEDURE CODE			id-ErrorIndication
+	CRITICALITY			ignore
+}
+
+privateMessage RUA-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		PrivateMessage
+	PROCEDURE CODE			id-privateMessage
+	CRITICALITY			ignore
+}
+
+
+END
