1-- Module OperationalBindingManagement (X.501:08/1997)
2OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
3  opBindingManagement(18) 3} DEFINITIONS ::=
4BEGIN
5
6-- EXPORTS All
7-- The types and values defined in this module are exported for use in the other ASN.1 modules contained
8-- within the Directory Specifications, and for the use of other applications which will use them to access
9-- Directory services. Other applications may use them for their own purposes, but this will not constrain
10-- extensions and modifications needed to maintain or improve the Directory service.
11IMPORTS
12  directoryShadowAbstractService, hierarchicalOperationalBindings, dop,
13    directoryAbstractService, distributedOperations, enhancedSecurity
14    FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
15      usefulDefinitions(0) 3}
16  shadowOperationalBinding
17    FROM DirectoryShadowAbstractService directoryShadowAbstractService
18  hierarchicalOperationalBinding, nonSpecificHierarchicalOperationalBinding
19    FROM HierarchicalOperationalBindings hierarchicalOperationalBindings
20  OPERATION, ERROR
21    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
22      remote-operations(4) informationObjects(5) version1(0)}
23  APPLICATION-CONTEXT
24    FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
25      remote-operations(4) informationObjects-extensions(8) version1(0)}
26  id-op-establishOperationalBinding, id-op-modifyOperationalBinding,
27    id-op-terminateOperationalBinding, id-err-operationalBindingError
28    FROM DirectoryOperationalBindingManagementProtocol dop
29  directoryBind, directoryUnbind, securityError, CommonResultsSeq,
30    SecurityParameters
31    FROM DirectoryAbstractService directoryAbstractService
32  OPTIONALLY-PROTECTED-SEQ{}
33    FROM EnhancedSecurity enhancedSecurity
34  AccessPoint
35    FROM DistributedOperations distributedOperations;
36
37--PROTECTED
38--	FROM Notation { joint-iso-ccitt genericULS (20) modules (1) notation (1) }
39-- bind and unbind
40dSAOperationalBindingManagementBind OPERATION ::=
41  directoryBind
42
43dSAOperationalBindingManagementUnbind OPERATION ::= directoryUnbind
44
45-- operations, arguments and results
46establishOperationalBinding OPERATION ::= {
47  ARGUMENT  EstablishOperationalBindingArgument
48  RESULT    EstablishOperationalBindingResult
49  ERRORS    {operationalBindingError | securityError}
50  CODE      id-op-establishOperationalBinding
51}
52
53EstablishOperationalBindingArgument ::=
54  OPTIONALLY-PROTECTED-SEQ
55    {SEQUENCE {bindingType         [0]  OPERATIONAL-BINDING.&id({OpBindingSet}),
56               bindingID           [1]  OperationalBindingID OPTIONAL,
57               accessPoint         [2]  AccessPoint,
58               -- symmetric, Role A initiates, or Role B initiates -
59               initiator
60                 CHOICE {symmetric
61                           [3]  OPERATIONAL-BINDING.&both.&EstablishParam
62                                  ({OpBindingSet}{@bindingType}),
63                         roleA-initiates
64                           [4]  OPERATIONAL-BINDING.&roleA.&EstablishParam
65                                  ({OpBindingSet}{@bindingType}),
66                         roleB-initiates
67                           [5]  OPERATIONAL-BINDING.&roleB.&EstablishParam
68                                  ({OpBindingSet}{@bindingType})} OPTIONAL,
69               agreement
70                 [6]  OPERATIONAL-BINDING.&Agreement
71                        ({OpBindingSet}{@bindingType}),
72               valid               [7]  Validity DEFAULT {},
73               securityParameters  [8]  SecurityParameters OPTIONAL}}
74
75OperationalBindingID ::= SEQUENCE {identifier  INTEGER,
76                                   version     INTEGER
77}
78
79Validity ::= SEQUENCE {
80  validFrom   [0]  CHOICE {now   [0]  NULL,
81                           time  [1]  Time} DEFAULT now:NULL,
82  validUntil
83    [1]  CHOICE {explicitTermination  [0]  NULL,
84                 time                 [1]  Time
85  } DEFAULT explicitTermination:NULL
86}
87
88Time ::= CHOICE {utcTime          UTCTime,
89                 generalizedTime  GeneralizedTime
90}
91
92EstablishOperationalBindingResult ::=
93  OPTIONALLY-PROTECTED-SEQ
94    {SEQUENCE {bindingType  [0]  OPERATIONAL-BINDING.&id({OpBindingSet}),
95               bindingID    [1]  OperationalBindingID OPTIONAL,
96               accessPoint  [2]  AccessPoint,
97               -- symmetric, Role A replies , or Role B replies
98               initiator
99                 CHOICE {symmetric
100                           [3]  OPERATIONAL-BINDING.&both.&EstablishParam
101                                  ({OpBindingSet}{@bindingType}),
102                         roleA-replies
103                           [4]  OPERATIONAL-BINDING.&roleA.&EstablishParam
104                                  ({OpBindingSet}{@bindingType}),
105                         roleB-replies
106                           [5]  OPERATIONAL-BINDING.&roleB.&EstablishParam
107                                  ({OpBindingSet}{@bindingType})} OPTIONAL,
108               COMPONENTS OF CommonResultsSeq}}
109
110modifyOperationalBinding OPERATION ::= {
111  ARGUMENT  ModifyOperationalBindingArgument
112  RESULT    ModifyOperationalBindingResult
113  ERRORS    {operationalBindingError | securityError}
114  CODE      id-op-modifyOperationalBinding
115}
116
117ModifyOperationalBindingArgument ::=
118  OPTIONALLY-PROTECTED-SEQ
119    {SEQUENCE {bindingType         [0]  OPERATIONAL-BINDING.&id({OpBindingSet}),
120               bindingID           [1]  OperationalBindingID,
121               accessPoint         [2]  AccessPoint OPTIONAL,
122               -- symmetric, Role A initiates, or Role B initiates
123               initiator
124                 CHOICE {symmetric
125                           [3]  OPERATIONAL-BINDING.&both.&ModifyParam
126                                  ({OpBindingSet}{@bindingType}),
127                         roleA-initiates
128                           [4]  OPERATIONAL-BINDING.&roleA.&ModifyParam
129                                  ({OpBindingSet}{@bindingType}),
130                         roleB-initiates
131                           [5]  OPERATIONAL-BINDING.&roleB.&ModifyParam
132                                  ({OpBindingSet}{@bindingType})} OPTIONAL,
133               newBindingID        [6]  OperationalBindingID,
134               newAgreement
135                 [7]  OPERATIONAL-BINDING.&Agreement
136                        ({OpBindingSet}{@bindingType}) OPTIONAL,
137               valid               [8]  Validity OPTIONAL,
138               securityParameters  [9]  SecurityParameters OPTIONAL}}
139
140ModifyOperationalBindingResult ::= CHOICE {
141  null       [0]  NULL,
142  protected
143    [1]  OPTIONALLY-PROTECTED-SEQ{SEQUENCE {newBindingID  OperationalBindingID,
144                                            bindingType
145                                              OPERATIONAL-BINDING.&id
146                                                ({OpBindingSet}),
147                                            newAgreement
148                                              OPERATIONAL-BINDING.&Agreement
149                                                ({OpBindingSet}{@bindingType}),
150                                            valid         Validity OPTIONAL,
151                                            COMPONENTS OF CommonResultsSeq
152           }}
153}
154
155terminateOperationalBinding OPERATION ::= {
156  ARGUMENT  TerminateOperationalBindingArgument
157  RESULT    TerminateOperationalBindingResult
158  ERRORS    {operationalBindingError | securityError}
159  CODE      id-op-terminateOperationalBinding
160}
161
162TerminateOperationalBindingArgument ::=
163  OPTIONALLY-PROTECTED-SEQ
164    {SEQUENCE {bindingType         [0]  OPERATIONAL-BINDING.&id({OpBindingSet}),
165               bindingID           [1]  OperationalBindingID,
166               -- symmetric, Role A initiates, or Role B initiates
167               initiator
168                 CHOICE {symmetric
169                           [2]  OPERATIONAL-BINDING.&both.&TerminateParam
170                                  ({OpBindingSet}{@bindingType}),
171                         roleA-initiates
172                           [3]  OPERATIONAL-BINDING.&roleA.&TerminateParam
173                                  ({OpBindingSet}{@bindingType}),
174                         roleB-initiates
175                           [4]  OPERATIONAL-BINDING.&roleB.&TerminateParam
176                                  ({OpBindingSet}{@bindingType})} OPTIONAL,
177               terminateAt         [5]  Time OPTIONAL,
178               securityParameters  [6]  SecurityParameters OPTIONAL}}
179
180TerminateOperationalBindingResult ::= CHOICE {
181  null       [0]  NULL,
182  protected
183    [1]  OPTIONALLY-PROTECTED-SEQ{SEQUENCE {bindingID    OperationalBindingID,
184                                            bindingType
185                                              OPERATIONAL-BINDING.&id
186                                                ({OpBindingSet}),
187                                            terminateAt
188                                              GeneralizedTime OPTIONAL,
189                                            COMPONENTS OF CommonResultsSeq
190           }}
191}
192
193-- errors and parameters
194operationalBindingError ERROR ::= {
195  PARAMETER OPTIONALLY-PROTECTED-SEQ  {OpBindingErrorParam}
196  CODE                                id-err-operationalBindingError
197}
198
199OpBindingErrorParam ::= SEQUENCE {
200  problem
201    [0]  ENUMERATED {invalidID(0), duplicateID(1), unsupportedBindingType(2),
202                     notAllowedForRole(3), parametersMissing(4),
203                     roleAssignment(5), invalidStartTime(6), invalidEndTime(7),
204                     invalidAgreement(8), currentlyNotDecidable(9),
205                     modificationNotAllowed(10)},
206  bindingType        [1]  OPERATIONAL-BINDING.&id({OpBindingSet}) OPTIONAL,
207  agreementProposal
208    [2]  OPERATIONAL-BINDING.&Agreement({OpBindingSet}{@bindingType}) OPTIONAL,
209  retryAt            [3]  Time OPTIONAL,
210  COMPONENTS OF CommonResultsSeq
211}
212
213-- information object classes
214OPERATIONAL-BINDING ::= CLASS {
215  &Agreement    ,
216  &Cooperation  OP-BINDING-COOP,
217  &both         OP-BIND-ROLE OPTIONAL,
218  &roleA        OP-BIND-ROLE OPTIONAL,
219  &roleB        OP-BIND-ROLE OPTIONAL,
220  &id           OBJECT IDENTIFIER UNIQUE
221}
222WITH SYNTAX {
223  AGREEMENT &Agreement
224  APPLICATION CONTEXTS &Cooperation
225  [SYMMETRIC &both]
226  [ASYMMETRIC
227   [ROLE-A &roleA]
228   [ROLE-B &roleB]]
229  ID &id
230}
231
232OP-BINDING-COOP ::= CLASS {
233  &applContext  APPLICATION-CONTEXT,
234  &Operations   OPERATION OPTIONAL
235}WITH SYNTAX {&applContext
236              [APPLIES TO &Operations]
237}
238
239OP-BIND-ROLE ::= CLASS {
240  &establish       BOOLEAN DEFAULT FALSE,
241  &EstablishParam  OPTIONAL,
242  &modify          BOOLEAN DEFAULT FALSE,
243  &ModifyParam     OPTIONAL,
244  &terminate       BOOLEAN DEFAULT FALSE,
245  &TerminateParam  OPTIONAL
246}
247WITH SYNTAX {
248  [ESTABLISHMENT-INITIATOR &establish]
249  [ESTABLISHMENT-PARAMETER &EstablishParam]
250  [MODIFICATION-INITIATOR &modify]
251  [MODIFICATION-PARAMETER &ModifyParam]
252  [TERMINATION-INITIATOR &terminate]
253  [TERMINATION-PARAMETER &TerminateParam]
254}
255
256OpBindingSet OPERATIONAL-BINDING ::=
257  {shadowOperationalBinding | hierarchicalOperationalBinding |
258   nonSpecificHierarchicalOperationalBinding}
259
260END -- OperationalBindingManagement
261
262-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
263
264