1 --/////////////////////////////////////////////////////////////////////////////
2 -- Copyright (c) 2000-2015 Ericsson Telecom AB
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
17 --***************************************************************************************************
18 --PARAMETRIZED TYPES (SEQUENCE, SET, CHOICE, SEQUENCE OF, SET OF, INTEGER, BIT STRING, OCTET STRING)
19 --***************************************************************************************************
22 MyParametrizedSequenceType{Field1Type,Field2Type}
27 myParametrizedSequenceValue1 MyParametrizedSequenceType{INTEGER, BIT STRING}
33 myParametrizedSequenceValue2 MyParametrizedSequenceType{INTEGER(0..3), BIT STRING (SIZE(1..5))}
39 -- parametrized type in a parametrized type
41 myParametrizedSequenceValue3 MyParametrizedSequenceType
42 { MyParametrizedSetType{INTEGER, BIT STRING}, MyParametrizedChoiceType{INTEGER, BIT STRING}}
56 MyParametrizedSequenceTypeAlias ::= MyParametrizedSequenceType{INTEGER, BIT STRING}
58 myParametrizedSequenceValue4 MyParametrizedSequenceTypeAlias ::=
66 MyParametrizedSetType{Field1Type,Field2Type}
71 myParametrizedSetValue1 MyParametrizedSetType{INTEGER, BIT STRING}
78 myParametrizedSetValue2 MyParametrizedSetType{INTEGER(0..3), BIT STRING(SIZE(1..5))}
84 MyParametrizedSetTypeAlias ::= MyParametrizedSetType{INTEGER, BIT STRING}
86 myParametrizedSetValue4 MyParametrizedSetTypeAlias ::=
94 MyParametrizedChoiceType{Field1Type,Field2Type}
99 myParametrizedChoiceValue1 MyParametrizedChoiceType{INTEGER, BIT STRING}
103 MyParametrizedChoiceTypeAlias ::= MyParametrizedChoiceType{INTEGER, BIT STRING}
105 myParametrizedChoiceValue4 MyParametrizedChoiceTypeAlias ::=
111 MyParametrizedSequenceOfType{Field1Type}
112 ::= SEQUENCE OF Field1Type
114 myParametrizedSequenceOfValue1 MyParametrizedSequenceOfType{BIT STRING}
115 ::= { '00'B, '11'B, '01'B }
117 MyParametrizedSequenceOfTypeAlias ::= MyParametrizedSequenceOfType{BIT STRING}
119 myParametrizedSequenceOfValue4 MyParametrizedSequenceOfTypeAlias ::=
124 MyParametrizedSetOfType{Field1Type}
125 ::= SET OF Field1Type
127 myParametrizedSetOfValue1 MyParametrizedSetOfType{INTEGER}
130 MyParametrizedSetOfTypeAlias ::= MyParametrizedSetOfType{INTEGER}
132 myParametrizedSetOfValue4 MyParametrizedSetOfTypeAlias ::=
138 MyParametrizedIntegerType1 {MyInt:par-int} ::= INTEGER {namednum(par-int), namednum2(ketto)}
140 MyInt ::= INTEGER {harom(3)}
142 myParametrizedIntegrValue1 MyParametrizedIntegerType1{ 4 } ::= 6
144 myParametrizedIntegrValue2 MyParametrizedIntegerType1{ 4 } ::= 4
146 myParametrizedIntegrValue3 MyParametrizedIntegerType1{ 4 } ::= namednum
148 MyParametrizedIntegerType2 {MyInt2:par-int2} ::= INTEGER (par-int2.. 10)
150 myParametrizedIntegerValue4 MyParametrizedIntegerType2 {5} ::= 5
154 MyParametrizedBitstringType1 {MyInt:par-int} ::= BIT STRING {namedbit(par-int), namedbit2 (3)}
156 myParametrizedBitstringValue1 MyParametrizedBitstringType1{2} ::= '0000'B
158 myParametrizedBitstringValue2 MyParametrizedBitstringType1{2} ::= {namedbit}
160 myParametrizedBitstringValue3 MyParametrizedBitstringType1{2} ::= {namedbit2}
162 MyParametrizedBitstringType2 {MyInt2:par-int2} ::= BIT STRING (SIZE (par-int2.. 10))
164 myParametrizedBitstringValue4 MyParametrizedBitstringType2{3} ::= '00000'B
167 MyParametrizedOctetstringType1 {MyInt:par-int} ::= OCTET STRING (SIZE (par-int.. 10))
169 myParametrizedOctetstringValue1 MyParametrizedOctetstringType1{3} ::= 'FF00AA'H
172 MyParametrizedEnumeratedType1 {MyInt:par-int} ::= ENUMERATED {a(par-int) ,b, ..., c}
174 myParametrizedEnumeratedValue1 MyParametrizedEnumeratedType1{0} ::= a
176 --***************************************************************************************************
177 --PARAMETRIZED VALUES ********************************************************
178 --***************************************************************************************************
180 myIntegerValue1 { INTEGER : par-int} INTEGER ::= par-int
182 myIntegerValue2 INTEGER ::= myIntegerValue1 {3}
184 myBitstringValue1 { BIT STRING : par-bitstring} BIT STRING ::= par-bitstring
186 myBitstringValue2 BIT STRING ::= myBitstringValue1{'0011'B}
188 myOctetstringValue1 {OCTET STRING : par-octetstring} OCTET STRING::= par-octetstring
190 myOctetstringValue2 OCTET STRING ::= myOctetstringValue1{'FFFF'H}
192 myEnumeratedValue1 {ENUMERATED{a,b,c} : par-enum} ENUMERATED{a,b,c} ::= par-enum
194 --myEnumeratedValue2 ENUMERATED{a,b,c} ::= myEnumeratedValue1{a}
196 myBooleanValue1 {BOOLEAN : par-boolean} BOOLEAN ::= par-boolean
198 myBooleanValue2 BOOLEAN ::= myBooleanValue1{TRUE}
200 myNullValue1 {NULL : par-null} NULL ::= par-null
202 myNullValue2 NULL ::= myNullValue1{NULL}
204 myRealValue1 {REAL : par-real} REAL ::= par-real
206 myRealValue2 REAL ::= 5.3 --myRealValue1{{mantissa 314159,base 10, exponent -10}}
208 mySequenceValue1 { INTEGER : par-int} SequenceAliasType ::= {field1 par-int}
210 mySequenceValue2 SequenceAliasType ::= mySequenceValue1 {44}
212 SequenceAliasType ::= SEQUENCE {field1 INTEGER}
214 mySetValue1 { INTEGER : par-int} SetAliastype
217 mySetValue2 SetAliastype ::= mySetValue1 {33}
219 SetAliastype ::= SET { field1 INTEGER }
221 myChoiceValue1 { INTEGER : par-int} ChoiceAliasType ::= field1 : par-int
223 myChoiceValue2 ChoiceAliasType ::= myChoiceValue1 {22}
225 ChoiceAliasType ::= CHOICE {field1 INTEGER, field2 BOOLEAN}
227 mySequenceOfValue1 { INTEGER : par-int1, INTEGER : par-int2} SequenceOfAliasType ::=
234 mySequenceOfValue2 SequenceOfAliasType ::= mySequenceOfValue1{2,3}
236 SequenceOfAliasType ::= SEQUENCE OF INTEGER
238 mySetOfValue1 { BIT STRING : par-bitstring} SetOfAliasType ::= {par-bitstring, par-bitstring, '000111'B}
240 mySetOfValue2 SetOfAliasType ::= mySetOfValue1 {'000'B}
242 SetOfAliasType ::= SET OF BIT STRING
244 myIA5StringValue1 {IA5String : par-string} IA5String ::= par-string
246 myIA5StringValue2 IA5String ::= myIA5StringValue1 {"hihi"}
248 --***************************************************************************************************
249 -- PARAMETRIZED VALUE SETS TO BE ADDED
250 --***************************************************************************************************
252 --***************************************************************************************************
253 -- PARAMETRIZED OBJECT CLASS ************************************************************************
254 --***************************************************************************************************
255 MY-PARAMETRIZED-OBJECT-CLASS1
257 INTEGER : par-Value1,
258 INTEGER : par-Value3,
259 INTEGER : par-Value4,
260 INTEGER : par-Value5,
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)
273 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::= MY-PARAMETRIZED-OBJECT-CLASS1
283 myObject-1 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE
286 &TypeField ASN1-Type3,
287 &fixedTypeValueField 999,
288 &additionalFieldforValueField1 110,
289 &additionalFieldforValueField3 '00001111'B,
290 &additionalFieldforValueField4 a,
291 &additionalFieldforValueField5 11
294 --***************************************************************************************************
295 -- PARAMETRIZED OBJECT *****************************************************************************
296 --***************************************************************************************************
298 myParametrizedObject-1
300 {PAR-ASN1-Type3, -- BIT STRING
303 BIT STRING : par-bitstring,
304 ASN1-Type5 : par-enum,
307 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE
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
318 myObject-2 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE
320 myParametrizedObject-1
330 -- ***************************************************************
332 ASN1-Type1 ::= INTEGER
334 ASN1-Type2 ::= BOOLEAN
336 ASN1-Type3 ::= BIT STRING
338 ASN1-Type4 ::= OCTET STRING
340 ASN1-Type5 ::= ENUMERATED {a(3) ,b, ..., c}
342 --***************************************************************************************************
343 -- PARAMETRIZED OBJECT SET **************************************************************************
344 --***************************************************************************************************
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 ::=
355 MY-OBJECT-SET2 MY-PARAMETRIZED-OBJECT-CLASS1-INSTANCE ::= {MY-PARAMETRIZED-OBJECT-SET1{myObject-1, myObject-2}}
357 -- RANAP specification ***************************************************************
358 -- using only (simpilfied) Reset and ResetResource elementary procedures CLASS1
360 RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
361 RANAP-ELEMENTARY-PROCEDURES-CLASS-1
363 RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
364 RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
370 RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
373 relocationPreparation |
374 relocationResourceAllocation |
376 sRNS-ContextTransfer |
377 securityModeControl |
386 RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
388 &SuccessfulOutcome OPTIONAL,
389 &UnsuccessfulOutcome OPTIONAL,
391 &procedureCode ProcedureCode UNIQUE,
392 &criticality Criticality DEFAULT ignore
395 INITIATING MESSAGE &InitiatingMessage
396 [SUCCESSFUL OUTCOME &SuccessfulOutcome]
397 [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
399 PROCEDURE CODE &procedureCode
400 [CRITICALITY &criticality]
403 RANAP-PDU ::= CHOICE {
404 initiatingMessage InitiatingMessage,
405 successfulOutcome SuccessfulOutcome,
406 unsuccessfulOutcome UnsuccessfulOutcome,
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})
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})
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})
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})
435 reset RANAP-ELEMENTARY-PROCEDURE ::= {
436 INITIATING MESSAGE Reset
437 SUCCESSFUL OUTCOME ResetAcknowledge
438 PROCEDURE CODE id-Reset
442 resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
443 INITIATING MESSAGE ResetResource
444 SUCCESSFUL OUTCOME ResetResourceAcknowledge
445 PROCEDURE CODE id-ResetResource
450 protocolIEs OCTET STRING, --simplified with dummy fields
451 protocolExtensions OCTET STRING, --simplified with dummy fields
455 ResetAcknowledge ::= SEQUENCE {
456 protocolIEs OCTET STRING, --simplified with dummy fields
457 protocolExtensions OCTET STRING, --simplified with dummy fields
461 ResetResource ::= SEQUENCE {
462 protocolIEs OCTET STRING, --simplified with dummy fields
463 protocolExtensions OCTET STRING, --simplified with dummy fields
466 ResetResourceAcknowledge ::= SEQUENCE {
467 protocolIEs OCTET STRING, --simplified with dummy fields
468 protocolExtensions OCTET STRING, --simplified with dummy fields
472 id-Reset ProcedureCode ::= 0
474 id-ResetResource ProcedureCode ::= 1
476 ProcedureCode ::= INTEGER (0..255)
478 Criticality ::= ENUMERATED { reject, ignore, notify, unspecified }