ADD IU-Common.asn as an attempt to unify the message parsing
diff --git a/asn1/iucommon/IU-Common.asn b/asn1/iucommon/IU-Common.asn
new file mode 100644
index 0000000..0dfe7c6
--- /dev/null
+++ b/asn1/iucommon/IU-Common.asn
@@ -0,0 +1,45 @@
+IU-Common { }
+
+-- Humble attempt of extracting the common part of RUA, HNBAP and RANAP out of
+-- their respective ASN.1 syntax definitions.  Hidden in all those information
+-- object classes is a quite classic 'message header' structure that is identical
+-- to all of the messages of the above protocols.  Only the actual information element
+-- contents is specified as 'real' ASN.1 complex data type.
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+maxProtocolExtensions	INTEGER ::= 65535
+maxProtocolIEs		INTEGER ::= 65535
+
+Criticality		::= ENUMERATED { reject, ignore, notify }
+
+ProcedureCode		::= INTEGER (0..255)
+
+ProtocolIE-ID		::= INTEGER (0..maxProtocolIEs)
+
+MessageType ::= ENUMERATED { initiatingMessage, successfulOutcome, unsuccessfulOutcome }
+
+ProtocolIEContainer ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF ProtocolIE-Field
+
+ProtocolExtensionContainer ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF ProtocolIE-Field
+
+ProtocolIE-Field ::= SEQUENCE {
+	id		ProtocolIE-ID,
+	criticality	Criticality,
+	value		ANY
+}
+
+
+IUCommon-PDU ::= SEQUENCE {
+	choice			MessageType,
+	procedureCode		ProcedureCode,
+	criticality		Criticality,
+	protocolIEs		ProtocolIEContainer,
+	protocolExtensions	ProtocolExtensionContainer	OPTIONAL,
+	...
+}
+
+
+END