forked from osmocom/wireshark
eec311ef39
svn path=/trunk/; revision=50396
436 lines
17 KiB
Groff
436 lines
17 KiB
Groff
-- ACSE definition from
|
|
-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x227bis/1998/ACSE-1.html
|
|
-- and modified to pass through asn2wrs
|
|
--
|
|
--
|
|
-- Module ACSE-1 (X.227bis:09/1998)
|
|
ACSE-1 {joint-iso-itu-t association-control(2) modules(0) acse1(1) version1(1)}
|
|
-- ACSE-1 refers to ACSE version 1
|
|
DEFINITIONS ::=
|
|
BEGIN
|
|
|
|
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
|
|
-- ITU-T Rec. X.501 | ISO/IEC 9594-2.
|
|
|
|
|
|
-- Workaround for bug in asn2wrs in the .cnf file
|
|
-- to handle the lack of support for tagged assignments.
|
|
-- remove that workaround once asn2wrs learns how to handle
|
|
-- tagged assignments.
|
|
EXTERNALt ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
|
|
{
|
|
direct-reference OBJECT IDENTIFIER OPTIONAL,
|
|
indirect-reference INTEGER OPTIONAL,
|
|
data-value-descriptor ObjectDescriptor OPTIONAL,
|
|
encoding CHOICE
|
|
{single-ASN1-type [0] ANY,
|
|
octet-aligned [1] IMPLICIT OCTET STRING,
|
|
arbitrary [2] IMPLICIT BIT STRING}
|
|
}
|
|
|
|
-- 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 {
|
|
--asn2wrs bug
|
|
-- aarq AARQ-apdu,
|
|
aarq [APPLICATION 0] IMPLICIT AARQ-apdu,
|
|
--asn2wrs bug
|
|
-- aare AARE-apdu,
|
|
aare [APPLICATION 1] IMPLICIT AARE-apdu,
|
|
--asn2wrs bug
|
|
-- rlrq RLRQ-apdu,
|
|
rlrq [APPLICATION 2] IMPLICIT RLRQ-apdu,
|
|
--asn2wrs bug
|
|
-- rlre RLRE-apdu,
|
|
rlre [APPLICATION 3] IMPLICIT RLRE-apdu,
|
|
--asn2wrs bug
|
|
-- abrt ABRT-apdu,
|
|
abrt [APPLICATION 4] IMPLICIT ABRT-apdu,
|
|
...,
|
|
-- Extensions for higher level association FU
|
|
--asn2wrs bug
|
|
-- adt A-DT-apdu,
|
|
adt [APPLICATION 5] IMPLICIT A-DT-apdu,
|
|
--asn2wrs bug
|
|
-- acrq ACRQ-apdu,
|
|
acrq [APPLICATION 6] IMPLICIT ACRQ-apdu,
|
|
--asn2wrs bug
|
|
-- acrp ACRP-apdu
|
|
acrp [APPLICATION 7] IMPLICIT ACRP-apdu
|
|
}
|
|
|
|
AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
|
|
protocol-version
|
|
[0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
|
|
aSO-context-name [1] ASO-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,
|
|
aSO-context-name-list
|
|
[13] IMPLICIT ASO-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,
|
|
...,
|
|
-- Extensions for higher level association FU
|
|
p-context-definition-list [14] Syntactic-context-list OPTIONAL,
|
|
called-asoi-tag [15] IMPLICIT ASOI-tag OPTIONAL,
|
|
calling-asoi-tag [16] IMPLICIT ASOI-tag OPTIONAL,
|
|
-- End of extensions for higher level association FU
|
|
-- ...,
|
|
user-information [30] IMPLICIT Association-data OPTIONAL
|
|
}
|
|
|
|
AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
|
|
protocol-version
|
|
[0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1},
|
|
aSO-context-name [1] ASO-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,
|
|
aSO-context-name-list
|
|
[11] IMPLICIT ASO-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,
|
|
...,
|
|
-- Extensions for higher level association FU
|
|
p-context-result-list
|
|
[12] IMPLICIT P-context-result-list OPTIONAL,
|
|
called-asoi-tag [13] IMPLICIT ASOI-tag OPTIONAL,
|
|
calling-asoi-tag [14] IMPLICIT ASOI-tag OPTIONAL,
|
|
-- End of extensions for higher level association FU
|
|
-- ...,
|
|
user-information [30] IMPLICIT Association-data OPTIONAL
|
|
}
|
|
|
|
RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
|
|
reason [0] IMPLICIT Release-request-reason OPTIONAL,
|
|
...,
|
|
-- Extensions for higher level association FU
|
|
aso-qualifier [13] ASO-qualifier OPTIONAL,
|
|
asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL,
|
|
-- End of extensions for higher level association FU
|
|
-- ...,
|
|
user-information [30] IMPLICIT Association-data OPTIONAL
|
|
}
|
|
|
|
RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
|
|
reason [0] IMPLICIT Release-response-reason OPTIONAL,
|
|
...,
|
|
-- Extensions for higher level association FU
|
|
aso-qualifier [13] ASO-qualifier OPTIONAL,
|
|
asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL,
|
|
-- End of extensions for higher level association FU
|
|
-- ...,
|
|
user-information [30] IMPLICIT Association-data 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.
|
|
...,
|
|
-- Extensions for higher level association FU
|
|
aso-qualifier [13] ASO-qualifier OPTIONAL,
|
|
asoi-identifier [14] IMPLICIT ASOI-identifier OPTIONAL,
|
|
-- End of extensions for higher level association FU
|
|
-- ...,
|
|
user-information [30] IMPLICIT Association-data OPTIONAL
|
|
}
|
|
|
|
A-DT-apdu ::= [APPLICATION 5] IMPLICIT SEQUENCE {
|
|
aso-qualifier [0] ASO-qualifier OPTIONAL,
|
|
asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL,
|
|
...,
|
|
-- ...,
|
|
a-user-data [30] User-Data
|
|
}
|
|
|
|
ACRQ-apdu ::= [APPLICATION 6] IMPLICIT SEQUENCE {
|
|
aso-qualifier [0] ASO-qualifier OPTIONAL,
|
|
asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL,
|
|
aSO-context-name [3] IMPLICIT ASO-context-name OPTIONAL,
|
|
aSO-context-name-list [4] IMPLICIT ASO-context-name-list OPTIONAL,
|
|
p-context-definition-list [5] Syntactic-context-list OPTIONAL,
|
|
...,
|
|
-- ...,
|
|
user-information [30] IMPLICIT User-information OPTIONAL
|
|
}
|
|
|
|
ACRP-apdu ::= [APPLICATION 7] IMPLICIT SEQUENCE {
|
|
aso-qualifier [0] ASO-qualifier OPTIONAL,
|
|
asoi-identifier [1] IMPLICIT ASOI-identifier OPTIONAL,
|
|
-- originally defined as ASO-context-name-list, but this has to be wrong
|
|
-- aSO-context-name [3] IMPLICIT ASO-context-name-list OPTIONAL,
|
|
aSO-context-name [3] IMPLICIT ASO-context-name OPTIONAL,
|
|
p-context-result-list [4] IMPLICIT P-context-result-list OPTIONAL,
|
|
...,
|
|
-- ...,
|
|
user-information [30] IMPLICIT User-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 {service-user(0), service-provider(1)
|
|
}(0..1, ...)
|
|
|
|
ACSE-requirements ::= BIT STRING {
|
|
authentication(0), aSO-context-negotiation(1), higher-level-association(2),
|
|
nested-association(3)}
|
|
|
|
Application-context-name ::= ASO-context-name
|
|
|
|
ASO-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,
|
|
...,
|
|
ap-title-form3 AP-title-form3
|
|
}
|
|
|
|
AE-qualifier ::= ASO-qualifier
|
|
|
|
ASO-qualifier ::= CHOICE {
|
|
aso-qualifier-form1 ASO-qualifier-form1,
|
|
aso-qualifier-form2 ASO-qualifier-form2,
|
|
...,
|
|
aso-qualifier-form3 ASO-qualifier-form3,
|
|
-- an alternative used by some systems from the days when ASO-qualifier
|
|
-- was an ANY
|
|
aso-qualifier-form-any-octets ASO-qualifier-form-octets
|
|
}
|
|
|
|
-- 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 itu-t 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.
|
|
ASO-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
|
|
|
|
ASO-qualifier-form2 ::= INTEGER
|
|
|
|
AP-title-form3 ::= PrintableString
|
|
|
|
ASO-qualifier-form3 ::= PrintableString
|
|
|
|
ASO-qualifier-form-octets ::= OCTET STRING
|
|
|
|
AE-title ::= CHOICE {
|
|
ae-title-form1 AE-title-form1,
|
|
ae-title-form2 AE-title-form2,
|
|
...
|
|
}
|
|
|
|
-- As defined in ITU-T Rec. X.650 | ISO/IEC 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 (see 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 itu-t
|
|
-- 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
|
|
-- itu-t Rec. X.665 | ISO/IEC 9834-6.
|
|
AE-invocation-identifier ::= INTEGER
|
|
|
|
AP-invocation-identifier ::= INTEGER
|
|
|
|
ASOI-identifier ::= INTEGER(1..128, ...)
|
|
|
|
ASOI-tag ::=
|
|
SEQUENCE SIZE (0..7, ...) OF
|
|
SEQUENCE {qualifier [0] ASO-qualifier OPTIONAL,
|
|
identifier [1] ASOI-identifier OPTIONAL}
|
|
|
|
-- End of Application-entity title productions
|
|
ASO-context-name-list ::= SEQUENCE OF ASO-context-name
|
|
|
|
Syntactic-context-list ::= CHOICE {
|
|
context-list [0] Context-list,
|
|
default-contact-list [1] Default-Context-List
|
|
}
|
|
|
|
Context-list ::=
|
|
SEQUENCE OF
|
|
SEQUENCE {pci Presentation-context-identifier,
|
|
abstract-syntax Abstract-syntax-name,
|
|
-- bug in asn2wrs
|
|
-- transfer-syntaxes SEQUENCE OF Transfer-syntax-name}
|
|
transfer-syntaxes SEQUENCE OF TransferSyntaxName}
|
|
|
|
Default-Context-List ::=
|
|
SEQUENCE OF
|
|
SEQUENCE {abstract-syntax-name [0] IMPLICIT Abstract-syntax-name OPTIONAL,
|
|
-- bug in asn2wrs
|
|
-- transfer-syntax-name [1] IMPLICIT Transfer-syntax-name
|
|
transfer-syntax-name [1] IMPLICIT TransferSyntaxName
|
|
}
|
|
|
|
Abstract-syntax-name ::= OBJECT IDENTIFIER
|
|
|
|
P-context-result-list ::=
|
|
SEQUENCE OF
|
|
SEQUENCE {result [0] IMPLICIT Result,
|
|
concrete-syntax-name [1] IMPLICIT Concrete-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
|
|
}
|
|
|
|
Result ::= INTEGER {acceptance(0), user-rejection(1), provider-rejection(2)}
|
|
|
|
--bug in asn2wrs
|
|
--Concrete-syntax-name ::= Transfer-syntax-name
|
|
Concrete-syntax-name ::= TransferSyntaxName
|
|
|
|
--bug in asn2wrs
|
|
--Transfer-syntax-name ::= OBJECT IDENTIFIER
|
|
TransferSyntaxName ::= OBJECT IDENTIFIER
|
|
|
|
Associate-result ::= INTEGER {
|
|
accepted(0), rejected-permanent(1), rejected-transient(2)}(0..2, ...)
|
|
|
|
Associate-source-diagnostic ::= CHOICE {
|
|
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, ...),
|
|
service-provider
|
|
[2] INTEGER {null(0), no-reason-given(1), no-common-acse-version(2)}
|
|
(0..2, ...)
|
|
}
|
|
|
|
User-information ::= Association-data
|
|
|
|
Association-data ::= SEQUENCE OF EXTERNALt
|
|
|
|
Simply-encoded-data ::= OCTET STRING
|
|
|
|
User-Data ::= CHOICE {
|
|
user-information User-information,
|
|
simply-encoded-data Simply-encoded-data,
|
|
fully-encoded-data [0] PDV-list
|
|
}
|
|
|
|
-- see ITU-T Rec. X.226 | ISO/IEC 8823-1.
|
|
PDV-list ::= SEQUENCE {
|
|
--bug in asn2wrs
|
|
-- transfer-syntax-name Transfer-syntax-name OPTIONAL,
|
|
transfer-syntax-name TransferSyntaxName OPTIONAL,
|
|
presentation-context-identifier Presentation-context-identifier,
|
|
presentation-data-values
|
|
CHOICE {simple-ASN1-type
|
|
[0] ANY
|
|
(CONSTRAINED BY {
|
|
|
|
-- Type corresponding to presentation context identifier
|
|
}),
|
|
octet-aligned [1] IMPLICIT OCTET STRING,
|
|
arbitrary [2] IMPLICIT BIT STRING}
|
|
-- see ITU-T Rec. X.226 | ISO/IEC 8823-1.
|
|
}
|
|
|
|
Presentation-context-identifier ::= INTEGER
|
|
|
|
Authentication-value-other ::= SEQUENCE {
|
|
other-mechanism-name OBJECT IDENTIFIER,
|
|
other-mechanism-value ANY
|
|
}
|
|
|
|
Authentication-value ::= CHOICE {
|
|
charstring [0] IMPLICIT GraphicString,
|
|
bitstring [1] IMPLICIT BIT STRING,
|
|
external [2] IMPLICIT EXTERNALt,
|
|
other
|
|
[3] IMPLICIT Authentication-value-other
|
|
}
|
|
|
|
-- 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-1. 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
|
|
|
|
Release-request-reason ::= INTEGER {normal(0), urgent(1), user-defined(30)
|
|
}
|
|
|
|
Release-response-reason ::= INTEGER {
|
|
normal(0), not-finished(1), user-defined(30)}
|
|
|
|
END
|
|
|
|
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
|
|
|