ASN1 DEFINITIONS ::= BEGIN CP_type ::= SET { mode_selector [0] IMPLICIT Mode_selector, --x410_mode_parameters [1] IMPLICIT SET { -- COMPONENTS OF Reliable_Transfer_APDUs.RTORQapdu --} OPTIONAL, --- 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 -- , user_data User_data OPTIONAL } OPTIONAL -- Shall be used for normal mode only. -- Shall be the parameters of the CP PPDU. } CPA_PPDU ::= SET { mode_selector [0] IMPLICIT Mode_selector, --x410_mode_parameters [1] IMPLICIT SET { -- COMPONENTS OF Reliable_Transfer_APDUs.RTOACapdu --} OPTIONAL, --- 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 -- user_data User_data OPTIONAL } OPTIONAL -- Shall be used for normal mode only. } Responding_presentation_selector ::= Presentation_selector Presentation_context_definition_result_list ::= Result_list Result_list ::= 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 } Result ::= INTEGER { acceptance (0), user_rejection (1), provider_rejection (2) } Mode_selector ::= SET { mode_value [0] IMPLICIT INTEGER { x410_1984_mode (0), normal_mode (1) } } 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 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, -- 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. } Presentation_context_definition_list ::= Context_list Context_list ::= SEQUENCE OF SEQUENCE { presentation_context_identifier Presentation_context_identifier, abstract_syntax_name Abstract_syntax_name, transfer_syntax_name_list SEQUENCE OF Transfer_syntax_name } Presentation_context_identifier ::= INTEGER Abstract_syntax_name ::= OBJECT IDENTIFIER Transfer_syntax_name ::= OBJECT IDENTIFIER Protocol_version ::= BIT STRING { version_1 (0) } Calling_presentation_selector ::= Presentation_selector Called_presentation_selector ::= Presentation_selector Presentation_selector ::= OCTET STRING Default_context_name ::= SEQUENCE { abstract_syntax_name [0] IMPLICIT Abstract_syntax_name, transfer_syntax_name [1] IMPLICIT Transfer_syntax_name } Presentation_requirements ::= BIT STRING { context_management (0), restoration (1) } 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