1 --/////////////////////////////////////////////////////////////////////////////
2 -- Copyright (c) 2000-2016 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
13 --/////////////////////////////////////////////////////////////////////////////
23 --Test Case 2 Information Object Class (for parsing)
24 -- 1. only TypeField and fixedTypeValueField supported in object-classes
25 -- (no variableTypeValueField,FixedTypeValueSetField , VariableTypeValueSetField objectField and ObjectSetField is supported)
27 -- 2. object-classes have to include "WITH SYNTAX"
29 -- 3. Type aliases have to be used for TypeField when defining objects ("ASN1-Type1" has to be used "INTEGER" is not accepted)
31 -- 4. Simple types can not be used for open-type->union when assigning values
33 --***************************************************************************************************
34 --modified class taken from Gyuri ASN1
35 --***************************************************************************************************
39 &fixedTypeValueField ASN1-Type1 UNIQUE OPTIONAL
44 [TYPE FIELD &TypeField]
45 [FIXED VALUE TYPE FIELD &fixedTypeValueField]
48 ASN1-Type1 ::= INTEGER
50 ASN1-Type2 ::= BOOLEAN
52 ASN1-Type3 ::= SEQUENCE {f1 INTEGER}
54 ASN1-Type4 ::= OCTET STRING
56 OBJECTCLASS1 ::= RANAP-ELEMENTARY-PROCEDURE
58 --****************************************************************************************************
59 -- OBJECTS using the class defined above
60 --****************************************************************************************************
62 myObject-1 MY-CLASS-1 ::=
65 FIXED VALUE TYPE FIELD 999
68 myObject-2 MY-CLASS-1 ::=
71 FIXED VALUE TYPE FIELD 888
74 myObject-3 MY-CLASS-1 ::=
77 FIXED VALUE TYPE FIELD 555
80 --****************************************************************************************************
81 -- Defining Information Object sets
82 --****************************************************************************************************
84 MyInformationObjectSet1 MY-CLASS-1 ::=
91 MyInformationObjectSet2 MY-CLASS-1 ::=
93 MyInformationObjectSet1|
98 --****************************************************************************************************
99 -- References from class
100 --****************************************************************************************************
102 MyBigMessageType1 ::= SEQUENCE
105 field1 MY-CLASS-1.&TypeField, --open Type
106 field2 MY-CLASS-1.&fixedTypeValueField
109 MyBigMessageType2 ::= SEQUENCE
112 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@.field2} ),
113 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1})
116 MyBigMessageType3 ::= SEQUENCE
118 field1 MY-CLASS-1.&TypeField ({MyInformationObjectSet1} {@field2} ),
119 field2 MY-CLASS-1.&fixedTypeValueField ({MyInformationObjectSet1} )
122 myBigMessage1 MyBigMessageType2 ::=
125 field1 aSN1-Type3 : {f1 8 } , -- Note: use of small first letter is temporary
130 --****************************************************************************************************
131 -- References from object
132 --****************************************************************************************************
134 MyBigMessageType4 ::= SEQUENCE
137 field1 myObject-1.&TypeField , -- type from object
138 field2 MY-CLASS-1.&fixedTypeValueField
141 myBigMessage2 MyBigMessageType4 ::=
144 field2 myObject-1.&fixedTypeValueField
147 --****************************************************************************************************
148 -- References from object set
149 --****************************************************************************************************
152 myValueFromObjectSet INTEGER ::= MyInformationObjectSet1.myObject-1.&fixedTypeValueField
154 myValueSetFromObjectSet INTEGER ::= MyInformationObjectSet1.myObject-1.&variableTypeValueField
156 MyNewObjectSet2 OBJECTCLASS1 ::= MyInformationObjectSet1.myObject-1
158 MyNewObjectSet3 OBJECTCLASS1 ::= MyInformationObjectSet1.myObject-1
161 --RANAP specification ***************************************************************
162 -- using only Reset and ResetResource elementary procedures CLASS1
164 RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
165 RANAP-ELEMENTARY-PROCEDURES-CLASS-1
167 RANAP-ELEMENTARY-PROCEDURES-CLASS-2 |
168 RANAP-ELEMENTARY-PROCEDURES-CLASS-3 ,
174 RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
177 relocationPreparation |
178 relocationResourceAllocation |
180 sRNS-ContextTransfer |
181 securityModeControl |
190 RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
192 &SuccessfulOutcome OPTIONAL,
193 &UnsuccessfulOutcome OPTIONAL,
195 &procedureCode ProcedureCode UNIQUE,
196 &criticality Criticality DEFAULT ignore
199 INITIATING MESSAGE &InitiatingMessage
200 [SUCCESSFUL OUTCOME &SuccessfulOutcome]
201 [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
203 PROCEDURE CODE &procedureCode
204 [CRITICALITY &criticality]
207 RANAP-PDU ::= CHOICE {
208 initiatingMessage InitiatingMessage,
209 successfulOutcome SuccessfulOutcome,
210 unsuccessfulOutcome UnsuccessfulOutcome,
215 InitiatingMessage ::= 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.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
221 SuccessfulOutcome ::= 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.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
227 UnsuccessfulOutcome ::= 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.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
233 Outcome ::= SEQUENCE {
234 procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}),
235 criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
236 value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
239 reset RANAP-ELEMENTARY-PROCEDURE ::= {
240 INITIATING MESSAGE Reset
241 SUCCESSFUL OUTCOME ResetAcknowledge
242 PROCEDURE CODE id-Reset
246 resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
247 INITIATING MESSAGE ResetResource
248 SUCCESSFUL OUTCOME ResetResourceAcknowledge
249 PROCEDURE CODE id-ResetResource
254 protocolIEs OCTET STRING, --simplified with dummy fields
255 protocolExtensions OCTET STRING, --simplified with dummy fields
259 ResetAcknowledge ::= SEQUENCE {
260 protocolIEs OCTET STRING, --simplified with dummy fields
261 protocolExtensions OCTET STRING, --simplified with dummy fields
265 ResetResource ::= SEQUENCE {
266 protocolIEs OCTET STRING, --simplified with dummy fields
267 protocolExtensions OCTET STRING, --simplified with dummy fields
270 ResetResourceAcknowledge ::= SEQUENCE {
271 protocolIEs OCTET STRING, --simplified with dummy fields
272 protocolExtensions OCTET STRING, --simplified with dummy fields
276 ProcedureCode ::= INTEGER (0..255)
278 Criticality ::= ENUMERATED { reject, ignore, notify, unspecified }
280 id-Reset ProcedureCode ::= 0
282 id-ResetResource ProcedureCode ::= 1
284 --Gyuri ASN1 ****************************************************************
285 -- **************************************************************************
289 &identifier INTEGER UNIQUE
291 --&linkedArgument &Argument OPTIONAL,
292 --&ErrorCodes INTEGER DEFAULT {0},
297 INFORMATION &Argument WITH ID &identifier
298 --[AND ERRORS &ErrorCodes]
299 --[LINKED TO &linkedArgument]
300 --[ANSWERS &returnedObject]
304 Matrix ::= SEQUENCE OF SEQUENCE OF INTEGER
308 &ArgumentType OPTIONAL,
309 &ResultType OPTIONAL,
310 &Errors ERROR OPTIONAL,
311 &Linked OPERATION OPTIONAL,
312 &resultReturned BOOLEAN DEFAULT TRUE,
313 &operationCode PrintableString UNIQUE
318 &ParameterType OPTIONAL,
319 &errorCode INTEGER UNIQUE
322 invertMatrix OPERATION ::=
324 &ArgumentType Matrix,
326 &Errors {determinantIsZero},
330 determinantIsZero ERROR ::=