Commit | Line | Data |
---|---|---|
970ed795 | 1 | --///////////////////////////////////////////////////////////////////////////// |
3abe9331 | 2 | -- Copyright (c) 2000-2015 Ericsson Telecom AB |
970ed795 EL |
3 | -- All rights reserved. This program and the accompanying materials |
4 | -- are made available under the terms of the Eclipse Public License v1.0 | |
5 | -- which accompanies this distribution, and is available at | |
6 | -- http://www.eclipse.org/legal/epl-v10.html | |
7 | --///////////////////////////////////////////////////////////////////////////// | |
8 | Test4 --X.683 - parameters | |
9 | ||
10 | DEFINITIONS | |
11 | ||
12 | AUTOMATIC TAGS | |
13 | ||
14 | ::= | |
15 | ||
16 | BEGIN | |
17 | --*************************************************************************************************** | |
18 | --PARAMETRIZED TYPES (SEQUENCE, SET, CHOICE, SEQUENCE OF, SET OF, INTEGER, BIT STRING, OCTET STRING) | |
19 | --*************************************************************************************************** | |
20 | ||
21 | --SEQUENCE | |
22 | MyParametrizedSequenceType{Field1Type,Field2Type} | |
23 | ::= SEQUENCE | |
24 | {field1 Field1Type, | |
25 | field2 Field2Type} | |
26 | ||
27 | myParametrizedSequenceValue1 MyParametrizedSequenceType{INTEGER, BIT STRING} | |
28 | ::= { | |
29 | field1 5, | |
30 | field2 '00110011'B | |
31 | } | |
32 | ||
33 | myParametrizedSequenceValue2 MyParametrizedSequenceType{INTEGER(0..3), BIT STRING (SIZE(1..5))} | |
34 | ::= { | |
35 | field1 1, | |
36 | field2 '001'B | |
37 | } | |
38 | ||
39 | -- parametrized type in a parametrized type | |
40 | ||
41 | myParametrizedSequenceValue3 MyParametrizedSequenceType | |
42 | { MyParametrizedSetType{INTEGER, BIT STRING}, MyParametrizedChoiceType{INTEGER, BIT STRING}} | |
43 | ::= | |
44 | { | |
45 | ||
46 | field1 { | |
47 | field2 '00110011'B, | |
48 | field1 5 | |
49 | }, | |
50 | ||
51 | field2 | |
52 | field1 : 5 | |
53 | ||
54 | } | |
55 | ||
56 | MyParametrizedSequenceTypeAlias ::= MyParametrizedSequenceType{INTEGER, BIT STRING} | |
57 | ||
58 | myParametrizedSequenceValue4 MyParametrizedSequenceTypeAlias ::= | |
59 | { | |
60 | field1 5, | |
61 | field2 '00110011'B | |
62 | } | |
63 | ||
64 | --SET | |
65 | ||
66 | MyParametrizedSetType{Field1Type,Field2Type} | |
67 | ::= SET | |
68 | {field1 Field1Type, | |
69 | field2 Field2Type} | |
70 | ||
71 | myParametrizedSetValue1 MyParametrizedSetType{INTEGER, BIT STRING} | |
72 | ::= { | |
73 | ||
74 | field2 '00110011'B, | |
75 | field1 5 | |
76 | } | |
77 | ||
78 | myParametrizedSetValue2 MyParametrizedSetType{INTEGER(0..3), BIT STRING(SIZE(1..5))} | |
79 | ::= { | |
80 | field2 '10'B, | |
81 | field1 3 | |
82 | } | |
83 | ||
84 | MyParametrizedSetTypeAlias ::= MyParametrizedSetType{INTEGER, BIT STRING} | |
85 | ||
86 | myParametrizedSetValue4 MyParametrizedSetTypeAlias ::= | |
87 | { | |
88 | field2 '00110011'B, | |
89 | field1 5 | |
90 | } | |
91 | ||
92 | --CHOICE | |
93 | ||
94 | MyParametrizedChoiceType{Field1Type,Field2Type} | |
95 | ::= CHOICE | |
96 | {field1 Field1Type, | |
97 | field2 Field2Type} | |
98 | ||
99 | myParametrizedChoiceValue1 MyParametrizedChoiceType{INTEGER, BIT STRING} | |
100 | ::= | |
101 | field1 : 5 | |
102 | ||
103 | MyParametrizedChoiceTypeAlias ::= MyParametrizedChoiceType{INTEGER, BIT STRING} | |
104 | ||
105 | myParametrizedChoiceValue4 MyParametrizedChoiceTypeAlias ::= | |
106 | ||
107 | field2 : '001100'B | |
108 | ||
109 | --SEQUENCE OF | |
110 | ||
111 | MyParametrizedSequenceOfType{Field1Type} | |
112 | ::= SEQUENCE OF Field1Type | |
113 | ||
114 | myParametrizedSequenceOfValue1 MyParametrizedSequenceOfType{BIT STRING} | |
115 | ::= { '00'B, '11'B, '01'B } | |
116 | ||
117 | MyParametrizedSequenceOfTypeAlias ::= MyParametrizedSequenceOfType{BIT STRING} | |
118 | ||
119 | myParametrizedSequenceOfValue4 MyParametrizedSequenceOfTypeAlias ::= | |
120 | { '11'B , '01'B } | |
121 | ||
122 | --SET OF | |
123 | ||
124 | MyParametrizedSetOfType{Field1Type} | |
125 | ::= SET OF Field1Type | |
126 | ||
127 | myParametrizedSetOfValue1 MyParametrizedSetOfType{INTEGER} | |
128 | ::= { 3,6,777 } | |
129 | ||
130 | MyParametrizedSetOfTypeAlias ::= MyParametrizedSetOfType{INTEGER} | |
131 | ||
132 | myParametrizedSetOfValue4 MyParametrizedSetOfTypeAlias ::= | |
133 | { 3,6,777,5,3 } | |
134 | ||
135 | -- INTEGER | |
136 | ||
137 | --Matyastol | |
138 | MyParametrizedIntegerType1 {MyInt:par-int} ::= INTEGER {namednum(par-int), namednum2(ketto)} | |
139 | ketto INTEGER ::= 2 | |
140 | MyInt ::= INTEGER {harom(3)} | |
141 | ||
142 | myParametrizedIntegrValue1 MyParametrizedIntegerType1{ 4 } ::= 6 | |
143 | ||
144 | myParametrizedIntegrValue2 MyParametrizedIntegerType1{ 4 } ::= 4 | |
145 | ||
146 | myParametrizedIntegrValue3 MyParametrizedIntegerType1{ 4 } ::= namednum | |
147 | ||
148 | MyParametrizedIntegerType2 {MyInt2:par-int2} ::= INTEGER (par-int2.. 10) | |
149 | ||
150 | myParametrizedIntegerValue4 MyParametrizedIntegerType2 {5} ::= 5 | |
151 | ||
152 | -- BIT STRING | |
153 | ||
154 | MyParametrizedBitstringType1 {MyInt:par-int} ::= BIT STRING {namedbit(par-int), namedbit2 (3)} | |
155 | ||
156 | myParametrizedBitstringValue1 MyParametrizedBitstringType1{2} ::= '0000'B | |
157 | ||
158 | myParametrizedBitstringValue2 MyParametrizedBitstringType1{2} ::= {namedbit} | |
159 | ||
160 | myParametrizedBitstringValue3 MyParametrizedBitstringType1{2} ::= {namedbit2} | |
161 | ||
162 | MyParametrizedBitstringType2 {MyInt2:par-int2} ::= BIT STRING (SIZE (par-int2.. 10)) | |
163 | ||
164 | myParametrizedBitstringValue4 MyParametrizedBitstringType2{3} ::= '00000'B | |
165 | ||
166 | -- OCTET STRING | |
167 | MyParametrizedOctetstringType1 {MyInt:par-int} ::= OCTET STRING (SIZE (par-int.. 10)) | |
168 | ||
169 | myParametrizedOctetstringValue1 MyParametrizedOctetstringType1{3} ::= 'FF00AA'H | |
170 | ||
171 | -- ENUMERATED | |
172 | MyParametrizedEnumeratedType1 {MyInt:par-int} ::= ENUMERATED {a(par-int) ,b, ..., c} | |
173 | ||
174 | myParametrizedEnumeratedValue1 MyParametrizedEnumeratedType1{0} ::= a | |
175 | ||
176 | --*************************************************************************************************** | |
177 | --PARAMETRIZED VALUES ******************************************************** | |
178 | --*************************************************************************************************** | |
179 | ||
180 | myIntegerValue1 { INTEGER : par-int} INTEGER ::= par-int | |
181 | ||
182 | myIntegerValue2 INTEGER ::= myIntegerValue1 {3} | |
183 | ||
184 | myBitstringValue1 { BIT STRING : par-bitstring} BIT STRING ::= par-bitstring | |
185 | ||
186 | myBitstringValue2 BIT STRING ::= myBitstringValue1{'0011'B} | |
187 | ||
188 | myOctetstringValue1 {OCTET STRING : par-octetstring} OCTET STRING::= par-octetstring | |
189 | ||
190 | myOctetstringValue2 OCTET STRING ::= myOctetstringValue1{'FFFF'H} | |
191 | ||
192 | myEnumeratedValue1 {ENUMERATED{a,b,c} : par-enum} ENUMERATED{a,b,c} ::= par-enum | |
193 | ||
194 | --myEnumeratedValue2 ENUMERATED{a,b,c} ::= myEnumeratedValue1{a} | |
195 | ||
196 | myBooleanValue1 {BOOLEAN : par-boolean} BOOLEAN ::= par-boolean | |
197 | ||
198 | myBooleanValue2 BOOLEAN ::= myBooleanValue1{TRUE} | |
199 | ||
200 | myNullValue1 {NULL : par-null} NULL ::= par-null | |
201 | ||
202 | myNullValue2 NULL ::= myNullValue1{NULL} | |
203 | ||
204 | myRealValue1 {REAL : par-real} REAL ::= par-real | |
205 | ||
206 | myRealValue2 REAL ::= 5.3 --myRealValue1{{mantissa 314159,base 10, exponent -10}} | |
207 | ||
208 | mySequenceValue1 { INTEGER : par-int} SequenceAliasType ::= {field1 par-int} | |
209 | ||
210 | mySequenceValue2 SequenceAliasType ::= mySequenceValue1 {44} | |
211 | ||
212 | SequenceAliasType ::= SEQUENCE {field1 INTEGER} | |
213 | ||
214 | mySetValue1 { INTEGER : par-int} SetAliastype | |
215 | ::= {field1 par-int} | |
216 | ||
217 | mySetValue2 SetAliastype ::= mySetValue1 {33} | |
218 | ||
219 | SetAliastype ::= SET { field1 INTEGER } | |
220 | ||
221 | myChoiceValue1 { INTEGER : par-int} ChoiceAliasType ::= field1 : par-int | |
222 | ||
223 | myChoiceValue2 ChoiceAliasType ::= myChoiceValue1 {22} | |
224 | ||
225 | ChoiceAliasType ::= CHOICE {field1 INTEGER, field2 BOOLEAN} | |
226 | ||
227 | mySequenceOfValue1 { INTEGER : par-int1, INTEGER : par-int2} SequenceOfAliasType ::= | |
228 | { | |
229 | par-int1, | |
230 | par-int2, | |
231 | 4 | |
232 | } | |
233 | ||
234 | mySequenceOfValue2 SequenceOfAliasType ::= mySequenceOfValue1{2,3} | |
235 | ||
236 | SequenceOfAliasType ::= SEQUENCE OF INTEGER | |
237 | ||
238 | mySetOfValue1 { BIT STRING : par-bitstring} SetOfAliasType ::= {par-bitstring, par-bitstring, '000111'B} | |
239 | ||
240 | mySetOfValue2 SetOfAliasType ::= mySetOfValue1 {'000'B} | |
241 | ||
242 | SetOfAliasType ::= SET OF BIT STRING | |
243 | ||
244 | myIA5StringValue1 {IA5String : par-string} IA5String ::= par-string | |
245 | ||
246 | myIA5StringValue2 IA5String ::= myIA5StringValue1 {"hihi"} | |
247 | ||
248 | --*************************************************************************************************** | |
249 | -- PARAMETRIZED VALUE SETS TO BE ADDED | |
250 | --*************************************************************************************************** | |
251 | ||
252 | --*************************************************************************************************** | |
253 | -- PARAMETRIZED OBJECT CLASS ************************************************************************ | |
254 | --*************************************************************************************************** | |
255 | MY-PARAMETRIZED-OBJECT-CLASS1 | |
256 | {PAR-ASN1-Type1, | |
257 | INTEGER : par-Value1, | |
258 | INTEGER : par-Value3, | |
259 | INTEGER : par-Value4, | |
260 | INTEGER : par-Value5, | |
261 | INTEGER : par-Value6 | |
262 | } | |
263 | ::= CLASS | |
264 | { | |
265 | &TypeField OPTIONAL, | |
266 | &fixedTypeValueField PAR-ASN1-Type1 UNIQUE OPTIONAL, | |
267 | &additionalFieldforValueField1 INTEGER DEFAULT par-Value1, | |
268 | &additionalFieldforValueField3 BIT STRING { first(par-Value3), second (1), last-in-first-octet(7) }, | |
269 | &additionalFieldforValueField4 ASN1-Type5, | |
270 | &additionalFieldforValueField5 INTEGER (par-Value5..par-Value6) | |
271 | } | |
272 | ||
273 | MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::= MY-PARAMETRIZED-OBJECT-CLASS1 | |
274 | { | |
275 | INTEGER, | |
276 | 111, | |
277 | 0, | |
278 | 2, | |
279 | 10, | |
280 | 18 | |
281 | } | |
282 | ||
283 | myObject-1 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE | |
284 | ::= | |
285 | { | |
286 | &TypeField ASN1-Type3, | |
287 | &fixedTypeValueField 999, | |
288 | &additionalFieldforValueField1 110, | |
289 | &additionalFieldforValueField3 '00001111'B, | |
290 | &additionalFieldforValueField4 a, | |
291 | &additionalFieldforValueField5 11 | |
292 | } | |
293 | ||
294 | --*************************************************************************************************** | |
295 | -- PARAMETRIZED OBJECT ***************************************************************************** | |
296 | --*************************************************************************************************** | |
297 | ||
298 | myParametrizedObject-1 | |
299 | ||
300 | {PAR-ASN1-Type3, -- BIT STRING | |
301 | INTEGER : par-int, | |
302 | INTEGER : par-int2, | |
303 | BIT STRING : par-bitstring, | |
304 | ASN1-Type5 : par-enum, | |
305 | INTEGER : par-int3 | |
306 | } | |
307 | MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE | |
308 | ::= | |
309 | { | |
310 | &TypeField PAR-ASN1-Type3, -- BIT STRING | |
311 | &fixedTypeValueField par-int, | |
312 | &additionalFieldforValueField1 par-int2, | |
313 | &additionalFieldforValueField3 par-bitstring, | |
314 | &additionalFieldforValueField4 par-enum, | |
315 | &additionalFieldforValueField5 par-int3 | |
316 | } | |
317 | ||
318 | myObject-2 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE | |
319 | ::= | |
320 | myParametrizedObject-1 | |
321 | { | |
322 | ASN1-Type3, | |
323 | 66, | |
324 | 88, | |
325 | '001100'B, | |
326 | a, | |
327 | 6 | |
328 | } | |
329 | ||
330 | -- *************************************************************** | |
331 | ||
332 | ASN1-Type1 ::= INTEGER | |
333 | ||
334 | ASN1-Type2 ::= BOOLEAN | |
335 | ||
336 | ASN1-Type3 ::= BIT STRING | |
337 | ||
338 | ASN1-Type4 ::= OCTET STRING | |
339 | ||
340 | ASN1-Type5 ::= ENUMERATED {a(3) ,b, ..., c} | |
341 | ||
342 | --*************************************************************************************************** | |
343 | -- PARAMETRIZED OBJECT SET ************************************************************************** | |
344 | --*************************************************************************************************** | |
345 | ||
346 | MY-PARAMETRIZED-OBJECT-SET1 {MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE : par-myObject-1, | |
347 | MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE : par-myObject-2} MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::= | |
348 | { | |
349 | par-myObject-1| | |
350 | par-myObject-2| | |
351 | MY-OBJECT-SET2, | |
352 | ... | |
353 | } | |
354 | ||
355 | MY-OBJECT-SET2 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::= {MY-PARAMETRIZED-OBJECT-SET1{myObject-1, myObject-2}} | |
356 | ||
357 | -- RANAP specification *************************************************************** | |
358 | -- using only (simpilfied) Reset and ResetResource elementary procedures CLASS1 | |
359 | ||
360 | RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= { | |
361 | RANAP-ELEMENTARY-PROCEDURES-CLASS-1 | |
362 | /* | | |
363 | RANAP-ELEMENTARY-PROCEDURES-CLASS-2 | | |
364 | RANAP-ELEMENTARY-PROCEDURES-CLASS-3 , | |
365 | ... | |
366 | */ | |
367 | ||
368 | } | |
369 | ||
370 | RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= { | |
371 | /* | |
372 | iu-Release | | |
373 | relocationPreparation | | |
374 | relocationResourceAllocation | | |
375 | relocationCancel | | |
376 | sRNS-ContextTransfer | | |
377 | securityModeControl | | |
378 | dataVolumeReport | | |
379 | */ | |
380 | ||
381 | reset | | |
382 | resetResource , | |
383 | ... | |
384 | } | |
385 | ||
386 | RANAP-ELEMENTARY-PROCEDURE ::= CLASS { | |
387 | &InitiatingMessage , | |
388 | &SuccessfulOutcome OPTIONAL, | |
389 | &UnsuccessfulOutcome OPTIONAL, | |
390 | &Outcome OPTIONAL, | |
391 | &procedureCode ProcedureCode UNIQUE, | |
392 | &criticality Criticality DEFAULT ignore | |
393 | } | |
394 | WITH SYNTAX { | |
395 | INITIATING MESSAGE &InitiatingMessage | |
396 | [SUCCESSFUL OUTCOME &SuccessfulOutcome] | |
397 | [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] | |
398 | [OUTCOME &Outcome] | |
399 | PROCEDURE CODE &procedureCode | |
400 | [CRITICALITY &criticality] | |
401 | } | |
402 | ||
403 | RANAP-PDU ::= CHOICE { | |
404 | initiatingMessage InitiatingMessage, | |
405 | successfulOutcome SuccessfulOutcome, | |
406 | unsuccessfulOutcome UnsuccessfulOutcome, | |
407 | outcome Outcome, | |
408 | ... | |
409 | } | |
410 | ||
411 | InitiatingMessage ::= SEQUENCE { | |
412 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
413 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
414 | value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
415 | } | |
416 | ||
417 | SuccessfulOutcome ::= SEQUENCE { | |
418 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
419 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
420 | value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
421 | } | |
422 | ||
423 | UnsuccessfulOutcome ::= SEQUENCE { | |
424 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
425 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
426 | value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
427 | } | |
428 | ||
429 | Outcome ::= SEQUENCE { | |
430 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
431 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
432 | value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
433 | } | |
434 | ||
435 | reset RANAP-ELEMENTARY-PROCEDURE ::= { | |
436 | INITIATING MESSAGE Reset | |
437 | SUCCESSFUL OUTCOME ResetAcknowledge | |
438 | PROCEDURE CODE id-Reset | |
439 | CRITICALITY reject | |
440 | } | |
441 | ||
442 | resetResource RANAP-ELEMENTARY-PROCEDURE ::= { | |
443 | INITIATING MESSAGE ResetResource | |
444 | SUCCESSFUL OUTCOME ResetResourceAcknowledge | |
445 | PROCEDURE CODE id-ResetResource | |
446 | CRITICALITY reject | |
447 | } | |
448 | ||
449 | Reset ::= SEQUENCE { | |
450 | protocolIEs OCTET STRING, --simplified with dummy fields | |
451 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
452 | ... | |
453 | } | |
454 | ||
455 | ResetAcknowledge ::= SEQUENCE { | |
456 | protocolIEs OCTET STRING, --simplified with dummy fields | |
457 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
458 | ... | |
459 | } | |
460 | ||
461 | ResetResource ::= SEQUENCE { | |
462 | protocolIEs OCTET STRING, --simplified with dummy fields | |
463 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
464 | ... | |
465 | } | |
466 | ResetResourceAcknowledge ::= SEQUENCE { | |
467 | protocolIEs OCTET STRING, --simplified with dummy fields | |
468 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
469 | ... | |
470 | } | |
471 | ||
472 | id-Reset ProcedureCode ::= 0 | |
473 | ||
474 | id-ResetResource ProcedureCode ::= 1 | |
475 | ||
476 | ProcedureCode ::= INTEGER (0..255) | |
477 | ||
478 | Criticality ::= ENUMERATED { reject, ignore, notify, unspecified } | |
479 | ||
480 | END |