1-- ************************************************************** 2-- 3-- Information Element Definitions 4-- 5-- ************************************************************** 6 7Param -- { object identifier to be allocated }-- 8DEFINITIONS AUTOMATIC TAGS ::= 9 10BEGIN 11 12-- A 13 14Criticality ::= ENUMERATED { reject, ignore, notify } 15 16Presence ::= ENUMERATED { optional, conditional, mandatory } 17 18ProtocolExtensionID ::= INTEGER (0..65535) 19 20RANAP-PROTOCOL-EXTENSION ::= CLASS { 21 &id ProtocolExtensionID UNIQUE, 22 &criticality Criticality, 23 &Extension, 24 &presence Presence 25} 26WITH SYNTAX { 27 ID &id 28 CRITICALITY &criticality 29 EXTENSION &Extension 30 PRESENCE &presence 31} 32 33ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= 34 SEQUENCE (SIZE (1..10)) OF 35 ProtocolExtensionField {{ExtensionSetParam}} 36 37ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { 38 id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), 39 criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), 40 extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) 41} 42 43 44AllocationOrRetentionPriority ::= SEQUENCE { 45 priorityLevel BOOLEAN, 46 iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL, 47 ... 48} 49 50AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { 51 ... 52} 53 54obj1 RANAP-PROTOCOL-EXTENSION ::= { 55 ID id-one 56 CRITICALITY ignore 57 EXTENSION INTEGER 58 PRESENCE optional 59} 60 61obj2 RANAP-PROTOCOL-EXTENSION ::= { 62 ID id-two 63 CRITICALITY ignore 64 EXTENSION BOOLEAN 65 PRESENCE optional 66} 67 68id-one INTEGER ::= 1 69id-two INTEGER ::= 2 70 71-- The following code for test of OTP-4242, ValueFromObject 72-- Similar use as in the Camel spec 73 74CONFIG-DATA ::= CLASS { 75 &minLevel INTEGER, 76 &maxLevel INTEGER 77} 78WITH SYNTAX { 79 MINLEVEL &minLevel 80 MAXLEVEL &maxLevel 81} 82 83config-data CONFIG-DATA ::= {MINLEVEL 1 MAXLEVEL 3} 84 85OS1 ::= OCTET STRING (SIZE (config-data.&minLevel .. config-data.&maxLevel)) 86 87POS2 {CONFIG-DATA:obj} ::= OCTET STRING (SIZE(obj.&minLevel .. obj.&maxLevel)) 88 89OS2 ::= POS2 {config-data} 90 91-- 92-- Test a CLASS without the user-friendly syntax. 93-- 94 95CL ::= CLASS { 96 &code INTEGER UNIQUE, 97 &Data 98} 99 100P{T} ::= CHOICE { a INTEGER, b T } 101 102o1 CL ::= { 103 &code 42, 104 &Data P{BOOLEAN} 105} 106 107SetCL CL ::= { o1 } 108 109Scl ::= SEQUENCE { 110 code CL.&code ({SetCL}), 111 data CL.&Data ({SetCL}{@code}) 112} 113 114END 115 116