summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/pres/ISO8823-PRESENTATION.asn
blob: 99289066ea2a83b589dd5005f326569add1961e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
-- Module ISO8823-PRESENTATION (X.226:07/1994)
ISO8823-PRESENTATION DEFINITIONS ::=
BEGIN

-- 
--  In X.410-1984 mode, the value of the SS-user data parameter of the S-CONNECT request and
--  indication session-service primitives shall be a CP-type value.
-- 
--  In normal mode, the value of the SS-user data parameter of the S-CONNECT request and
--  indication session-service primitives shall be a CP-type value, followed as a requestor's
--  option by zero or more CPC-type values.
IMPORTS
  RTORQapdu, RTOACapdu, RTORJapdu, RTABapdu
    FROM Reliable-Transfer-APDU {joint-iso-itu-t(2) reliable-transfer(3)
      apdus(0)};

CP-type ::= SET {
  mode-selector           [0] IMPLICIT Mode-selector,
  x410-mode-parameters
--    [1] IMPLICIT SET {COMPONENTS OF Reliable-Transfer-APDU.RTORQapdu} OPTIONAL  This OPTIONAL element shall be absent for a 
    [1] IMPLICIT RTORQapdu OPTIONAL,  
--	This OPTIONAL element shall be absent for a 
  --  nested presentation connection.
  --  Shall be used for X.410 mode only. Shall be bitwise
  --  compatible with CCITT Recommendation X.410-1984.
  --  This shall be the User data parameter of the CP PPDU1) --
  normal-mode-parameters
    [2] IMPLICIT SEQUENCE {protocol-version
                             [0] IMPLICIT Protocol-version DEFAULT {version-1},
                           calling-presentation-selector
                             [1] IMPLICIT Calling-presentation-selector
                               OPTIONAL,
                           called-presentation-selector
                             [2] IMPLICIT Called-presentation-selector OPTIONAL,
                           presentation-context-definition-list
                             [4] IMPLICIT Presentation-context-definition-list
                               OPTIONAL,
                           default-context-name
                             [6] IMPLICIT Default-context-name OPTIONAL,
                           presentation-requirements
                             [8] IMPLICIT Presentation-requirements OPTIONAL,
                           user-session-requirements
                             [9] IMPLICIT User-session-requirements OPTIONAL-- shall not be present if equal to the Revised session
                           -- requirements parameter --,
                           protocol-options
                             [11]  Protocol-options DEFAULT {},
                           --  shall be absent if no options are offered
                           initiators-nominated-context
                             [12]  Presentation-context-identifier OPTIONAL,
                           --  shall only be present if nominated-context is
                           --  offered in protocol-options
                           extensions
                             [14]  SEQUENCE {...} OPTIONAL,
                           --  to allow for future extensions
                           user-data
                             User-data OPTIONAL} OPTIONAL
  -- Shall be used for normal mode only.
  -- Shall be the parameters of the CP PPDU.
}

--
--  As an initiator's option, the presentation data values contained in a CP PPDU may be
--  encoded more than once, using CPC-type values, to allow the transfer of the same
--  presentation data values using a number of different transfer syntaxes.
--
CPC-type ::=
  User-data

