1--
2-- %CopyrightBegin%
3--
4-- Copyright Ericsson AB 2001-2016. All Rights Reserved.
5--
6-- Licensed under the Apache License, Version 2.0 (the "License");
7-- you may not use this file except in compliance with the License.
8-- You may obtain a copy of the License at
9--
10--     http://www.apache.org/licenses/LICENSE-2.0
11--
12-- Unless required by applicable law or agreed to in writing, software
13-- distributed under the License is distributed on an "AS IS" BASIS,
14-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15-- See the License for the specific language governing permissions and
16-- limitations under the License.
17--
18-- %CopyrightEnd%
19
20Extension-Addition-Group DEFINITIONS AUTOMATIC TAGS ::=
21
22BEGIN
23
24-- fetched from ITU-T Rec. X691 (07/2002)
25
26Ax ::= SEQUENCE {
27    a INTEGER (250..253),
28    b BOOLEAN,
29    c CHOICE {
30        d INTEGER,
31	...,
32
33	[[
34	    e BOOLEAN,
35	    f IA5String
36	]],
37	...
38    },
39    ...,
40    [[
41        g NumericString (SIZE(3)),
42	h BOOLEAN OPTIONAL
43    ]]
44,
45    ...,
46    i BMPString OPTIONAL,
47    j PrintableString OPTIONAL
48
49}
50
51-- valAx Ax ::= { a 253, b TRUE, c e: TRUE, g "123", h TRUE }
52
53Ax2 ::= SEQUENCE {
54    a INTEGER (250..253),
55    b BOOLEAN,
56    ...,
57    ug NumericString
58
59}
60
61-- The value { a 253, b TRUE, c e: TRUE, g "123", h TRUE }
62-- is encoded in PER as
63-- Hexadecimal view
64-- 9E000180 010291A4
65
66-- is encoded in Unaligned PER as
67-- 9E000600 040A4690
68
69Ax3 ::= SEQUENCE {
70    a INTEGER (250..253),
71    b BOOLEAN,
72    s SEQUENCE {
73        sa INTEGER,
74	sb BOOLEAN,
75	...,
76	[[
77	    sextaddgroup INTEGER OPTIONAL
78	]]
79    }
80}
81
82-- { a 253, b TRUE, s {sa 17, sb TRUE, sextaddgroup 11}}
83
84-- This is to test the case with more than one ExtensionAdditionGroup
85-- which did not work before
86
87AS-Config ::=				SEQUENCE {
88        a INTEGER,
89        b BOOLEAN,
90        c OCTET STRING,
91	...,
92	[[	sourceSystemInformationBlockType1Ext	OCTET STRING OPTIONAL,
93		sourceOtherConfig-r9			INTEGER
94	]],
95	[[	sourceSCellConfigList-r10	OCTET STRING OPTIONAL
96	]]
97}
98
99SystemInformationBlockType2 ::= SEQUENCE {
100  timeAlignmentTimerCommon TimeAlignmentTimer,
101  ...,
102  lateNonCriticalExtension OCTET STRING OPTIONAL,
103  [[ ssac-BarringForMMTEL-Voice-r9 AC-BarringConfig OPTIONAL,
104     ssac-BarringForMMTEL-Video-r9 AC-BarringConfig OPTIONAL
105  ]],
106  [[ ac-BarringForCSFB-r10 AC-BarringConfig OPTIONAL
107  ]]
108}
109
110TimeAlignmentTimer ::= ENUMERATED {
111  sf500, sf750, sf1280, sf1920, sf2560, sf5120,
112  sf10240, infinity}
113
114AC-BarringConfig ::= SEQUENCE {
115  ac-BarringFactor ENUMERATED {
116    p00, p05, p10, p15, p20, p25, p30, p40,
117    p50, p60, p70, p75, p80, p85, p90, p95},
118  ac-BarringTime ENUMERATED {s4, s8, s16, s32, s64, s128, s256, s512},
119  ac-BarringForSpecialAC BIT STRING (SIZE(5))
120}
121
122InlinedSeq ::= SEQUENCE {
123     ...,
124     [[
125        s SEQUENCE {
126	   a INTEGER,
127	   b BOOLEAN
128        }
129     ]]
130}
131
132-- 'ExtAddGroup1' is used internally to represent fake sequences for
133-- extension addition groups. Make sure that a real sequence with that
134-- name at the top-level doesn't cause a problem.
135
136ExtAddGroup1 ::= SEQUENCE {
137    x INTEGER,
138    y INTEGER
139}
140
141END
142