1 --/////////////////////////////////////////////////////////////////////////////
2 -- Copyright (c) 2000-2014 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 --/////////////////////////////////////////////////////////////////////////////
17 --Test Case 2 Information Object Class (for parsing)
18 -- 1. only TypeField and fixedTypeValueField supported in object-classes
19 -- (no variableTypeValueField,FixedTypeValueSetField , VariableTypeValueSetField objectField and ObjectSetField is supported)
21 -- 2. object-classes have to include "WITH SYNTAX"
23 -- 3. Type aliases have to be used for TypeField when defining objects ("ASN1-Type1" has to be used "INTEGER" is not accepted)
25 -- 4. Simple types can not be used for open-type->union when assigning values
27 --***************************************************************************************************
28 --modified class taken from Gyuri ASN1
29 --***************************************************************************************************
33 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
38 [TYPE FIELD &TypeField]
39 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
42 ASN1-Type1 ::= INTEGER
44 ASN1-Type2 ::= BOOLEAN
46 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
48 ASN1-Type4 ::= OCTET STRING
50 OBJECTCLASS1 ::= RANAP-ELEMENTARY-PROCEDURE
52 --****************************************************************************************************
53 -- OBJECTS using the class defined above
54 --****************************************************************************************************
56 myObject-1 MY-CLASS-1 ::=
59 FIXED VALUE TYPE FIELD 999
62 myObject-2 MY-CLASS-1 ::=
65 FIXED VALUE TYPE FIELD 888
68 myObject-3 MY-CLASS-1 ::=
71 FIXED VALUE TYPE FIELD 555
74 --****************************************************************************************************
75 -- Defining Information Object sets
76 --****************************************************************************************************
78 MyInformationObjectSet1 MY-CLASS-1 ::=
85 MyInformationObjectSet2 MY-CLASS-1 ::=
87 MyInformationObjectSet1|
92 --****************************************************************************************************
93 -- References from class
94 --****************************************************************************************************
96 MyBigMessageType1 ::= SEQUENCE
99 field1 MY-CLASS-1.&TypeField, --open Type
100 field2 MY-CLASS-1.&fixedTypeValueField
103 MyBigMessageType2 ::= SEQUENCE
106 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
107 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
110 MyBigMessageType3 ::= SEQUENCE
112 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@field2} ),
113 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1} )
116 myBigMessage1 MyBigMessageType2 ::=
119 field1 aSN1-Type3 : {f1 8 } , -- Note: use of small first letter is temporary
124 --****************************************************************************************************
125 -- References from object
126 --****************************************************************************************************
128 MyBigMessageType4 ::= SEQUENCE
131 field1 myObject-1.&TypeField , -- type from object
132 field2 MY-CLASS-1.&fixedTypeValueField
135 myBigMessage2 MyBigMessageType4 ::=
138 field2 myObject-1.&fixedTypeValueField
141 --****************************************************************************************************
142 -- References from object set
143 --****************************************************************************************************
146 myValueFromObjectSet INTEGER ::= MyInformationObjectSet1.myObject-1.&fixedTypeValueField
148 myValueSetFromObjectSet INTEGER ::= MyInformationObjectSet1.myObject-1.&variableTypeValueField
150 MyNewObjectSet2 OBJECTCLASS1 ::= MyInformationObjectSet1.myObject-1
152 MyNewObjectSet3 OBJECTCLASS1 ::= MyInformationObjectSet1.myObject-1
155 --RANAP specification ***************************************************************
156 -- using only Reset and ResetResource elementary procedures CLASS1
158 RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
159 RANAP-ELEMENTARY-PROCEDURES-CLASS-1
161 RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
162 RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
168 RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
171 relocationPreparation |
172 relocationResourceAllocation |
174 sRNS-ContextTransfer |
175 securityModeControl |
184 RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
186 &SuccessfulOutcome OPTIONAL,
187 &UnsuccessfulOutcome OPTIONAL,
189 &procedureCode ProcedureCode UNIQUE,
190 &criticality Criticality DEFAULT ignore
193 INITIATING MESSAGE &InitiatingMessage
194 [SUCCESSFUL OUTCOME &SuccessfulOutcome]
195 [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
197 PROCEDURE CODE &procedureCode
198 [CRITICALITY &criticality]
201 RANAP-PDU ::= CHOICE {
202 initiatingMessage InitiatingMessage,
203 successfulOutcome SuccessfulOutcome,
204 unsuccessfulOutcome UnsuccessfulOutcome,
209 InitiatingMessage ::= SEQUENCE {
210 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
211 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
212 value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
215 SuccessfulOutcome ::= SEQUENCE {
216 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
217 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
218 value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
221 UnsuccessfulOutcome ::= SEQUENCE {
222 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
223 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
224 value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
227 Outcome ::= SEQUENCE {
228 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
229 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
230 value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
233 reset RANAP-ELEMENTARY-PROCEDURE ::= {
234 INITIATING MESSAGE Reset
235 SUCCESSFUL OUTCOME ResetAcknowledge
236 PROCEDURE CODE id-Reset
240 resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
241 INITIATING MESSAGE ResetResource
242 SUCCESSFUL OUTCOME ResetResourceAcknowledge
243 PROCEDURE CODE id-ResetResource
248 protocolIEs OCTET STRING, --simplified with dummy fields
249 protocolExtensions OCTET STRING, --simplified with dummy fields
253 ResetAcknowledge ::= SEQUENCE {
254 protocolIEs OCTET STRING, --simplified with dummy fields
255 protocolExtensions OCTET STRING, --simplified with dummy fields
259 ResetResource ::= SEQUENCE {
260 protocolIEs OCTET STRING, --simplified with dummy fields
261 protocolExtensions OCTET STRING, --simplified with dummy fields
264 ResetResourceAcknowledge ::= SEQUENCE {
265 protocolIEs OCTET STRING, --simplified with dummy fields
266 protocolExtensions OCTET STRING, --simplified with dummy fields
270 ProcedureCode ::= INTEGER (0..255)
272 Criticality ::= ENUMERATED { reject, ignore, notify, unspecified }
274 id-Reset ProcedureCode ::= 0
276 id-ResetResource ProcedureCode ::= 1
278 --Gyuri ASN1 ****************************************************************
279 -- **************************************************************************
283 &identifier INTEGER UNIQUE
285 --&linkedArgument &Argument OPTIONAL,
286 --&ErrorCodes INTEGER DEFAULT {0},
291 INFORMATION &Argument WITH ID &identifier
292 --[AND ERRORS &ErrorCodes]
293 --[LINKED TO &linkedArgument]
294 --[ANSWERS &returnedObject]
298 Matrix ::= SEQUENCE OF SEQUENCE OF INTEGER
302 &ArgumentType OPTIONAL,
303 &ResultType OPTIONAL,
304 &Errors ERROR OPTIONAL,
305 &Linked OPERATION OPTIONAL,
306 &resultReturned BOOLEAN DEFAULT TRUE,
307 &operationCode PrintableString UNIQUE
312 &ParameterType OPTIONAL,
313 &errorCode INTEGER UNIQUE
316 invertMatrix OPERATION ::=
318 &ArgumentType Matrix,
320 &Errors {determinantIsZero},
324 determinantIsZero ERROR ::=