aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2015-08-30 14:28:10 +0200
committerHarald Welte <laforge@gnumonks.org>2015-08-30 14:28:10 +0200
commitb86665999120dd8453637ab8f27c27da6748dbcf (patch)
tree6d06083e131c75e55604c26c8261d1a4721cfc9f /asn1
parent30afef3073e6f9d0c00275b7c41009eb64661f67 (diff)
ADD IU-Common.asn as an attempt to unify the message parsing
Diffstat (limited to 'asn1')
-rw-r--r--asn1/iucommon/IU-Common.asn45
1 files changed, 45 insertions, 0 deletions
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