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
