You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iec61850bean/asn1/iso-acse-layer/iso-acse-layer.asn

273 lines
11 KiB
Groff

-- Module ACSE_1 (X.227:04/1995)
ASN1 {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;
-- 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
}
AARQ_apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
protocol_version [0] IMPLICIT BIT STRING OPTIONAL,
application_context_name [1] EXPLICIT OBJECT IDENTIFIER,
called_AP_title [2] AP_title OPTIONAL,
called_AE_qualifier [3] AE_qualifier OPTIONAL,
called_AP_invocation_identifier [4] EXPLICIT AP_invocation_identifier OPTIONAL,
called_AE_invocation_identifier [5] EXPLICIT 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 {
--changed by Stefan Feuerhahn
protocol_version [0] IMPLICIT BIT STRING OPTIONAL,
application_context_name [1] EXPLICIT OBJECT IDENTIFIER,
result [2] EXPLICIT Associate_result,
result_source_diagnostic [3] EXPLICIT Associate_source_diagnostic,
responding_AP_title [4] EXPLICIT AP_title OPTIONAL,
responding_AE_qualifier [5] EXPLICIT AE_qualifier OPTIONAL,
responding_AP_invocation_identifier [6] EXPLICIT AP_invocation_identifier OPTIONAL,
responding_AE_invocation_identifier [7] EXPLICIT 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)}
ACSE_requirements ::= BIT STRING {
authentication(0), application_context_negotiation(1)
}
Application_context_name_list ::= SEQUENCE OF Application_context_name
-- Application_context_name ::= CHOICE {
-- application_context_name OBJECT IDENTIFIER
-- }
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)}
Associate_source_diagnostic ::= CHOICE {
acse_service_user
[1] EXPLICIT 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)},
acse_service_provider
[2] EXPLICIT INTEGER {null(0), no_reason_given(1), no_common_acse_version(2)}
}
-- Association_information ::= SEQUENCE OF Association_information_item
Association_information ::= SEQUENCE OF Myexternal
Myexternal ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
{
direct_reference OBJECT IDENTIFIER OPTIONAL,
indirect_reference INTEGER OPTIONAL,
encoding CHOICE
{ single_ASN1_type [0] EXPLICIT ANY,
octet_aligned [1] IMPLICIT OCTET STRING,
arbitrary [2] IMPLICIT BIT STRING }
}
Myexternal2 ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
{
direct_reference OBJECT IDENTIFIER OPTIONAL,
indirect_reference INTEGER OPTIONAL,
encoding CHOICE
{ single_ASN1_type [0] EXPLICIT ANY,
octet_aligned [1] IMPLICIT OCTET STRING,
arbitrary [2] IMPLICIT BIT STRING }
}
--Association_information_item ::= [UNIVERSAL 8] IMPLICIT SEQUENCE {
-- direct_reference OBJECT IDENTIFIER OPTIONAL,
-- indirect_reference INTEGER OPTIONAL,
-- encoding CHOICE
-- {
-- single_ASN1_type [0] CHOICE {
-- single_ASN1_type ANY
-- },
-- octet_aligned [1] IMPLICIT OCTET STRING,
-- arbitrary [2] IMPLICIT BIT STRING
-- }
-- }
--is optional:
Authentication_value ::= CHOICE {
charstring [0] IMPLICIT GraphicString,
bitstring [1] IMPLICIT BIT STRING,
external [2] IMPLICIT Myexternal2
-- 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
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