--  Shall be used for normal mode only.
--  Shall not be present if the Presentation context definition list parameter is not present
--  in the CP PPDU. Each instance of this data type shall contain all of the presentation data
--  values which were contained in the User data parameter of the CP PPDU.
--  This shall be the same set of presentation data values which were contained in the CP-type.
-- 
--  The SS-user data parameter value of the S-CONNECT response 
--  and confirm session-service primitives shall be a CPA-PPDU 
--  value when the Result parameter value is "accept". 
--
--
CPA-PPDU ::= SET {
  mode-selector           [0] IMPLICIT Mode-selector,
  x410-mode-parameters
--    [1] IMPLICIT SET {COMPONENTS OF Reliable-Transfer-APDU.RTOACapdu} OPTIONAL
--  This OPTIONAL element shall be absent for a 
    [1] IMPLICIT RTOACapdu OPTIONAL,
--  This OPTIONAL element shall be absent for a 
  --  nested presentation connection.
  --  Shall be used for X.410 mode only. Shall be bitwise
  --  compatible with CCITT Recommendation X.410-1984.
  --  This shall be the User data parameter of the CPA PPDU1) --
  normal-mode-parameters
    [2] IMPLICIT SEQUENCE {protocol-version
                             [0] IMPLICIT Protocol-version DEFAULT {version-1},
                           responding-presentation-selector
                             [3] IMPLICIT Responding-presentation-selector
                               OPTIONAL,
                           presentation-context-definition-result-list
                             [5] IMPLICIT Presentation-context-definition-result-list
                               OPTIONAL,
                           presentation-requirements
                             [8] IMPLICIT Presentation-requirements OPTIONAL,
                           user-session-requirements
                             [9] IMPLICIT User-session-requirements OPTIONAL,
                           --  shall not be present if equal to the Revised session
                           --  requirements parameter 
                           protocol-options
                             [11]  Protocol-options DEFAULT {},
                           --  shall be absent if no options are selected
                           responders-nominated-context
                             [13]  Presentation-context-identifier OPTIONAL,
                           --  shall only be present if nominated-context is 
                           --  selected in protocol-options
                           user-data
                             User-data OPTIONAL} OPTIONAL
  --  Shall be used for normal mode only.
}

--
--
--  The SS-user data parameter value of the S-CONNECT response 
--  and confirm session-service primitives shall be a CPR-PPDU 
--  value when the Result parameter value is "reject by SS-provider" 
--  or "reject by called SS-user". 
--
CPR-PPDU ::= CHOICE {
--  x400-mode-parameters    SET {COMPONENTS OF Reliable-Transfer-APDU.RTORJapdu}
--  This OPTIONAL element shall be absent for a 
  x400-mode-parameters    RTORJapdu,
  --  This OPTIONAL element shall be absent for a 
  --  nested presentation connection.
  --  Shall be used for X.410 mode only. Shall be bitwise
  --  compatible with CCITT Recommendation X.410-1984.
  --  This shall be the User data parameter of the CPR PPDU2) --
  normal-mode-parameters
    SEQUENCE {protocol-version
                [0] IMPLICIT Protocol-version DEFAULT {version-1},
              responding-presentation-selector
                [3] IMPLICIT Responding-presentation-selector OPTIONAL,
              presentation-context-definition-result-list
                [5] IMPLICIT Presentation-context-definition-result-list
                  OPTIONAL,
              default-context-result
                [7] IMPLICIT Default-context-result OPTIONAL,
              provider-reason
                [10] IMPLICIT Provider-reason OPTIONAL,
              user-data                                    User-data OPTIONAL
  }
  --  Shall be used for normal mode only. 
}

--
--
--  The SS-user data parameter of the S-U-ABORT request and indication 
--  service primitives shall be an Abort-type value. 
--
Abort-type ::= CHOICE {
  aru-ppdu  ARU-PPDU--  for a P-U-ABORT -- ,
  arp-ppdu  ARP-PPDU --  for a P-P-ABORT 
}

--
ARU-PPDU ::= CHOICE {
--  x400-mode-parameters    SET {COMPONENTS OF Reliable-Transfer-APDU.RTABapdu}
--  Shall be used for X.410 mode only. Shall be bitwise
  x400-mode-parameters    RTABapdu,
--  Shall be used for X.410 mode only. Shall be bitwise
  --  compatible with CCITT Recommendation X.410-1984.
  --  This shall be the User data parameter of the ARU PPDU3. --
  normal-mode-parameters
    [0] IMPLICIT SEQUENCE {presentation-context-identifier-list
                             [0] IMPLICIT Presentation-context-identifier-list
                               OPTIONAL,
                           user-data
                             User-data OPTIONAL}
  --  Shall be used for normal mode only.
}

--
ARP-PPDU ::= SEQUENCE {
  provider-reason   [0] IMPLICIT Abort-reason OPTIONAL,
  event-identifier  [1] IMPLICIT Event-identifier OPTIONAL
}

--
--
--  The SS-user data parameter value of the S-TYPED-DATA request 
--  and indication service primitives shall be a Typed-data-type value. 
--
Typed-data-type ::= CHOICE {
  acPPDU   [0] IMPLICIT AC-PPDU--  P-ALTER-CONTEXT request and indication -- ,
  acaPPDU  [1] IMPLICIT ACA-PPDU--  P-ALTER-CONTEXT response and confirm -- ,
  ttdPPDU  User-data --  P-TYPED-DATA request and indication
}

