380 lines
16 KiB
Groff
380 lines
16 KiB
Groff
OSIProtocolSpecification {joint-iso-itu-t ds(5) module(1) oSIProtocolSpecification(36) 8}
|
|
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
|
|
|
|
commonProtocolSpecification, directoryAbstractService, directoryOSIProtocols,
|
|
enhancedSecurity, informationFramework
|
|
FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 8}
|
|
|
|
Name, RelativeDistinguishedName
|
|
FROM InformationFramework informationFramework
|
|
|
|
-- from Rec. ITU-T X.511 | ISO/IEC 9594-3
|
|
|
|
SecurityProblem, ServiceProblem, Versions
|
|
FROM DirectoryAbstractService directoryAbstractService
|
|
|
|
-- from Rec. ITU-T X.519 | ISO/IEC 9594-5
|
|
|
|
InvokeId, OPERATION
|
|
FROM CommonProtocolSpecification commonProtocolSpecification
|
|
|
|
APPLICATION-CONTEXT
|
|
FROM DirectoryOSIProtocols directoryOSIProtocols;
|
|
|
|
-- 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 |