SABP (Service Area Broadcast Protocol) definitions

Using ASN.1 syntax copy+pasted from 3GPP TS 25.419 version 15.0.0 Release 15

Change-Id: Iab44cca10a664bbe2823a4183bca055ac8851137
diff --git a/library/sabp/SABP_Containers.asn b/library/sabp/SABP_Containers.asn
new file mode 100644
index 0000000..0aea9cc
--- /dev/null
+++ b/library/sabp/SABP_Containers.asn
@@ -0,0 +1,94 @@
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+SABP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp (3) version1 (1) sabp-Containers (5) }
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+IMPORTS
+ Criticality,
+ Presence,
+ ProtocolExtensionID,
+ ProtocolIE-ID
+FROM SABP-CommonDataTypes
+ maxProtocolExtensions,
+ maxProtocolIEs
+FROM SABP-Constants;
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+SABP-PROTOCOL-IES ::= CLASS {
+ &id ProtocolIE-ID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Value,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ TYPE &Value
+ PRESENCE &presence
+} 
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+SABP-PROTOCOL-EXTENSION ::= CLASS {
+ &id ProtocolExtensionID UNIQUE,
+ &criticality Criticality DEFAULT ignore,
+ &Extension,
+ &presence Presence
+}
+WITH SYNTAX {
+ ID &id
+ CRITICALITY &criticality
+ EXTENSION &Extension
+ PRESENCE &presence
+}
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+ProtocolIE-Container {SABP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+ ProtocolIE-Field {{IEsSetParam}}
+ProtocolIE-Field {SABP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+ id SABP-PROTOCOL-IES.&id ({IEsSetParam}),
+ criticality SABP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
+ value SABP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
+}
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SABP-PROTOCOL-IES : IEsSetParam} ::=
+ SEQUENCE (SIZE (lowerBound..upperBound)) OF
+ ProtocolIE-Container {{IEsSetParam}}
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+ProtocolExtensionContainer {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+ ProtocolExtensionField {{ExtensionSetParam}} 
+ProtocolExtensionField {SABP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+ id SABP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
+ criticality SABP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
+ extensionValue SABP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
+}
+END