--
AC-PPDU ::= SEQUENCE {
  presentation-context-addition-list
    [0] IMPLICIT Presentation-context-addition-list OPTIONAL,
  presentation-context-deletion-list
    [1] IMPLICIT Presentation-context-deletion-list OPTIONAL,
  user-data                           User-data OPTIONAL
}

--
ACA-PPDU ::= SEQUENCE {
  presentation-context-addition-result-list
    [0] IMPLICIT Presentation-context-addition-result-list OPTIONAL,
  presentation-context-deletion-result-list
    [1] IMPLICIT Presentation-context-deletion-result-list OPTIONAL,
  user-data                                  User-data OPTIONAL
}

--
--
--  The SS-user data parameter value of the S-RESYNCHRONIZE request and 
--  indication service primitives shall be an RS-PPDU value. 
--
RS-PPDU ::= SEQUENCE {
  presentation-context-identifier-list
    [0] IMPLICIT Presentation-context-identifier-list OPTIONAL,
  user-data                             User-data OPTIONAL
}

--
--  The SS-user data parameter value of the S-RESYNCHRONIZE response and 
--  confirm service primitives shall be an RSA-PPDU value. 
-- 
RSA-PPDU ::= SEQUENCE {
  presentation-context-identifier-list
    [0] IMPLICIT Presentation-context-identifier-list OPTIONAL,
  user-data                             User-data OPTIONAL
}

--
--
--  The SS-user data parameter values of the S-DATA, S-CAPABILITY-DATA, 
--  S-EXPEDITED-DATA request and indication session-service primitives 
--  and S-CAPABILITY-DATA response and confirm session-service primitives 
--  shall be of type User-data. 
--
--  The SS-user data parameter values of all other session-service 
--  primitives not described above shall be of type User-data. 
--
--
--
Abort-reason ::= INTEGER {
  reason-not-specified(0), unrecognized-ppdu(1), unexpected-ppdu(2),
  unexpected-session-service-primitive(3), unrecognized-ppdu-parameter(4),
  unexpected-ppdu-parameter(5), invalid-ppdu-parameter-value(6)}

Abstract-syntax-name ::= OBJECT IDENTIFIER

Called-presentation-selector ::= Presentation-selector

Calling-presentation-selector ::= Presentation-selector

Context-list ::=
--  SEQUENCE SIZE (0..7, ..., 8..MAX) OF
  SEQUENCE  OF
    SEQUENCE {presentation-context-identifier  Presentation-context-identifier,
              abstract-syntax-name             Abstract-syntax-name,
              transfer-syntax-name-list        SEQUENCE OF Transfer-syntax-name
    }

Default-context-name ::= SEQUENCE {
  abstract-syntax-name  [0] IMPLICIT Abstract-syntax-name,
  transfer-syntax-name  [1] IMPLICIT Transfer-syntax-name
}

Default-context-result ::= Result

Event-identifier ::= INTEGER {
  cp-PPDU(0), cpa-PPDU(1), cpr-PPDU(2), aru-PPDU(3), arp-PPDU(4), ac-PPDU(5),
  aca-PPDU(6), td-PPDU(7), ttd-PPDU(8), te-PPDU(9), tc-PPDU(10), tcc-PPDU(11),
  rs-PPDU(12), rsa-PPDU(13), s-release-indication(14), s-release-confirm(15),
  s-token-give-indication(16), s-token-please-indication(17),
  s-control-give-indication(18), s-sync-minor-indication(19),
  s-sync-minor-confirm(20), s-sync-major-indication(21),
  s-sync-major-confirm(22), s-p-exception-report-indication(23),
  s-u-exception-report-indication(24), s-activity-start-indication(25),
  s-activity-resume-indication(26), s-activity-interrupt-indication(27),
  s-activity-interrupt-confirm(28), s-activity-discard-indication(29),
  s-activity-discard-confirm(30), s-activity-end-indication(31),
  s-activity-end-confirm(32)}

Mode-selector ::= SET {
  mode-value  [0] IMPLICIT INTEGER {x410-1984-mode(0), normal-mode(1)}
}

