blob: 1ae6245d84428fb3944d45383a697a7e4a2d8a1b [file] [log] [blame]
Harald Welte799049c2019-06-26 01:35:18 +02001-- 3GPP TS 36.413 V15.5.0 (2019-03)
2-- 9.3.7 Container Definitions
3-- **************************************************************
4--
5-- Container definitions
6--
7-- **************************************************************
8
9S1AP-Containers {
10itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
11eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
12
13DEFINITIONS AUTOMATIC TAGS ::=
14
15BEGIN
16
17-- **************************************************************
18--
19-- IE parameter types from other modules.
20--
21-- **************************************************************
22
23IMPORTS
24 Criticality,
25 Presence,
26 PrivateIE-ID,
27 ProtocolExtensionID,
28 ProtocolIE-ID
29FROM S1AP-CommonDataTypes
30
31 maxPrivateIEs,
32 maxProtocolExtensions,
33 maxProtocolIEs
34FROM S1AP-Constants;
35
36-- **************************************************************
37--
38-- Class Definition for Protocol IEs
39--
40-- **************************************************************
41
42S1AP-PROTOCOL-IES ::= CLASS {
43 &id ProtocolIE-ID UNIQUE,
44 &criticality Criticality,
45 &Value,
46 &presence Presence
47}
48WITH SYNTAX {
49 ID &id
50 CRITICALITY &criticality
51 TYPE &Value
52 PRESENCE &presence
53}
54
55-- **************************************************************
56--
57-- Class Definition for Protocol IEs
58--
59-- **************************************************************
60
61S1AP-PROTOCOL-IES-PAIR ::= CLASS {
62 &id ProtocolIE-ID UNIQUE,
63 &firstCriticality Criticality,
64 &FirstValue,
65 &secondCriticality Criticality,
66 &SecondValue,
67 &presence Presence
68}
69WITH SYNTAX {
70 ID &id
71 FIRST CRITICALITY &firstCriticality
72 FIRST TYPE &FirstValue
73 SECOND CRITICALITY &secondCriticality
74 SECOND TYPE &SecondValue
75 PRESENCE &presence
76}
77
78-- **************************************************************
79--
80-- Class Definition for Protocol Extensions
81--
82-- **************************************************************
83
84S1AP-PROTOCOL-EXTENSION ::= CLASS {
85 &id ProtocolExtensionID UNIQUE,
86 &criticality Criticality,
87 &Extension,
88 &presence Presence
89}
90WITH SYNTAX {
91 ID &id
92 CRITICALITY &criticality
93 EXTENSION &Extension
94 PRESENCE &presence
95}
96
97-- **************************************************************
98--
99-- Class Definition for Private IEs
100--
101-- **************************************************************
102
103S1AP-PRIVATE-IES ::= CLASS {
104 &id PrivateIE-ID,
105 &criticality Criticality,
106 &Value,
107 &presence Presence
108}
109WITH SYNTAX {
110 ID &id
111 CRITICALITY &criticality
112 TYPE &Value
113 PRESENCE &presence
114}
115
116-- **************************************************************
117--
118-- Container for Protocol IEs
119--
120-- **************************************************************
121
122ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
123 SEQUENCE (SIZE (0..maxProtocolIEs)) OF
124 ProtocolIE-Field {{IEsSetParam}}
125
126ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
127 ProtocolIE-Field {{IEsSetParam}}
128
129ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
130 id S1AP-PROTOCOL-IES.&id ({IEsSetParam}),
131 criticality S1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
132 value S1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
133}
134
135-- **************************************************************
136--
137-- Container for Protocol IE Pairs
138--
139-- **************************************************************
140
141ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
142 SEQUENCE (SIZE (0..maxProtocolIEs)) OF
143 ProtocolIE-FieldPair {{IEsSetParam}}
144
145ProtocolIE-FieldPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
146 id S1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
147 firstCriticality S1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
148 firstValue S1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
149 secondCriticality S1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
150 secondValue S1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
151}
152
153-- **************************************************************
154--
155-- Container Lists for Protocol IE Containers
156--
157-- **************************************************************
158
159ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES : IEsSetParam} ::=
160 SEQUENCE (SIZE (lowerBound..upperBound)) OF
161 ProtocolIE-SingleContainer {{IEsSetParam}}
162
163ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
164 SEQUENCE (SIZE (lowerBound..upperBound)) OF
165 ProtocolIE-ContainerPair {{IEsSetParam}}
166
167-- **************************************************************
168--
169-- Container for Protocol Extensions
170--
171-- **************************************************************
172
173ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
174 SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
175 ProtocolExtensionField {{ExtensionSetParam}}
176
177ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
178 id S1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
179 criticality S1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
180 extensionValue S1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
181}
182
183-- **************************************************************
184--
185-- Container for Private IEs
186--
187-- **************************************************************
188
189PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
190 SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
191 PrivateIE-Field {{IEsSetParam}}
192
193PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
194 id S1AP-PRIVATE-IES.&id ({IEsSetParam}),
195 criticality S1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
196 value S1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
197}
198
199END