aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2019-05-09 11:38:30 +0200
committerHarald Welte <laforge@gnumonks.org>2019-09-21 09:41:46 +0200
commitf7f85ef0920e0b1f13a96c43c163a0b229e39551 (patch)
tree6ebd6b23b58ebc1d0cea73b531cc19a2f7fafe51
parentd673facccd28b31600572f18c2a7720710493bff (diff)
sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain)
-rw-r--r--asn1/sabp/SABP-IEs.asn25
-rw-r--r--asn1/sabp/SABP-PDU.asn141
2 files changed, 155 insertions, 11 deletions
diff --git a/asn1/sabp/SABP-IEs.asn b/asn1/sabp/SABP-IEs.asn
index e21e007..0efd14e 100644
--- a/asn1/sabp/SABP-IEs.asn
+++ b/asn1/sabp/SABP-IEs.asn
@@ -12,6 +12,7 @@ IMPORTS
maxNrOfErrors,
maxnoofSAI,
maxNrOfLevels,
+ maxProtocolExtensions,
id-MessageStructure,
id-TypeOfError
FROM SABP-Constants
@@ -20,9 +21,11 @@ FROM SABP-Constants
TriggeringMessage,
ProtocolIE-ID
FROM SABP-CommonDataTypes
- ProtocolExtensionContainer{},
- SABP-PROTOCOL-EXTENSION
-FROM SABP-Containers;
+ IE
+FROM SABP-PDU;
+
+IE-Extensions ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF IE
+
-- A
Available-Bandwidth ::= INTEGER (0..20480)
-- bits/sec
@@ -66,7 +69,7 @@ Criticality-Diagnostics ::= SEQUENCE {
triggeringMessage TriggeringMessage OPTIONAL,
procedureCriticality Criticality OPTIONAL,
iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+ iE-Extensions IE-Extensions OPTIONAL,
...
}
CriticalityDiagnostics-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
@@ -77,19 +80,19 @@ CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
iECriticality Criticality,
iE-ID ProtocolIE-ID,
repetitionNumber RepetitionNumber0 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+ iE-Extensions IE-Extensions OPTIONAL,
...
}
CriticalityDiagnostics-IE-List-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
+ -- { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional }|
+ -- { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory },
...
}
MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
SEQUENCE {
iE-ID ProtocolIE-ID,
repetitionNumber RepetitionNumber1 OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+ iE-Extensions IE-Extensions OPTIONAL,
...
}
MessageStructure-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
@@ -103,7 +106,7 @@ Failure-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF Failure-List-Item
Failure-List-Item ::= SEQUENCE {
service-area-identifier Service-Area-Identifier,
cause Cause,
- iE-Extensions ProtocolExtensionContainer { {FailureListItemIE-ExtIEs} } OPTIONAL,
+ iE-Extensions IE-Extensions OPTIONAL,
...
}
FailureListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
@@ -125,7 +128,7 @@ Number-of-Broadcasts-Completed-List-Item ::= SEQUENCE {
service-area-identifier Service-Area-Identifier,
number-of-broadcasts-completed INTEGER (0..65535),
number-of-broadcasts-completed-info Number-Of-Broadcasts-Completed-Info OPTIONAL,
- iE-Extensions ProtocolExtensionContainer { {NoOfBroadcastsCompletedListItemIE-ExtIEs} } OPTIONAL,
+ iE-Extensions IE-Extensions OPTIONAL,
...
}
NoOfBroadcastsCompletedListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
@@ -153,7 +156,7 @@ Radio-Resource-Loading-List ::= SEQUENCE (SIZE (1..maxnoofSAI)) OF
Radio-Resource-Loading-List-Item ::= SEQUENCE {
service-area-identifier Service-Area-Identifier,
available-bandwidth Available-Bandwidth,
- iE-Extensions ProtocolExtensionContainer { {RadioResourceLoadingListItemIE-ExtIEs} } OPTIONAL,
+ iE-Extensions IE-Extensions OPTIONAL,
...
}
RadioResourceLoadingListItemIE-ExtIEs SABP-PROTOCOL-EXTENSION ::= {
diff --git a/asn1/sabp/SABP-PDU.asn b/asn1/sabp/SABP-PDU.asn
new file mode 100644
index 0000000..becb238
--- /dev/null
+++ b/asn1/sabp/SABP-PDU.asn
@@ -0,0 +1,141 @@
+SABP-PDU {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) sabp(3) version1 (1) sabp-PDU (255) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+ maxProtocolIEs
+FROM SABP-Constants
+
+ Criticality,
+ ProcedureCode,
+ ProtocolIE-ID
+FROM SABP-CommonDataTypes;
+
+SABP-PDU ::= CHOICE {
+ initiatingMessage InitiatingMessage,
+ successfulOutcome SuccessfulOutcome,
+ unsuccessfulOutcome UnsuccessfulOutcome,
+ ...
+}
+
+InitiatingMessage ::= SEQUENCE {
+ procedureCode ProcedureCode,
+ criticality Criticality,
+ value ANY
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+ procedureCode ProcedureCode,
+ criticality Criticality,
+ value ANY
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+ procedureCode ProcedureCode,
+ criticality Criticality,
+ value ANY
+}
+
+
+Write-Replace ::= SEQUENCE {
+ write-Replace-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Write-Replace-Complete ::= SEQUENCE {
+ write-Replace-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Write-Replace-Failure ::= SEQUENCE {
+ write-Replace-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Kill ::= SEQUENCE {
+ kill-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Kill-Complete ::= SEQUENCE {
+ kill-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Kill-Failure ::= SEQUENCE {
+ kill-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Load-Query ::= SEQUENCE {
+ load-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Load-Query-Complete ::= SEQUENCE {
+ load-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Load-Query-Failure ::= SEQUENCE {
+ load-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Message-Status-Query ::= SEQUENCE {
+ message-Status-Query-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Message-Status-Query-Complete ::= SEQUENCE {
+ message-Status-Query-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Message-Status-Query-Failure ::= SEQUENCE {
+ message-Status-Query-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Reset ::= SEQUENCE {
+ reset-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Reset-Complete ::= SEQUENCE {
+ reset-Complete-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Reset-Failure ::= SEQUENCE {
+ reset-Failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Restart ::= SEQUENCE {
+ restart-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Failure ::= SEQUENCE {
+ failure-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+Error-Indication ::= SEQUENCE {
+ error-Indication-ies SEQUENCE (SIZE (0..maxProtocolIEs)) OF IE,
+ ...
+}
+
+
+IE ::= SEQUENCE {
+ id ProtocolIE-ID,
+ criticality Criticality,
+ value ANY
+}
+
+END