-- ASN module extracted from ITU-T X.519 (10/2019)
OSIProtocolSpecification {joint-iso-itu-t ds(5) module(1) oSIProtocolSpecification(36) 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 the 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.501 | ISO/IEC 9594-2
Name, RelativeDistinguishedName
FROM InformationFramework
{joint-iso-itu-t ds(5) module(1) informationFramework(1) 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
InvokeId, OPERATION
FROM CommonProtocolSpecification
{joint-iso-itu-t ds(5) module(1) commonProtocolSpecification(35) 9} WITH SUCCESSORS
APPLICATION-CONTEXT
FROM DirectoryOSIProtocols
{joint-iso-itu-t ds(5) module(1) directoryOSIProtocols(37) 9} WITH SUCCESSORS ;
-- OSI protocol
OSI-PDU{APPLICATION-CONTEXT:protocol} ::= TYPE-IDENTIFIER.&Type (
OsiBind{{protocol}} |
OsiBindResult{{protocol}} |
OsiBindError{{protocol}} |
OsiOperation{{protocol.&Operations}} |
OsiUnbind |
PresentationAbort )
OsiBind{APPLICATION-CONTEXT:Protocols} ::= SET {
mode-selector [0] IMPLICIT SET {
mode-value [0] IMPLICIT INTEGER(1)},
normal-mode-parameters [2] IMPLICIT SEQUENCE {
protocol-version [0] IMPLICIT BIT STRING {version-1(0)}
DEFAULT {version-1},
calling-presentation-selector [1] IMPLICIT Presentation-selector OPTIONAL,
called-presentation-selector [2] IMPLICIT Presentation-selector OPTIONAL,
presentation-context-definition-list
[4] IMPLICIT Context-list,
user-data CHOICE {
fully-encoded-data [APPLICATION 1] IMPLICIT SEQUENCE SIZE (1) OF SEQUENCE {
transfer-syntax-name Transfer-syntax-name OPTIONAL,
presentation-context-identifier Presentation-context-identifier,
presentation-data-values CHOICE {
single-ASN1-type [0] ABSTRACT-SYNTAX.&Type
(AARQ-apdu{{Protocols}})}}}}}
Presentation-selector ::= OCTET STRING(SIZE (1..4, ..., 5..MAX))
Context-list ::= SEQUENCE SIZE (2) 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(1..127, ..., 128..MAX)
Abstract-syntax-name ::= OBJECT IDENTIFIER
Transfer-syntax-name ::= OBJECT IDENTIFIER
AARQ-apdu{APPLICATION-CONTEXT:Protocols} ::= [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] Name OPTIONAL,
called-AE-qualifier [3] RelativeDistinguishedName OPTIONAL,
called-AP-invocation-identifier [4] AP-invocation-identifier OPTIONAL,
called-AE-invocation-identifier [5] AE-invocation-identifier OPTIONAL,
calling-AP-title [6] Name OPTIONAL,
calling-AE-qualifier [7] RelativeDistinguishedName OPTIONAL,
calling-AP-invocation-identifier [8] AP-invocation-identifier OPTIONAL,
calling-AE-invocation-identifier [9] AE-invocation-identifier OPTIONAL,
implementation-information [29] IMPLICIT Implementation-data OPTIONAL,
user-information [30] IMPLICIT
Association-informationBind{{Protocols}}}
Association-informationBind{APPLICATION-CONTEXT:Protocols} ::=
SEQUENCE SIZE (1..MAX) OF
EXTERNAL
(WITH COMPONENTS {
identification (WITH COMPONENTS {..., syntax ABSENT}),
data-value-descriptor ABSENT,
data-value (CONTAINING TheOsiBind{{Protocols}})})
Application-context-name ::= OBJECT IDENTIFIER
AP-invocation-identifier ::= INTEGER
AE-invocation-identifier ::= INTEGER
Implementation-data ::= GraphicString
TheOsiBind{APPLICATION-CONTEXT:Protocols} ::=
[16] APPLICATION-CONTEXT.&bind-operation.&ArgumentType({Protocols})
OsiBindResult{APPLICATION-CONTEXT:Protocols} ::= SET {
mode-selector [0] IMPLICIT SET {mode-value [0] IMPLICIT INTEGER(1)},
normal-mode-parameters [2] IMPLICIT SEQUENCE {
protocol-version [0] IMPLICIT BIT STRING {version-1(0)}
DEFAULT {version-1},
responding-presentation-selector [3] IMPLICIT Presentation-selector OPTIONAL,
presentation-context-definition-result-list
[5] IMPLICIT SEQUENCE SIZE (2) OF SEQUENCE {
result [0] IMPLICIT Result(acceptance),
transfer-syntax-name [1] IMPLICIT Transfer-syntax-name },
user-data CHOICE {
fully-encoded-data [APPLICATION 1] IMPLICIT SEQUENCE SIZE(1) OF SEQUENCE {
transfer-syntax-name Transfer-syntax-name OPTIONAL,
presentation-context-identifier Presentation-context-identifier,
presentation-data-values CHOICE {
single-ASN1-type [0] ABSTRACT-SYNTAX.&Type(AARE-apdu{{Protocols}}
)}}}}}
Result ::= INTEGER {
acceptance (0),
user-rejection (1),
provider-rejection (2)}
AARE-apdu{APPLICATION-CONTEXT:Protocols} ::= [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(accepted),
result-source-diagnostic [3] Associate-source-diagnostic,
responding-AP-title [4] Name OPTIONAL,
responding-AE-qualifier [5] RelativeDistinguishedName OPTIONAL,
responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL,
responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL,
implementation-information [29] IMPLICIT Implementation-data OPTIONAL,
user-information [30] IMPLICIT
Association-informationBindRes{{Protocols}}}
Association-informationBindRes{APPLICATION-CONTEXT:Protocols} ::=
SEQUENCE SIZE (1) OF
EXTERNAL (
WITH COMPONENTS {
identification (WITH COMPONENTS {..., syntax ABSENT}),
data-value-descriptor ABSENT,
data-value (CONTAINING TheOsiBindRes{{Protocols}})})
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)}(0..10, ...),
acse-service-provider [2] INTEGER {
null (0),
no-reason-given (1),
no-common-acse-version (2)}(0..2, ...)}
TheOsiBindRes{APPLICATION-CONTEXT:Protocols} ::=
[17] APPLICATION-CONTEXT.&bind-operation.&ResultType({Protocols})
OsiBindError{APPLICATION-CONTEXT:Protocols} ::= CHOICE {
normal-mode-parameters SEQUENCE {
protocol-version [0] IMPLICIT BIT STRING {version-1(0)}
DEFAULT {version-1},
responding-presentation-selector
[3] IMPLICIT Presentation-selector OPTIONAL,
presentation-context-definition-result-list
[5] IMPLICIT Result-list OPTIONAL,
provider-reason [10] IMPLICIT Provider-reason OPTIONAL,
user-data CHOICE {
fully-encoded-data [APPLICATION 1] IMPLICIT SEQUENCE SIZE (1) OF SEQUENCE {
transfer-syntax-name Transfer-syntax-name OPTIONAL,
presentation-context-identifier Presentation-context-identifier,
presentation-data-values CHOICE {
single-ASN1-type [0]
ABSTRACT-SYNTAX.&Type(AAREerr-apdu{{Protocols}})}}} OPTIONAL}}
Result-list ::=
SEQUENCE SIZE (2) 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)} OPTIONAL}
Provider-reason ::= INTEGER {
reason-not-specified (0),
temporary-congestion (1),
local-limit-exceeded (2),
called-presentation-address-unknown (3),
protocol-version-not-supported (4),
default-context-not-supported (5),
user-data-not-readable (6),
no-PSAP-available (7)}
AAREerr-apdu{APPLICATION-CONTEXT:Protocols} ::= [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
(rejected-permanent..rejected-transient),
result-source-diagnostic [3] Associate-source-diagnostic,
responding-AP-title [4] Name OPTIONAL,
responding-AE-qualifier [5] RelativeDistinguishedName OPTIONAL,
responding-AP-invocation-identifier [6] AP-invocation-identifier OPTIONAL,
responding-AE-invocation-identifier [7] AE-invocation-identifier OPTIONAL,
implementation-information [29] IMPLICIT Implementation-data OPTIONAL,
user-information [30] IMPLICIT
Association-informationBindErr{{Protocols}} OPTIONAL }
Association-informationBindErr{APPLICATION-CONTEXT:Protocols} ::=
SEQUENCE SIZE (1) OF
EXTERNAL (
WITH COMPONENTS {
identification (WITH COMPONENTS {..., syntax ABSENT}),
data-value-descriptor ABSENT,
data-value (CONTAINING TheOsiBindErr{{Protocols}})})
TheOsiBindErr{APPLICATION-CONTEXT:Protocols} ::=
[18] APPLICATION-CONTEXT.&bind-operation.&Errors.&ParameterType ({Protocols})
OsiUnbind ::= CHOICE {
fully-encoded-data
[APPLICATION 1] IMPLICIT SEQUENCE SIZE (1) OF SEQUENCE {
presentation-context-identifier Presentation-context-identifier,
presentation-data-values CHOICE {
single-ASN1-type [0] ABSTRACT-SYNTAX.&Type(TheOsiUnbind)}}}
TheOsiUnbind ::= [APPLICATION 2] IMPLICIT SEQUENCE {
reason [0] IMPLICIT Release-request-reason OPTIONAL}
Release-request-reason ::= INTEGER {normal(0)}
OsiUnbindResult ::= CHOICE {
fully-encoded-data [APPLICATION 1] IMPLICIT SEQUENCE SIZE (1) OF SEQUENCE {
presentation-context-identifier Presentation-context-identifier,
presentation-data-values CHOICE {
single-ASN1-type [0] ABSTRACT-SYNTAX.&Type(TheOsiUnbindRes)}}}
TheOsiUnbindRes ::= [APPLICATION 3] IMPLICIT SEQUENCE {
reason [0] IMPLICIT Release-response-reason OPTIONAL }
Release-response-reason ::= INTEGER {normal(0)}
OsiOperation{OPERATION:Operations} ::= CHOICE {
fully-encoded-data [APPLICATION 1] IMPLICIT SEQUENCE SIZE (1) OF SEQUENCE {
presentation-context-identifier Presentation-context-identifier,
presentation-data-values CHOICE {
single-ASN1-type [0]
ABSTRACT-SYNTAX.&Type(OsiDirectoryOperation {{Operations}})}}}
OsiDirectoryOperation{OPERATION:Operations} ::= CHOICE {
request OsiReq{{Operations}},
result OsiRes{{Operations}},
error OsiErr{{Operations}},
reject OsiRej}
OsiReq{OPERATION:Operations} ::= [1] IMPLICIT SEQUENCE {
invokeId InvokeId,
opcode OPERATION.&operationCode({Operations}),
argument OPERATION.&ArgumentType({Operations}{@opcode}) }
OsiRes{OPERATION:Operations} ::= [2] IMPLICIT SEQUENCE {
invokeId InvokeId,
result SEQUENCE {
opcode OPERATION.&operationCode({Operations}),
result OPERATION.&ResultType({Operations}{@.opcode}) }}
OsiErr{OPERATION:Operations} ::= [3] IMPLICIT SEQUENCE {
invokeID InvokeId,
errcode OPERATION.&Errors.&errorCode({Operations}),
error OPERATION.&Errors.&ParameterType({Operations}{@.errcode}) }
OsiRej ::= [4] IMPLICIT SEQUENCE {
invokeId InvokeId,
problem CHOICE {
general [0] IMPLICIT GeneralProblem,
invoke [1] IMPLICIT InvokeProblem,
returnResult [2] IMPLICIT ReturnResultProblem,
returnError [3] IMPLICIT ReturnErrorProblem,
... },
... }
GeneralProblem ::= INTEGER {
unrecognizedPDU (0),
mistypedPDU (1),
badlyStructuredPDU (2) }
InvokeProblem ::= INTEGER {
duplicateInvocation (0),
unrecognizedOperation (1),
mistypedArgument (2),
resourceLimitation (3),
releaseInProgress (4)}
ReturnResultProblem ::= INTEGER {
unrecognizedInvocation (0),
resultResponseUnexpected (1),
mistypedResult (2)}
ReturnErrorProblem ::= INTEGER {
unrecognizedInvocation (0),
errorResponseUnexpected (1),
unrecognizedError (2),
unexpectedError (3),
mistypedParameter (4)}
PresentationAbort ::= CHOICE {
aru-ppdu ARU-PPDU,
arp-ppdu ARP-PPDU }
ARU-PPDU ::= CHOICE {
normal-mode-parameters [0] IMPLICIT SEQUENCE {
presentation-context-identifier-list
[0] IMPLICIT Presentation-context-identifier-list,
user-data CHOICE {
fully-encoded-data [APPLICATION 1] IMPLICIT SEQUENCE SIZE(1..MAX) OF SEQUENCE {
presentation-context-identifier Presentation-context-identifier,
presentation-data-values CHOICE {
single-ASN1-type [0] ABSTRACT-SYNTAX.&Type(ABRT-apdu)}}}}}
Presentation-context-identifier-list ::= SEQUENCE SIZE (1) OF SEQUENCE {
presentation-context-identifier Presentation-context-identifier,
transfer-syntax-name Transfer-syntax-name}
ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
abort-source [0] IMPLICIT ABRT-source }
ABRT-source ::= INTEGER {
acse-service-user (0),
acse-service-provider (1) }
ARP-PPDU ::= SEQUENCE {
provider-reason [0] IMPLICIT Abort-reason OPTIONAL,
event-identifier [1] IMPLICIT Event-identifier OPTIONAL }
Abort-reason ::= INTEGER {
reason-not-specified (0),
unrecognized-ppdu (1),
unexpected-ppdu (2),
unexpected-session-service-primitive (3),
unrecognized-ppdu-parameter (4),
unexpected-ppdu-parameter (5),
invalid-ppdu-parameter-value (6)}
Event-identifier ::= INTEGER {
cp-PPDU (0),
cpa-PPDU (1),
cpr-PPDU (2),
aru-PPDU (3),
arp-PPDU (4),
td-PPDU (7),
s-release-indication (14),
s-release-confirm (15) }
END -- OSIProtocolSpecification