-- ASN module extracted from ITU-T X.519 (10/2019)

IDMProtocolSpecification {joint-iso-itu-t ds(5) module(1) iDMProtocolSpecification(30) 9} DEFINITIONS ::= BEGIN -- EXPORTS All /* The types and values defined in this module are exported for use in the other ASN.1 modules contained within these Directory Specifications, and for the use of other applications which will use them to access Directory services. Other applications may use them for their own purposes, but this will not constrain extensions and modifications needed to maintain or improve the Directory service. */ IMPORTS -- from Rec. ITU-T X.509 | ISO/IEC 9594-8 GeneralName FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1) certificateExtensions(26) 9} WITH SUCCESSORS -- from Rec. ITU-T X.511 | ISO/IEC 9594-3 SecurityProblem, ServiceProblem, Versions FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1) directoryAbstractService(2) 9} WITH SUCCESSORS -- from Rec. ITU-T X.519 | ISO/IEC 9594-5 OPERATION FROM CommonProtocolSpecification {joint-iso-itu-t ds(5) module(1) commonProtocolSpecification(35) 9} WITH SUCCESSORS ; -- IDM protocol IDM-PDU{IDM-PROTOCOL:protocol} ::= CHOICE { bind [0] IdmBind{{protocol}}, bindResult [1] IdmBindResult{{protocol}}, bindError [2] IdmBindError{{protocol}}, request [3] Request{{protocol.&Operations}}, result [4] IdmResult{{protocol.&Operations}}, error [5] Error{{protocol.&Operations}}, reject [6] IdmReject, unbind [7] Unbind, abort [8] Abort, startTLS [9] StartTLS, tLSResponse [10] TLSResponse, ... } IdmBind{IDM-PROTOCOL:Protocols} ::= SEQUENCE { protocolID IDM-PROTOCOL.&id({Protocols}), callingAETitle [0] GeneralName OPTIONAL, calledAETitle [1] GeneralName OPTIONAL, argument [2] IDM-PROTOCOL.&bind-operation.&ArgumentType ({Protocols}{@protocolID}), ... } IdmBindResult{IDM-PROTOCOL:Protocols} ::= SEQUENCE { protocolID IDM-PROTOCOL.&id({Protocols}), respondingAETitle [0] GeneralName OPTIONAL, result [1] IDM-PROTOCOL.&bind-operation.&ResultType ({Protocols}{@protocolID}), ... } IdmBindError{IDM-PROTOCOL:Protocols} ::= SEQUENCE { protocolID IDM-PROTOCOL.&id({Protocols}), --errcode IDM-PROTOCOL.&bind-operation.&Errors.&errorCode OPTIONAL respondingAETitle [0] GeneralName OPTIONAL, aETitleError ENUMERATED { callingAETitleNotAccepted (0), calledAETitleNotRecognized (1), ...} OPTIONAL, error [1] IDM-PROTOCOL.&bind-operation.&Errors.&ParameterType ({Protocols}{@protocolID}), ... } Request{OPERATION:Operations} ::= SEQUENCE { invokeID INTEGER, opcode OPERATION.&operationCode({Operations}), argument OPERATION.&ArgumentType({Operations}{@opcode}), ... } IdmResult{OPERATION:Operations} ::= SEQUENCE { invokeID INTEGER, opcode OPERATION.&operationCode({Operations}), result OPERATION.&ResultType({Operations}{@opcode}), ... } Error{OPERATION:Operations} ::= SEQUENCE { invokeID INTEGER, errcode OPERATION.&Errors.&errorCode({Operations}), error OPERATION.&Errors.&ParameterType({Operations}{@errcode}), ... } IdmReject ::= SEQUENCE { invokeID INTEGER, reason ENUMERATED { mistypedPDU (0), duplicateInvokeIDRequest (1), unsupportedOperationRequest (2), unknownOperationRequest (3), mistypedArgumentRequest (4), resourceLimitationRequest (5), unknownInvokeIDResult (6), mistypedResultRequest (7), unknownInvokeIDError (8), unknownError (9), mistypedParameterError (10), unsupportedIdmVersion (11), unsuitableIdmVersion (12), invalidIdmVersion (13), ...}, ... } Unbind ::= NULL Abort ::= ENUMERATED { mistypedPDU (0), unboundRequest (1), invalidPDU (2), resourceLimitation (3), connectionFailed (4), invalidProtocol (5), reasonNotSpecified (6), ...} StartTLS ::= NULL TLSResponse ::= ENUMERATED { success (0), operationsError (1), protocolError (2), unavailable (3), ...} -- IDM-protocol information object class IDM-PROTOCOL ::= CLASS { &bind-operation OPERATION, &Operations OPERATION, &id OBJECT IDENTIFIER UNIQUE } WITH SYNTAX { BIND-OPERATION &bind-operation OPERATIONS &Operations ID &id } END -- IDMProtocolSpecification