From b86665999120dd8453637ab8f27c27da6748dbcf Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 30 Aug 2015 14:28:10 +0200 Subject: ADD IU-Common.asn as an attempt to unify the message parsing --- asn1/iucommon/IU-Common.asn | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 asn1/iucommon/IU-Common.asn (limited to 'asn1') 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 -- cgit v1.2.3