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
|