RUA: Add missing RUA-PDU-Contents.asn and RUA-PDU-Descriptions.asn
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