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
|
-- Module ACSE-1 (X.227:04/1995)
-- See also ITU-T X.227 (04/1995)
-- See also the index of all ASN.1 assignments needed in this document
ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0) version1(1)}
-- ACSE-1 refers to ACSE version 1
DEFINITIONS ::=
BEGIN
EXPORTS
acse-as-id, ACSE-apdu, aCSE-id, Application-context-name, AP-title,
AE-qualifier, AE-title, AP-invocation-identifier, AE-invocation-identifier,
Mechanism-name, Authentication-value, ACSE-requirements, ObjectSet;
IMPORTS
Name, RelativeDistinguishedName
FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
informationFramework(1) 3};
-- The data types Name and RelativeDistinguishedName are imported from ISO/IEC 9594-2.
-- object identifier assignments
acse-as-id OBJECT IDENTIFIER ::=
{joint-iso-itu-t association-control(2) abstract-syntax(1) apdus(0)
version1(1)}
-- may be used to reference the abstract syntax of the ACSE APDUs
aCSE-id OBJECT IDENTIFIER ::=
{joint-iso-itu-t association-control(2) ase-id(3) acse-ase(1) version(1)}
-- may be used to identify the Association Control ASE.
-- top level CHOICE
ACSE-apdu ::= CHOICE {
aarq AARQ-apdu,
aare AARE-apdu,
rlrq RLRQ-apdu,
rlre RLRE-apdu,
abrt ABRT-apdu,
...
}
AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
protocol-version
[0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
application-context-name [1] Application-context-name,
called-AP-title [2] AP-title OPTIONAL,
called-AE-qualifier [3] AE-qualifier OPTIONAL,
called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL,
called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL,
calling-AP-title [6] AP-title OPTIONAL,
calling-AE-qualifier [7] AE-qualifier OPTIONAL,
calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL,
calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL,
-- The following field shall not be present if only the Kernel is used.
sender-acse-requirements [10] IMPLICIT ACSE-requirements OPTIONAL,
-- The following field shall only be present if the Authentication functional unit is selected.
mechanism-name [11] IMPLICIT Mechanism-name OPTIONAL,
-- The following field shall only be present if the Authentication functional unit is selected.
calling-authentication-value [12] EXPLICIT Authentication-value OPTIONAL,
application-context-name-list
[13] IMPLICIT Application-context-name-list OPTIONAL,
-- The above field shall only be present if the Application Context Negotiation functional unit is selected
implementation-information [29] IMPLICIT Implementation-data OPTIONAL,
...,
...,
user-information
[30] IMPLICIT Association-information OPTIONAL
}
AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
protocol-version
[0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
application-context-name [1] Application-context-name,
result [2] Associate-result,
result-source-diagnostic [3] Associate-source-diagnostic,
responding-AP-title [4] AP-title OPTIONAL,
responding-AE-qualifier [5] AE-qualifier OPTIONAL,
responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL,
responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL,
-- The following field shall not be present if only the Kernel is used.
responder-acse-requirements [8] IMPLICIT ACSE-requirements OPTIONAL,
-- The following field shall only be present if the Authentication functional unit is selected.
mechanism-name [9] IMPLICIT Mechanism-name OPTIONAL,
-- This following field shall only be present if the Authentication functional unit is selected.
responding-authentication-value
[10] EXPLICIT Authentication-value OPTIONAL,
application-context-name-list
[11] IMPLICIT Application-context-name-list OPTIONAL,
-- The above field shall only be present if the Application Context Negotiation functional unit is selected
implementation-information
[29] IMPLICIT Implementation-data OPTIONAL,
...,
...,
user-information
[30] IMPLICIT Association-information OPTIONAL
}
RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
reason [0] IMPLICIT Release-request-reason OPTIONAL,
...,
...,
user-information [30] IMPLICIT Association-information OPTIONAL
}
RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
reason [0] IMPLICIT Release-response-reason OPTIONAL,
...,
...,
user-information [30] IMPLICIT Association-information OPTIONAL
}
ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
abort-source [0] IMPLICIT ABRT-source,
abort-diagnostic [1] IMPLICIT ABRT-diagnostic OPTIONAL,
-- This field shall not be present if only the Kernel is used.
...,
...,
user-information [30] IMPLICIT Association-information OPTIONAL
}
ABRT-diagnostic ::= ENUMERATED {
no-reason-given(1), protocol-error(2),
authentication-mechanism-name-not-recognized(3),
authentication-mechanism-name-required(4), authentication-failure(5),
authentication-required(6), ...
}
ABRT-source ::= INTEGER {acse-service-user(0), acse-service-provider(1)
}(0..1, ...)
ACSE-requirements ::= BIT STRING {
authentication(0), application-context-negotiation(1)}
Application-context-name-list ::= SEQUENCE OF Application-context-name
Application-context-name ::= OBJECT IDENTIFIER
-- Application-entity title productions follow (not in alphabetical order)
AP-title ::= CHOICE {
ap-title-form1 AP-title-form1,
ap-title-form2 AP-title-form2,
...
}
AE-qualifier ::= CHOICE {
ae-qualifier-form1 AE-qualifier-form1,
ae-qualifier-form2 AE-qualifier-form2,
...
}
-- When both AP-title and AE-qualifier data values are present in an AARQ or AARE APDU, both must
-- have the same form to allow the construction of an AE-title as discussed in CCITT Rec. X.665 |
-- ISO/IEC 9834-6.
AP-title-form1 ::=
Name
-- The value assigned to AP-title-form1 is The Directory Name of an application-process title.
AE-qualifier-form1 ::=
RelativeDistinguishedName
-- The value assigned to AE-qualifier-form1 is the relative distinguished name of a particular
-- application-entity of the application-process identified by AP-title-form1.
AP-title-form2 ::= OBJECT IDENTIFIER
AE-qualifier-form2 ::= INTEGER
AE-title ::= CHOICE {
ae-title-form1 AE-title-form1,
ae-title-form2 AE-title-form2,
...
}
-- As defined in CCITT Rec. X.650 | ISO 7498-3, an application-entity title is composed of an application-
-- process title and an application-entity qualifier. The ACSE protocol provides for the transfer of an
-- application-entity title value by the transfer of its component values. However, the following data type
-- is provided for International Standards that reference a single syntactic structure for AE titles.
AE-title-form1 ::=
Name
-- For access to The Directory (ITU-T Rec. X.500-Series | ISO/IEC 9594), an AE title has AE-title-form1.
-- This value can be constructed from AP-title-form1 and AE-qualifier-form1 values contained in an
-- AARQ or AARE APDU. A discussion of forming an AE-title-form1 from AP-title-form1 and AE-qualifier-
-- form1 may be found in CCITT Rec. X.665 | ISO/IEC 9834-6.
AE-title-form2 ::= OBJECT IDENTIFIER
-- A discussion of forming an AE-title-form2 from AP-title-form2 and AE-qualifier-form2 may be
-- found in CCITT Rec. X.665 | ISO/IEC 9834-6.
AE-invocation-identifier ::= INTEGER
AP-invocation-identifier ::= INTEGER
-- End of Application-entity title productions
Associate-result ::= INTEGER {
accepted(0), rejected-permanent(1), rejected-transient(2)}(0..2, ...)
Associate-source-diagnostic ::= CHOICE {
acse-service-user
[1] INTEGER {null(0), no-reason-given(1),
application-context-name-not-supported(2),
calling-AP-title-not-recognized(3),
calling-AP-invocation-identifier-not-recognized(4),
calling-AE-qualifier-not-recognized(5),
calling-AE-invocation-identifier-not-recognized(6),
called-AP-title-not-recognized(7),
called-AP-invocation-identifier-not-recognized(8),
called-AE-qualifier-not-recognized(9),
called-AE-invocation-identifier-not-recognized(10),
authentication-mechanism-name-not-recognized(11),
authentication-mechanism-name-required(12),
authentication-failure(13), authentication-required(14)}
(0..14, ...),
acse-service-provider
[2] INTEGER {null(0), no-reason-given(1), no-common-acse-version(2)}
(0..2, ...)
}
Association-information ::= SEQUENCE SIZE (1, ..., 0 | 2..MAX) OF EXTERNAL
Authentication-value ::= CHOICE {
charstring [0] IMPLICIT GraphicString,
bitstring [1] IMPLICIT BIT STRING,
external [2] IMPLICIT EXTERNAL,
other
[3] IMPLICIT SEQUENCE {other-mechanism-name
MECHANISM-NAME.&id({ObjectSet}),
other-mechanism-value
MECHANISM-NAME.&Type
({ObjectSet}{@.other-mechanism-name})}
}
-- The abstract syntax of (calling/responding) authentication-value is determined by the authentication
-- mechanism used during association establishment. The authentication mechanism is either explicitly
-- denoted by the &id field (of type OBJECT IDENTIFIER) for a mechanism belonging to the class
-- MECHANISM-NAME, or it is known implicitly by
-- prior agreement between the communicating partners. If the "other" component is chosen, then
-- the "mechanism-name" component must be present in accordance with
-- ITU-T Rec. X.680 | ISO/IEC 8824. If the value "mechanism-name" occurs in the AARQ-apdu or the
-- AARE-apdu, then that value must be the same as the value for "other-mechanism-name"
Implementation-data ::= GraphicString
Mechanism-name ::= OBJECT IDENTIFIER
MECHANISM-NAME ::= TYPE-IDENTIFIER
ObjectSet MECHANISM-NAME ::=
{...}
Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
}(0 | 1 | 30, ...)
Release-response-reason ::= INTEGER {
normal(0), not-finished(1), user-defined(30)}(0 | 1 | 30, ...)
END
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
|