Commit | Line | Data |
---|---|---|
970ed795 | 1 | --///////////////////////////////////////////////////////////////////////////// |
d44e3c4f | 2 | -- Copyright (c) 2000-2016 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 | |
d44e3c4f | 7 | -- |
8 | -- Contributors: | |
9 | -- Balasko, Jeno | |
10 | -- Koppany, Csaba | |
11 | -- Kulcsar, Endre | |
12 | -- Szabados, Kristof | |
13 | -- Szabo, Janos Zoltan – initial implementation | |
14 | -- | |
970ed795 EL |
15 | --///////////////////////////////////////////////////////////////////////////// |
16 | Test1-known-errors | |
17 | ||
18 | DEFINITIONS | |
19 | ||
20 | AUTOMATIC TAGS | |
21 | ||
22 | ::= | |
23 | ||
24 | BEGIN | |
25 | --*************************************************************************** | |
26 | -- information object class with the possoble field types | |
27 | --*************************************************************************** | |
28 | MY-CLASS-1 ::= CLASS | |
29 | { | |
30 | &TypeField OPTIONAL, | |
31 | &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL, | |
32 | &variableTypeValueField &TypeField OPTIONAL, | |
33 | &FixedTypeValueSetField ASN1-Type2, | |
34 | &VariableTypeValueSetField &TypeField OPTIONAL, | |
35 | &objectField OBJECTCLASS1 OPTIONAL, | |
36 | &ObjectSetField OBJECTCLASS1 OPTIONAL | |
37 | } | |
38 | WITH SYNTAX | |
39 | { | |
40 | [TYPE FIELD &TypeField] | |
41 | [FIXED VALUE TYPE FIELD &fixedTypeValueField] | |
42 | [VARIABLE TYPE VALUE FIELD &variableTypeValueField] | |
43 | FIXED TYPE VALUE SET FIELD &FixedTypeValueSetField | |
44 | [VARIABLE TYPE VALUE SET FIELD &VariableTypeValueSetField] | |
45 | [OBJECT FIELD &objectField] | |
46 | [OBJECT SET FIELD &ObjectSetField] | |
47 | } | |
48 | ||
49 | --*************************************************************************** | |
50 | -- types used in this test | |
51 | --*************************************************************************** | |
52 | ASN1-Type1 ::= INTEGER | |
53 | ||
54 | ASN1-Type2 ::= BOOLEAN | |
55 | ||
56 | ASN1-Type3B ::= BIT STRING | |
57 | ||
58 | ASN1-Type3 ::= SEQUENCE {f1 INTEGER} | |
59 | ||
60 | ASN1-Type4 ::= OCTET STRING | |
61 | ||
62 | ASN1-Type5 ::= SET {field1 BIT STRING, | |
63 | field2 INTEGER} | |
64 | ||
65 | OBJECTCLASS1 ::= RANAP-ELEMENTARY-PROCEDURE | |
66 | ||
67 | --**************************************************************************************************** | |
68 | -- OBJECTS using the class defined above | |
69 | --**************************************************************************************************** | |
70 | -- object not using WITH SYNTAX | |
71 | myObject-1 MY-CLASS-1 ::= | |
72 | { | |
73 | &TypeField ASN1-Type3, -- SEQUENCE {f1 INTEGER} | |
74 | &fixedTypeValueField 999, | |
75 | &variableTypeValueField {f1 1234}, | |
76 | &FixedTypeValueSetField { TRUE | FALSE }, | |
77 | &VariableTypeValueSetField { {f1 4592} | {f1 92000} } | |
78 | &objectField reset, | |
79 | &ObjectSetField { reset | resetResource } | |
80 | } | |
81 | ||
82 | -- object using WITH SYNTAX | |
83 | myObject-2 MY-CLASS-1 ::= | |
84 | { | |
85 | TYPE FIELD ASN1-Type2, -- BOOLEAN | |
86 | FIXED VALUE TYPE FIELD 888, | |
87 | VARIABLE TYPE VALUE FIELD TRUE, | |
88 | FIXED TYPE VALUE SET FIELD { TRUE }, | |
89 | VARIABLE TYPE VALUE SET FIELD { TRUE| FALSE }, | |
90 | OBJECT FIELD resetResource | |
91 | OBJECT SET FIELD RANAP-ELEMENTARY-PROCEDURES | |
92 | } | |
93 | ||
94 | -- object using WITH SYNTAX | |
95 | myObject-3 MY-CLASS-1 ::= | |
96 | { | |
97 | TYPE FIELD ASN1-Type4 | |
98 | FIXED VALUE TYPE FIELD 555 | |
99 | } | |
100 | ||
101 | -- object not using WITH SYNTAX | |
102 | myObject-4 MY-CLASS-1 ::= | |
103 | { | |
104 | &TypeField ASN1-Type3B, -- BIT STRING | |
105 | &fixedTypeValueField 2632, | |
106 | &variableTypeValueField '001100'B, | |
107 | &FixedTypeValueSetField { TRUE | FALSE }, | |
108 | &VariableTypeValueSetField { '0110'B | '1010'B } | |
109 | &objectField rAB-ReleaseRequest, | |
110 | &ObjectSetField { reset | resetResource } | |
111 | } | |
112 | ||
113 | -- object using WITH SYNTAX | |
114 | myObject-5 MY-CLASS-1 ::= | |
115 | { | |
116 | TYPE FIELD ASN1-Type5, -- SET {field1 BIT STING, field2 INTEGER} | |
117 | FIXED VALUE TYPE FIELD 945, | |
118 | VARIABLE TYPE VALUE FIELD {field1 '001100'B, field2 3}, | |
119 | FIXED TYPE VALUE SET FIELD { TRUE }, | |
120 | VARIABLE TYPE VALUE SET FIELD { {field1 '0101'B, field2 44}, {field1 '1100'B, field2 101}}, | |
121 | OBJECT FIELD iu-ReleaseRequest | |
122 | OBJECT SET FIELD RANAP-ELEMENTARY-PROCEDURES-CLASS-2 | |
123 | } | |
124 | ||
125 | --**************************************************************************************************** | |
126 | -- Defining Information Object sets | |
127 | --**************************************************************************************************** | |
128 | ||
129 | MyInformationObjectSet1 MY-CLASS-1 ::= | |
130 | { | |
131 | myObject-1| | |
132 | myObject-2, | |
133 | ... | |
134 | } | |
135 | ||
136 | MyInformationObjectSet2 MY-CLASS-1 ::= | |
137 | { | |
138 | MyInformationObjectSet1| | |
139 | myObject-3, | |
140 | ... | |
141 | } | |
142 | ||
143 | MyInformationObjectSet3 MY-CLASS-1 ::= | |
144 | { | |
145 | {TYPE FIELD ASN1-Type4 FIXED VALUE TYPE FIELD 1970 OBJECT FIELD myObject-5} | |
146 | | | |
147 | myObject-4, | |
148 | ... | |
149 | } | |
150 | ||
151 | --**************************************************************************************************** | |
152 | --References from class | |
153 | --**************************************************************************************************** | |
154 | ||
155 | MyBigMessageType1 ::= SEQUENCE | |
156 | ||
157 | { | |
158 | field1 MY-CLASS-1.&TypeField, --open Type without constraint | |
159 | field2 MY-CLASS-1.&fixedTypeValueField, --Type | |
160 | field3 MY-CLASS-1.&variableTypeValueField, --open Type without constraint | |
161 | field4 MY-CLASS-1.&FixedTypeValueSetField, --Type | |
162 | field5 MY-CLASS-1.&VariableTypeValueSetField --open Type without constraint | |
163 | } | |
164 | ||
165 | MyBigMessageType1B ::= SEQUENCE | |
166 | ||
167 | { | |
168 | field1 MY-CLASS-1.&TypeField (ASN1-Type5), --open Type with constraint | |
169 | field2 MY-CLASS-1.&fixedTypeValueField, --Type | |
170 | field3 MY-CLASS-1.&variableTypeValueField (IA5String), --open Type with constraint | |
171 | field4 MY-CLASS-1.&FixedTypeValueSetField, --Type | |
172 | field5 MY-CLASS-1.&VariableTypeValueSetField ( Criticality | ProcedureCode ) --open Type with constraint | |
173 | } | |
174 | ||
175 | MyBigMessageType2 ::= SEQUENCE | |
176 | ||
177 | { | |
178 | field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1}), | |
179 | field2 MY-CLASS-1.&fixedTypeValueField, ({MyInformationObjectSet1}), | |
180 | field3 MY-CLASS-1.&variableTypeValueField ({MyInformationObjectSet1}), | |
181 | field4 MY-CLASS-1.&FixedTypeValueSetField ({MyInformationObjectSet1}), | |
182 | field5 MY-CLASS-1.&VariableTypeValueSetField ({MyInformationObjectSet1}) | |
183 | } | |
184 | ||
185 | MyBigMessageType3 ::= SEQUENCE | |
186 | ||
187 | { | |
188 | field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@field2} ), | |
189 | field2 MY-CLASS-1.&fixedTypeValueField, ({MyInformationObjectSet1} ), | |
190 | field3 MY-CLASS-1.&variableTypeValueField ({MyInformationObjectSet1} {@field2} ), | |
191 | field4 MY-CLASS-1.&FixedTypeValueSetField ({MyInformationObjectSet1}), | |
192 | field5 MY-CLASS-1.&VariableTypeValueSetField ({MyInformationObjectSet1}) | |
193 | } | |
194 | ||
195 | MyBigMessageType4 ::= SEQUENCE | |
196 | ||
197 | { | |
198 | field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@field2} ), | |
199 | field2 MY-CLASS-1.&fixedTypeValueField, ({MyInformationObjectSet1} ), | |
200 | field3 MY-CLASS-1.&variableTypeValueField ({MyInformationObjectSet1} {@field2} ), | |
201 | field4 MY-CLASS-1.&FixedTypeValueSetField ({MyInformationObjectSet3}), | |
202 | field5 MY-CLASS-1.&VariableTypeValueSetField ({MyInformationObjectSet3}) | |
203 | } | |
204 | ||
205 | myBigMessage1 MyBigMessageType1 ::= | |
206 | { | |
207 | ||
208 | field1 aSN1-Type3 : {f1 8 }, | |
209 | field2 6457, | |
210 | field3 aSN1-Type4 : '1234ABCD'H, | |
211 | field4 TRUE, | |
212 | field5 iNTEGER : 67 | |
213 | } | |
214 | ||
215 | myBigMessage1B MyBigMessageType1B ::= | |
216 | { | |
217 | ||
218 | field1 aSN1-Type5 : {field1 '00110'B, field2 5}, | |
219 | field2 4594, | |
220 | field3 iA5String : "abcdefgh", | |
221 | field4 FALSE, | |
222 | field5 criticality : reject | |
223 | } | |
224 | ||
225 | myBigMessage2 MyBigMessageType2 ::= | |
226 | { | |
227 | ||
228 | field1 aSN1-Type3 : {f1 1986}, | |
229 | field2 0, | |
230 | field3 aSN1-Type3 :{f1 492}, | |
231 | field4 FALSE, | |
232 | field5 bOOLEAN : TRUE | |
233 | } | |
234 | ||
235 | myBigMessage3 MyBigMessageType3 ::= | |
236 | { | |
237 | ||
238 | field1 aSN1-Type2 : TRUE , | |
239 | field2 3485 , | |
240 | field3 aSN1-Type3 : {f1 9}, | |
241 | field4 TRUE, | |
242 | field5 aSN1-Type2 : FALSE | |
243 | } | |
244 | ||
245 | myBigMessage4 MyBigMessageType4 ::= | |
246 | { | |
247 | field1 aSN1-Type2 : FALSE , | |
248 | field2 74, | |
249 | field3 '01010'B, | |
250 | field4 TRUE, | |
251 | field5 aSN1-Type5 : {field1 '0101'B, field2 349} | |
252 | } | |
253 | ||
254 | --**************************************************************************************************** | |
255 | -- References from object | |
256 | --**************************************************************************************************** | |
257 | ||
258 | MyBigMessageType100 ::= SEQUENCE | |
259 | ||
260 | { | |
261 | field1 myObject-1.&TypeField, -- type from object SEQUENCE {f1 INTEGER} | |
262 | field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1}), -- type from class : ASN1-Type1 ::= INTEGER | |
263 | field3 MY-CLASS-1.&variableTypeValueField ({MyInformationObjectSet1}), -- open type from class with constraint | |
264 | field4 myObject-1.&FixedTypeValueSetField, -- value set from object | |
265 | field5 myObject-1.&VariableTypeValueSetField -- value set from object | |
266 | } | |
267 | ||
268 | myBigMessage100 MyBigMessageType100 ::= | |
269 | { | |
270 | field1 {f1 88}, | |
271 | field2 myObject-1.&fixedTypeValueField, -- fixed type value from object | |
272 | field3 myObject-1.&variableTypeValueField, -- variable type value from object | |
273 | field4 TRUE, | |
274 | field5 {f1 4592} | |
275 | } | |
276 | ||
277 | myNewObject1 OBJECTCLASS1 ::= myObject-1.&objectField -- reset | |
278 | ||
279 | MyNewObjectSet1 OBJECTCLASS1::= { myObject-1.&ObjectSetField } -- { reset | resetResource } | |
280 | ||
281 | --**************************************************************************************************** | |
282 | -- References from object set | |
283 | --**************************************************************************************************** | |
284 | ||
285 | myValueFromObjectSet INTEGER ::= MyInformationObjectSet1.myObject-1.&fixedTypeValueField | |
286 | ||
287 | MyValueSetFromObjectSet INTEGER ::= { MyInformationObjectSet1.myObject-1.&FixedTypeValueSetField } | |
288 | ||
289 | MyNewObjectSet2 OBJECTCLASS1 ::= { MyInformationObjectSet1.&objectField } | |
290 | ||
291 | MyNewObjectSet3 OBJECTCLASS1 ::= { MyInformationObjectSet3.&ObjectSetField } | |
292 | ||
293 | --**************************************************************************************************** | |
294 | --simplified RANAP specification information ******************************************************* | |
295 | --**************************************************************************************************** | |
296 | -- using only Reset and ResetResource elementary procedures CLASS1 | |
297 | ||
298 | RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= { | |
299 | RANAP-ELEMENTARY-PROCEDURES-CLASS-1 | |
300 | | | |
301 | RANAP-ELEMENTARY-PROCEDURES-CLASS-2, | |
302 | ... | |
303 | } | |
304 | ||
305 | RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= { | |
306 | ||
307 | reset | | |
308 | resetResource , | |
309 | ... | |
310 | } | |
311 | ||
312 | RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= { | |
313 | rAB-ReleaseRequest | | |
314 | iu-ReleaseRequest } | |
315 | ||
316 | RANAP-ELEMENTARY-PROCEDURE ::= CLASS { | |
317 | &InitiatingMessage , | |
318 | &SuccessfulOutcome OPTIONAL, | |
319 | &UnsuccessfulOutcome OPTIONAL, | |
320 | &Outcome OPTIONAL, | |
321 | &procedureCode ProcedureCode UNIQUE, | |
322 | &criticality Criticality DEFAULT ignore | |
323 | } | |
324 | WITH SYNTAX { | |
325 | INITIATING MESSAGE &InitiatingMessage | |
326 | [SUCCESSFUL OUTCOME &SuccessfulOutcome] | |
327 | [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] | |
328 | [OUTCOME &Outcome] | |
329 | PROCEDURE CODE &procedureCode | |
330 | [CRITICALITY &criticality] | |
331 | } | |
332 | ||
333 | RANAP-PDU ::= CHOICE { | |
334 | initiatingMessage InitiatingMessage, | |
335 | successfulOutcome SuccessfulOutcome, | |
336 | unsuccessfulOutcome UnsuccessfulOutcome, | |
337 | outcome Outcome, | |
338 | ... | |
339 | } | |
340 | ||
341 | InitiatingMessage ::= SEQUENCE { | |
342 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
343 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
344 | value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
345 | } | |
346 | ||
347 | SuccessfulOutcome ::= SEQUENCE { | |
348 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
349 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
350 | value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
351 | } | |
352 | ||
353 | UnsuccessfulOutcome ::= SEQUENCE { | |
354 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
355 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
356 | value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
357 | } | |
358 | ||
359 | Outcome ::= SEQUENCE { | |
360 | procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), | |
361 | criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), | |
362 | value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) | |
363 | } | |
364 | ||
365 | reset RANAP-ELEMENTARY-PROCEDURE ::= { | |
366 | INITIATING MESSAGE Reset | |
367 | SUCCESSFUL OUTCOME ResetAcknowledge | |
368 | PROCEDURE CODE id-Reset | |
369 | CRITICALITY reject | |
370 | } | |
371 | ||
372 | resetResource RANAP-ELEMENTARY-PROCEDURE ::= { | |
373 | INITIATING MESSAGE ResetResource | |
374 | SUCCESSFUL OUTCOME ResetResourceAcknowledge | |
375 | PROCEDURE CODE id-ResetResource | |
376 | CRITICALITY reject | |
377 | } | |
378 | ||
379 | iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { | |
380 | INITIATING MESSAGE Iu-ReleaseRequest | |
381 | PROCEDURE CODE id-Iu-ReleaseRequest | |
382 | CRITICALITY ignore | |
383 | } | |
384 | ||
385 | rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { | |
386 | INITIATING MESSAGE RAB-ReleaseRequest | |
387 | PROCEDURE CODE id-RAB-ReleaseRequest | |
388 | CRITICALITY ignore | |
389 | } | |
390 | ||
391 | Reset ::= SEQUENCE { | |
392 | protocolIEs OCTET STRING, --simplified with dummy fields | |
393 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
394 | ... | |
395 | } | |
396 | ||
397 | ResetAcknowledge ::= SEQUENCE { | |
398 | protocolIEs OCTET STRING, --simplified with dummy fields | |
399 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
400 | ... | |
401 | } | |
402 | ||
403 | ResetResource ::= SEQUENCE { | |
404 | protocolIEs OCTET STRING, --simplified with dummy fields | |
405 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
406 | ... | |
407 | } | |
408 | ||
409 | ResetResourceAcknowledge ::= SEQUENCE { | |
410 | protocolIEs OCTET STRING, --simplified with dummy fields | |
411 | protocolExtensions OCTET STRING, --simplified with dummy fields | |
412 | ... | |
413 | } | |
414 | ||
415 | RAB-ReleaseRequest ::= SEQUENCE { | |
416 | protocolIEs OCTET STRING, --simplified with dummy fields | |
417 | protocolExtensions OCTET STRING --simplified with dummy fields | |
418 | } | |
419 | ||
420 | Iu-ReleaseRequest ::= SEQUENCE { | |
421 | protocolIEs OCTET STRING, --simplified with dummy fields | |
422 | protocolExtensions OCTET STRING OPTIONAL, --simplified with dummy fields | |
423 | ... | |
424 | } | |
425 | ||
426 | ProcedureCode ::= INTEGER (0..255) | |
427 | ||
428 | Criticality ::= ENUMERATED { reject, ignore, notify, unspecified } | |
429 | ||
430 | id-Reset ProcedureCode ::= 0 | |
431 | ||
432 | id-ResetResource ProcedureCode ::= 1 | |
433 | ||
434 | id-Iu-ReleaseRequest ProcedureCode ::= 2 | |
435 | ||
436 | id-RAB-ReleaseRequest ProcedureCode ::= 3 | |
437 | ||
438 | --Gyuri ASN1 **************************************************************** | |
439 | -- ************************************************************************** | |
440 | MY-CLASS-2 ::= CLASS | |
441 | { | |
442 | &Argument, | |
443 | &identifier INTEGER UNIQUE, | |
444 | &linkedArgument &Argument OPTIONAL, | |
445 | &ErrorCodes INTEGER DEFAULT {0}, | |
446 | &returnedObject | |
447 | } | |
448 | WITH SYNTAX | |
449 | { | |
450 | INFORMATION &Argument WITH ID &identifier [AND ERRORS &ErrorCodes] | |
451 | [LINKED TO &linkedArgument] | |
452 | [ANSWERS &returnedObject] | |
453 | } | |
454 | ||
455 | END |