Presentation-context-addition-list ::= Context-list

Presentation-context-addition-result-list ::= Result-list

Presentation-context-definition-list ::= Context-list

Presentation-context-definition-result-list ::= Result-list

Presentation-context-deletion-list ::=
--  SEQUENCE SIZE (0..7, ..., 8..MAX) OF Presentation-context-identifier
	SEQUENCE  OF Presentation-context-identifier

Presentation-context-deletion-result-list ::=
--  SEQUENCE SIZE (0..7, ..., 8..MAX) OF
  SEQUENCE OF
    INTEGER {acceptance(0), user-rejection(1)}

--Presentation-context-identifier ::= INTEGER(1..127, ..., 128..MAX)
Presentation-context-identifier ::= INTEGER

Presentation-context-identifier-list ::=
--  SEQUENCE SIZE (0..7, ..., 8..MAX) OF
  SEQUENCE  OF
    SEQUENCE {presentation-context-identifier  Presentation-context-identifier,
              transfer-syntax-name             Transfer-syntax-name}

Presentation-requirements ::= BIT STRING {context-management(0), restoration(1)
}

--Presentation-selector ::= OCTET STRING(SIZE (1..4, ..., 5..MAX))
Presentation-selector ::= OCTET STRING

Protocol-options ::= BIT STRING {
  nominated-context(0), short-encoding(1), packed-encoding-rules(2)}

Protocol-version ::= BIT STRING {version-1(0)}

Provider-reason ::= INTEGER {
  reason-not-specified(0), temporary-congestion(1), local-limit-exceeded(2),
  called-presentation-address-unknown(3), protocol-version-not-supported(4),
  default-context-not-supported(5), user-data-not-readable(6),
  no-PSAP-available(7)}

Responding-presentation-selector ::= Presentation-selector

Result ::= INTEGER {acceptance(0), user-rejection(1), provider-rejection(2)}

Result-list ::=
--  SEQUENCE SIZE (0..7, ..., 8..MAX) OF
  SEQUENCE  OF
    SEQUENCE {result                [0] IMPLICIT Result,
              transfer-syntax-name  [1] IMPLICIT Transfer-syntax-name OPTIONAL,
              provider-reason
                [2] IMPLICIT INTEGER {reason-not-specified(0),
                                      abstract-syntax-not-supported(1),
                                      proposed-transfer-syntaxes-not-supported(2),
                                      local-limit-on-DCS-exceeded(3)} OPTIONAL
    }

Transfer-syntax-name ::= OBJECT IDENTIFIER

User-data ::= CHOICE {
  simply-encoded-data  [APPLICATION 0] IMPLICIT Simply-encoded-data,
  fully-encoded-data   [APPLICATION 1] IMPLICIT Fully-encoded-data,
  ...
}

--  Subclause 8.4 defines when each of the two alternatives shall be used.
Simply-encoded-data ::= OCTET STRING

--  See 8.4.1.
--Fully-encoded-data ::= SEQUENCE SIZE (1, ..., 2..MAX) OF PDV-list
Fully-encoded-data ::= SEQUENCE OF PDV-list

--  contains one or more PDV-list values.
--  See 8.4.2.
PDV-list ::= SEQUENCE {
  transfer-syntax-name             Transfer-syntax-name OPTIONAL,
  presentation-context-identifier  Presentation-context-identifier,
  presentation-data-values
    CHOICE {single-ASN1-type	[0] ANY,
--              [0]  ABSTRACT-SYNTAX.&Type
--                     (CONSTRAINED BY {
                        
                        --  Type corresponding to presentation context identifier  }),
            octet-aligned     [1] IMPLICIT OCTET STRING,
            arbitrary         [2] IMPLICIT BIT STRING}
  --  Contains one or more presentation data values from the same
  --  presentation context.
  --  See 8.4.2.
}

User-session-requirements ::= BIT STRING {
  half-duplex(0), duplex(1), expedited-data(2), minor-synchronize(3),
  major-synchronize(4), resynchronize(5), activity-management(6),
  negotiated-release(7), capability-data(8), exceptions(9), typed-data(10),
  symmetric-synchronize(11), data-separation(12)}

END