Move /asn1 to /epan/dissectors
[metze/wireshark/wip.git] / epan / dissectors / asn1 / p7 / MSAbstractService.asn
1 -- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x413/1999/index.html
2 -- Module MSAbstractService (X.413:06/1999)
3 MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) abstract-service(1)
4   version-1999(1)} DEFINITIONS ::=
5 BEGIN
6
7 -- Prologue
8 -- Exports everything
9 IMPORTS
10   -- MTS information object classes
11   operationObject1, ABSTRACT-ERROR, ABSTRACT-OPERATION, EXTENSION, MHS-OBJECT,
12     PORT,
13     -- MTS objects and ports
14     administration, delivery, mts-user,
15     submission,
16     -- MTS abstract-operations and abstract-errors
17     cancel-deferred-delivery, element-of-service-not-subscribed,
18     inconsistent-request, new-credentials-unacceptable,
19     old-credentials-incorrectly-specified, originator-invalid,
20     recipient-improperly-specified, remote-bind-error, security-error,
21     submission-control, submission-control-violated,
22     unsupported-critical-function,
23     -- MTS abstract-service data-types
24     CertificateSelectors, Credentials, InitiatorCredentials,
25     MessageSubmissionArgument, MessageSubmissionResult, MessageToken,
26     ORAddressAndOrDirectoryName, ProbeSubmissionArgument,
27     ProbeSubmissionResult, ResponderCredentials, SecurityContext, SecurityLabel,
28 -- WS added imports because of expansion of COMPONENTS OF
29         MessageSubmissionIdentifier, ExtensionField, OriginatorName, 
30         OriginalEncodedInformationTypes, ContentType, ProbeSubmissionIdentifier, 
31         ProbeSubmissionTime
32     FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
33       mts-abstract-service(1) version-1999(1)}
34   -- MTS abstract-service 1988 ports
35         OPERATION, ERROR
36 FROM Remote-Operations-Information-Objects 
37   administration-88
38     --==
39     FROM MTSAbstractService88 {joint-iso-itu-t mhs(6) mts(3) modules(0)
40       mts-abstract-service(1) version-1988(1988)}
41   -- MTS abstract-service upper bounds
42   ub-content-types, ub-encoded-information-types, ub-labels-and-redirections
43     --==
44     FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
45       upper-bounds(3) version-1999(1)}
46   -- MS X413ATTRIBUTE table
47   AttributeTable
48     --==
49     FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
50       general-attribute-types(2) version-1999(1)}
51   -- MS matching rule table
52   MatchingRuleTable
53     --==
54     FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
55       general-matching-rules(5) version-1999(1)}
56   -- MS auto-action-table and auto-action-error table
57   AutoActionTable, AutoActionErrorTable
58     --==
59     FROM MSGeneralAutoActionTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
60       general-auto-action-types(3) version-1994(0)}
61   -- MS object-identifiers
62   id-cp-ms-connection, id-crt-ms-access-88, id-crt-ms-access-94,
63     id-ext-modify-capability, id-ext-modify-retrieval-status-capability,
64     id-ext-originator-token, id-ext-originator-certificate-selectors-override,
65     id-ext-protected-change-credentials,
66     id-ext-protected-change-credentials-capability, id-ot-ms, id-ot-ms-user,
67     id-pt-retrieval-88, id-pt-retrieval-94, id-pt-ms-submission
68     --==
69     FROM MSObjectIdentifiers {joint-iso-itu-t mhs(6) ms(4) modules(0)
70       object-identifiers(0) version-1999(1)}
71   -- MS Access abstract-operation and error codes
72   err-attribute-error, err-auto-action-request-error, err-ms-extension-error,
73     err-delete-error, err-entry-class-error, err-fetch-restriction-error,
74     err-invalid-parameters-error, err-message-group-error, err-modify-error,
75     err-range-error, err-security-error, err-sequence-number-error,
76     err-service-error, err-register-ms-error, op-alert, op-delete, op-fetch,
77     op-list, op-modify, op-ms-message-submission, op-ms-probe-submission,
78     op-register-ms, op-summarize
79     --==
80     FROM MSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
81       ms-access-protocol(2) version-1999(1)}
82   -- MS abstract-service upper bounds
83   ub-attributes-supported, ub-attribute-values, ub-auto-action-errors,
84     ub-auto-actions, ub-auto-registrations, ub-default-registrations,
85     ub-entry-classes, ub-error-reasons, ub-extensions, ub-group-depth,
86     ub-group-descriptor-length, ub-group-part-length, ub-matching-rules,
87     ub-message-groups, ub-messages, ub-modifications, ub-per-entry,
88     ub-per-auto-action, ub-service-information-length, ub-summaries,
89     ub-supplementary-info-length, ub-ua-registration-identifier-length,
90     ub-ua-registrations, ub-ua-restrictions
91     --==
92     FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
93       version-1994(0)}
94   -- MATCHING-RULE information object class
95   MATCHING-RULE
96     --==
97     FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
98       informationFramework(1) 3}
99   -- Remote Operations
100   CONTRACT, CONNECTION-PACKAGE
101     --==
102     FROM Remote-Operations-Information-Objects {joint-iso-itu-t
103       remote-operations(4) informationObjects(5) version1(0)}
104   emptyUnbind
105     FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
106       remote-operations(4) useful-definitions(7) version1(0)};
107
108 -- MS Abstract Objects
109 ms MHS-OBJECT ::= {
110   IS        {mts-user}
111   RESPONDS  {ms-access-contract-88 | ms-access-contract-94}
112   ID        id-ot-ms
113 }
114
115 ms-user MHS-OBJECT ::= {
116   INITIATES  {ms-access-contract-88 | ms-access-contract-94}
117   ID         id-ot-ms-user
118 }
119
120 -- Contracts
121 ms-access-contract-94 CONTRACT ::= {
122   CONNECTION             ms-connect
123   INITIATOR CONSUMER OF  {retrieval | ms-submission | administration}
124   ID                     id-crt-ms-access-94
125 }
126
127 ms-access-contract-88 CONTRACT ::= {
128   CONNECTION             ms-connect -- with all 1994 extensions omitted 
129   INITIATOR CONSUMER OF  {retrieval-88 | submission | administration-88}
130   ID                     id-crt-ms-access-88
131 }
132
133 -- Connection-package
134 ms-connect CONNECTION-PACKAGE ::= {
135   BIND    ms-bind
136   UNBIND  ms-unbind
137   ID      id-cp-ms-connection
138 }
139
140 -- MS Ports
141 --retrieval PORT ::= {
142 --  OPERATIONS        {operationObject1, ...}
143 --  CONSUMER INVOKES
144 --    {summarize | list | fetch | delete | register-MS,
145 --      ... - 1994 extension addition -, modify}
146 --  SUPPLIER INVOKES  {alert}
147 --  ID                id-pt-retrieval-94
148 --}
149
150 --retrieval-88 PORT ::= {
151 --  - With all 1994 extensions to the abstract-operations absent 
152 --  OPERATIONS        {operationObject1, ...}
153 --  CONSUMER INVOKES  {summarize | list | fetch | delete | register-MS}
154 --  SUPPLIER INVOKES  {alert}
155 --  ID                id-pt-retrieval-88
156 --}
157
158 --ms-submission PORT ::= {
159 --  OPERATIONS        {operationObject1, ...}
160 --  CONSUMER INVOKES
161 --    {ms-message-submission | ms-probe-submission | ms-cancel-deferred-delivery}
162 --  SUPPLIER INVOKES  {ms-submission-control}
163 --  ID                id-pt-ms-submission
164 --}
165
166 -- X413ATTRIBUTE information object class
167 X413ATTRIBUTE ::= CLASS {
168   &id               AttributeType UNIQUE,
169   &Type             ,
170   &equalityMatch    MATCHING-RULE OPTIONAL,
171   &substringsMatch  MATCHING-RULE OPTIONAL,
172   &orderingMatch    MATCHING-RULE OPTIONAL,
173   &numeration       ENUMERATED {single-valued(0), multi-valued(1)},
174   -- 1994 extension 
175   &OtherMatches     MATCHING-RULE OPTIONAL
176 }
177 WITH SYNTAX {
178   WITH ATTRIBUTE-SYNTAX &Type,
179   [EQUALITY MATCHING-RULE &equalityMatch,]
180   [SUBSTRINGS MATCHING-RULE &substringsMatch,]
181   [ORDERING MATCHING-RULE &orderingMatch,]
182   [OTHER MATCHING-RULES &OtherMatches,]
183   NUMERATION &numeration,
184   ID &id
185 }
186
187 Attribute ::= SEQUENCE {
188   attribute-type    X413ATTRIBUTE.&id({AttributeTable}),
189   attribute-values
190     SEQUENCE SIZE (1..ub-attribute-values) OF
191       X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
192 }
193
194 AttributeType ::= OBJECT IDENTIFIER
195
196 -- AUTO-ACTION information object class
197 AUTO-ACTION ::= CLASS {
198   &id                     AutoActionType UNIQUE,
199   &RegistrationParameter  OPTIONAL,
200   &Errors                 AUTO-ACTION-ERROR OPTIONAL
201 }
202 WITH SYNTAX {
203   [REGISTRATION PARAMETER IS &RegistrationParameter]
204   [ERRORS &Errors]
205   IDENTIFIED BY &id
206 }
207
208 AutoActionType ::= OBJECT IDENTIFIER
209
210 AutoActionRegistration ::= SEQUENCE {
211   auto-action-type         AUTO-ACTION.&id({AutoActionTable}),
212   registration-identifier  [0]  INTEGER(1..ub-per-auto-action) DEFAULT 1,
213   registration-parameter
214     [1]  AUTO-ACTION.&RegistrationParameter
215            ({AutoActionTable}{@auto-action-type}) OPTIONAL
216 }
217
218 -- AUTO-ACTION-ERROR information object class
219 AUTO-ACTION-ERROR ::=
220   ABSTRACT-ERROR
221
222 AutoActionError ::= SET {
223   error-code       [0]  AUTO-ACTION-ERROR.&errorCode({AutoActionErrorTable}),
224   error-parameter
225     [1]  AUTO-ACTION-ERROR.&ParameterType({AutoActionErrorTable}{@error-code})
226       OPTIONAL
227 }
228
229 -- MS-EXTENSION information object class
230 MS-EXTENSION ::= TYPE-IDENTIFIER
231
232 MSExtensionItem ::= INSTANCE OF MS-EXTENSION
233
234 MSExtensions ::= SEQUENCE SIZE (1..ub-extensions) OF MSExtensionItem
235
236 -- Common data-types related to the information model
237 EntryClass ::= INTEGER {
238   delivery(0),
239   -- 1994 extensions 
240   submission(1), draft(2), stored-message(3), delivery-log(4),
241   submission-log(5), message-log(6), auto-action-log(7)}(0..ub-entry-classes)
242
243 EntryType ::= INTEGER {
244   delivered-message(0), delivered-report(1),
245   returned-content(2),
246   -- 1994 extensions 
247   submitted-message(3), submitted-probe(4), draft-message(5),
248   auto-action-event(6)}
249
250 SequenceNumber ::= INTEGER(0..ub-messages)
251
252 RetrievalStatus ::= INTEGER {new(0), listed(1), processed(2)}
253
254 MessageGroupName ::= SEQUENCE SIZE (1..ub-group-depth) OF GroupNamePart
255
256 GroupNamePart ::= GeneralString(SIZE (1..ub-group-part-length))
257
258 -- MS-bind abstract-operation
259 ms-bind -- ABSTRACT- -- OPERATION ::= {
260   ARGUMENT  MSBindArgument
261   RESULT    MSBindResult
262   ERRORS    {ms-bind-error}
263   CODE      op-ros-bind -- WS: internal operation code
264 }
265
266 MSBindArgument ::= SET {
267   initiator-name              ORAddressAndOrDirectoryName,
268   initiator-credentials       [2]  InitiatorCredentials,
269   security-context            [3] IMPLICIT SecurityContext OPTIONAL,
270   fetch-restrictions          [4]  Restrictions OPTIONAL -- default is none--,
271   ms-configuration-request    [5]  BOOLEAN DEFAULT FALSE,
272   -- 1994 extensions 
273   ua-registration-identifier  [6]  RegistrationIdentifier OPTIONAL,
274   bind-extensions             [7]  MSExtensions OPTIONAL
275 }
276
277 Restrictions ::= SET {
278   allowed-content-types
279     [0]  SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL--default is no restriction--,
280   allowed-EITs              [1]  MS-EITs OPTIONAL --default is no restriction--,
281   maximum-attribute-length  [2]  INTEGER OPTIONAL --default is no restriction--
282 }
283
284 MS-EITs ::= SET SIZE (1..ub-encoded-information-types) OF MS-EIT
285
286 MS-EIT ::= OBJECT IDENTIFIER
287
288 RegistrationIdentifier ::=
289   PrintableString(SIZE (1..ub-ua-registration-identifier-length))
290
291 MSBindResult ::= SET {
292   responder-credentials         [2]  ResponderCredentials,
293   available-auto-actions
294     [3]  SET SIZE (1..ub-auto-actions) OF AUTO-ACTION.&id({AutoActionTable})
295       OPTIONAL,
296   available-attribute-types
297     [4]  SET SIZE (1..ub-attributes-supported) OF
298            X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
299   alert-indication              [5]  BOOLEAN DEFAULT FALSE,
300   content-types-supported
301     [6]  SET SIZE (1..ub-content-types) OF OBJECT IDENTIFIER OPTIONAL,
302   -- 1994 extensions 
303   entry-classes-supported
304     [7]  SET SIZE (1..ub-entry-classes) OF EntryClass OPTIONAL,
305   matching-rules-supported
306     [8]  SET SIZE (1..ub-matching-rules) OF OBJECT IDENTIFIER OPTIONAL,
307   bind-result-extensions        [9]  MSExtensions OPTIONAL,
308   message-group-depth           [10]  INTEGER(1..ub-group-depth) OPTIONAL,
309   auto-action-error-indication  [11]  AutoActionErrorIndication OPTIONAL,
310   unsupported-extensions
311     [12]  SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER OPTIONAL,
312   ua-registration-id-unknown    [13]  BOOLEAN DEFAULT FALSE,
313   service-information
314     [14]  GeneralString(SIZE (1..ub-service-information-length)) OPTIONAL
315 }
316
317 modify-capability MS-EXTENSION ::= {
318   NULL
319   IDENTIFIED BY  id-ext-modify-capability
320 }
321
322 modify-retrieval-status-capability MS-EXTENSION ::= {
323   NULL
324   IDENTIFIED BY  id-ext-modify-retrieval-status-capability
325 }
326
327 protected-change-credentials-capability MS-EXTENSION ::= {
328   ChangeCredentialsAlgorithms
329   IDENTIFIED BY  id-ext-protected-change-credentials-capability
330 }
331
332 ChangeCredentialsAlgorithms ::= SET OF OBJECT IDENTIFIER
333
334 AutoActionErrorIndication ::= CHOICE {
335   indication-only        [0]  NULL,
336   auto-action-log-entry  [1]  SequenceNumber
337 }
338
339 ms-bind-error -- ABSTRACT- -- ERROR ::= {
340   PARAMETER
341     CHOICE {unqualified-error  BindProblem,
342             -- 1994 extension 
343             qualified-error
344               SET {bind-problem               [0]  BindProblem,
345                    supplementary-information
346                      [1]  GeneralString(SIZE (1..ub-supplementary-info-length))
347                        OPTIONAL,
348                    bind-extension-errors
349                      [2]  SET SIZE (1..ub-extensions) OF OBJECT IDENTIFIER
350                        OPTIONAL}}
351   CODE err-ros-bind  -- WS: internal error code
352 }
353
354 BindProblem ::= ENUMERATED {
355   authentication-error(0), unacceptable-security-context(1),
356   unable-to-establish-association(2), ... -- 1994 extension addition --, 
357   bind-extension-problem(3), inadequate-association-confidentiality(4)
358 }
359
360 -- MS Unbind abstract-operation
361 ms-unbind ABSTRACT-OPERATION ::= emptyUnbind
362
363 -- Common data-types
364 Range ::= CHOICE {
365   sequence-number-range  [0]  NumberRange,
366   creation-time-range    [1]  TimeRange
367 }
368
369 NumberRange ::= SEQUENCE {
370   from  [0]  SequenceNumber OPTIONAL -- omitted means no lower bound--,
371   to    [1]  SequenceNumber OPTIONAL -- omitted means no upper bound--
372 }
373
374 TimeRange ::= SEQUENCE {
375   from  [0]  CreationTime OPTIONAL -- omitted means no lower bound--,
376   to    [1]  CreationTime OPTIONAL -- omitted means no upper bound--
377 }
378
379 CreationTime ::= UTCTime
380
381 Filter ::= CHOICE {
382   item  [0]  FilterItem,
383   and   [1]  SET OF Filter,
384   or    [2]  SET OF Filter,
385   not   [3]  Filter
386 }
387
388 FilterItem ::= CHOICE {
389   equality           [0]  AttributeValueAssertion,
390   substrings
391     [1]  SEQUENCE {type     X413ATTRIBUTE.&id({AttributeTable}),
392                    strings
393                      SEQUENCE OF
394                        CHOICE {initial
395                                  [0]  X413ATTRIBUTE.&Type
396                                         ({AttributeTable}{@substrings.type}),
397                                any
398                                  [1]  X413ATTRIBUTE.&Type
399                                         ({AttributeTable}{@substrings.type}),
400                                final
401                                  [2]  X413ATTRIBUTE.&Type
402                                         ({AttributeTable}{@substrings.type})
403                        }},
404   greater-or-equal   [2]  AttributeValueAssertion,
405   less-or-equal      [3]  AttributeValueAssertion,
406   present            [4]  X413ATTRIBUTE.&id({AttributeTable}),
407   approximate-match  [5]  AttributeValueAssertion,
408   -- 1994 extension 
409   other-match        [6]  MatchingRuleAssertion
410 }
411
412 MatchingRuleAssertion ::= SEQUENCE {
413   matching-rule   [0]  MATCHING-RULE.&id({MatchingRuleTable}),
414   attribute-type  [1]  X413ATTRIBUTE.&id,
415   match-value
416     [2]  MATCHING-RULE.&AssertionType({MatchingRuleTable}{@matching-rule})
417 }
418
419 AttributeValueAssertion ::= SEQUENCE {
420   attribute-type   X413ATTRIBUTE.&id({AttributeTable}),
421   attribute-value  X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
422 }
423
424 Selector ::= SET {
425   child-entries  [0]  BOOLEAN DEFAULT FALSE,
426   range          [1]  Range OPTIONAL -- default is unbounded --,
427   filter
428     [2]  Filter
429       OPTIONAL -- default is all entries within the specified range --,
430   limit          [3]  INTEGER(1..ub-messages) OPTIONAL,
431   override       [4]  OverrideRestrictions OPTIONAL -- by default, --
432   -- any fetch-restrictions in force apply
433 }
434
435 OverrideRestrictions ::= BIT STRING {
436   override-content-types-restriction(0), override-EITs-restriction(1),
437   override-attribute-length-restriction(2)}(SIZE (1..ub-ua-restrictions))
438
439 EntryInformationSelection ::= SET SIZE (0..ub-per-entry) OF AttributeSelection
440
441 AttributeSelection ::= SET {
442   type   X413ATTRIBUTE.&id({AttributeTable}),
443   from
444     [0]  INTEGER(1..ub-attribute-values)
445       OPTIONAL --used if type is multi valued--,
446   count
447     [1]  INTEGER(0..ub-attribute-values)
448       OPTIONAL --used if type is multi valued--
449 }
450
451 EntryInformation ::= SEQUENCE {
452   sequence-number       SequenceNumber,
453   attributes            SET SIZE (1..ub-per-entry) OF Attribute OPTIONAL,
454   -- 1994 extension 
455   value-count-exceeded
456     [0]  SET SIZE (1..ub-per-entry) OF AttributeValueCount OPTIONAL
457 }
458
459 AttributeValueCount ::= SEQUENCE {
460   type   [0]  X413ATTRIBUTE.&id({AttributeTable}),
461   total  [1]  INTEGER
462 }
463
464 MSSubmissionOptions ::= SET {
465   object-entry-class
466     [0]  EntryClass(submission | submission-log | draft) OPTIONAL,
467   disable-auto-modify       [1]  BOOLEAN DEFAULT FALSE,
468   add-message-group-names
469     [2]  SET SIZE (1..ub-message-groups) OF MessageGroupName OPTIONAL,
470   ms-submission-extensions  [3]  MSExtensions OPTIONAL
471 }
472
473 originator-token MS-EXTENSION ::= {
474   OriginatorToken
475   IDENTIFIED BY  id-ext-originator-token
476 }
477
478 OriginatorToken ::=
479   MessageToken
480     (CONSTRAINED BY {
481        
482        -- Must contain an asymmetric-token with an encrypted-data component --})
483
484 originator-certificate-selectors-override MS-EXTENSION ::= {
485   CertificateSelectors
486     (WITH COMPONENTS {
487        ...,
488        message-origin-authentication  ABSENT
489      })
490   IDENTIFIED BY  id-ext-originator-certificate-selectors-override
491 }
492
493 CommonSubmissionResults ::= SET {
494   created-entry                    [0]  SequenceNumber OPTIONAL,
495   auto-action-error-indication     [1]  AutoActionErrorIndication OPTIONAL,
496   ms-submission-result-extensions  [2]  MSExtensions OPTIONAL
497 }
498
499 -- Retrieval Port abstract-operations
500 summarize -- ABSTRACT- -- OPERATION ::= {
501   ARGUMENT  SummarizeArgument
502   RESULT    SummarizeResult
503   ERRORS
504     {attribute-error | invalid-parameters-error | range-error | security-error
505       | service-error, ... -- 1994 extension additions --, entry-class-error |
506       ms-extension-error}
507   LINKED    {operationObject1, ...}
508   CODE      op-summarize
509 }
510
511 SummarizeArgument ::= SET {
512   entry-class           [0]  EntryClass DEFAULT delivery,
513   selector              [1]  Selector,
514   summary-requests
515     [2]  SEQUENCE SIZE (1..ub-summaries) OF X413ATTRIBUTE.&id({AttributeTable})
516       OPTIONAL -- absent if no summaries are requested--,
517   -- 1994 extension 
518   summarize-extensions  [3]  MSExtensions OPTIONAL
519 }
520
521 SummarizeResult ::= SET {
522   next                         [0]  SequenceNumber OPTIONAL,
523   count
524     [1]  INTEGER(0..ub-messages)-- of the entries selected-- ,
525   span                         [2]  Span OPTIONAL -- of the entries selected,---- omitted if count is zero --,
526   summaries
527     [3]  SEQUENCE SIZE (1..ub-summaries) OF Summary OPTIONAL,
528   -- 1994 extension 
529   summarize-result-extensions  [4]  MSExtensions OPTIONAL
530 }
531
532 Span ::= SEQUENCE {lowest   [0]  SequenceNumber,
533                    highest  [1]  SequenceNumber
534 }
535
536 Summary ::= SET {
537   absent
538     [0]  INTEGER(1..ub-messages)
539       OPTIONAL --count of entries where X413ATTRIBUTE is absent--,
540   present
541     [1]  SET SIZE (1..ub-attribute-values)
542            OF--one for each X413ATTRIBUTE value present--
543            SEQUENCE {type   X413ATTRIBUTE.&id({AttributeTable}),
544                      value  X413ATTRIBUTE.&Type({AttributeTable}{@.type}),
545                      count  INTEGER(1..ub-messages)} OPTIONAL
546 }
547
548 -- 
549 list -- ABSTRACT- -- OPERATION ::= {
550   ARGUMENT  ListArgument
551   RESULT    ListResult
552   ERRORS
553     {attribute-error | invalid-parameters-error | range-error | security-error
554       | service-error, ... -- 1994 extension additions --, entry-class-error |
555       ms-extension-error}
556   LINKED    {operationObject1, ...}
557   CODE      op-list
558 }
559
560 ListArgument ::= SET {
561   entry-class           [0]  EntryClass DEFAULT delivery,
562   selector              [1]  Selector,
563   requested-attributes  [3]  EntryInformationSelection OPTIONAL,
564   -- 1994 extension 
565   list-extensions       [4]  MSExtensions OPTIONAL
566 }
567
568 ListResult ::= SET {
569   next                    [0]  SequenceNumber OPTIONAL,
570   requested
571     [1]  SEQUENCE SIZE (1..ub-messages) OF EntryInformation OPTIONAL--omitted if none found--,
572   -- 1994 extension 
573   list-result-extensions  [2]  MSExtensions OPTIONAL
574 }
575
576 -- 
577 fetch -- ABSTRACT- -- OPERATION ::= {
578   ARGUMENT  FetchArgument
579   RESULT    FetchResult
580   ERRORS
581     {attribute-error | fetch-restriction-error | invalid-parameters-error |
582       range-error | security-error | sequence-number-error | service-error,
583       ... -- 1994 extension additions --, entry-class-error |
584       ms-extension-error}
585   LINKED    {operationObject1, ...}
586   CODE      op-fetch
587 }
588
589 FetchArgument ::= SET {
590   entry-class           [0]  EntryClass DEFAULT delivery,
591   item
592     CHOICE {search   [1]  Selector,
593             precise  [2]  SequenceNumber},
594   requested-attributes  [3]  EntryInformationSelection OPTIONAL,
595   -- 1994 extension 
596   fetch-extensions      [4]  MSExtensions OPTIONAL
597 }
598
599 FetchResult ::= SET {
600   entry-information
601     [0]  EntryInformation OPTIONAL --if an entry was selected--,
602   list
603     [1]  SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
604   next                     [2]  SequenceNumber OPTIONAL,
605   -- 1994 extension 
606   fetch-result-extensions  [3]  MSExtensions OPTIONAL
607 }
608
609 -- 
610 delete -- ABSTRACT- -- OPERATION ::= {
611   ARGUMENT  DeleteArgument
612   RESULT    DeleteResult
613   ERRORS
614     {delete-error | invalid-parameters-error | range-error | security-error |
615       sequence-number-error | service-error,
616       ... -- 1994 extension additions --, entry-class-error |
617       ms-extension-error}
618   LINKED    {operationObject1, ...}
619   CODE      op-delete
620 }
621
622 DeleteArgument ::= SET {
623   entry-class        [0]  EntryClass DEFAULT delivery,
624   items
625     CHOICE {selector          [1]  Selector,
626             sequence-numbers  [2]  SET SIZE (1..ub-messages) OF SequenceNumber
627   },
628   -- 1994 extension
629   delete-extensions  [3]  MSExtensions OPTIONAL
630 }
631
632 DeleteResult ::= CHOICE {
633   delete-result-88  NULL,
634   -- 1994 extension 
635   delete-result-94
636     SET {entries-deleted
637            [0]  SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
638          delete-result-extensions  [1]  MSExtensions OPTIONAL}
639 }
640
641 -- 
642 register-MS -- ABSTRACT- -- OPERATION ::= {
643   ARGUMENT  Register-MSArgument
644   RESULT    Register-MSResult
645   ERRORS
646     {attribute-error | auto-action-request-error | invalid-parameters-error |
647       security-error | service-error | old-credentials-incorrectly-specified |
648       new-credentials-unacceptable, ... -- 1994 extension additions --,
649       message-group-error | ms-extension-error | register-ms-error}
650   LINKED    {operationObject1, ...}
651   CODE      op-register-ms
652 }
653
654 Register-MSArgument ::= SET {
655   auto-action-registrations
656     [0]  SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration OPTIONAL,
657   auto-action-deregistrations
658     [1]  SET SIZE (1..ub-auto-registrations) OF AutoActionDeregistration
659       OPTIONAL,
660   list-attribute-defaults
661     [2]  SET SIZE (0..ub-default-registrations) OF
662            X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
663   fetch-attribute-defaults
664     [3]  SET SIZE (0..ub-default-registrations) OF
665            X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
666   change-credentials
667     [4]  SEQUENCE {old-credentials
668                      [0]  Credentials(WITH COMPONENTS {
669                                         simple  
670                                       }),
671                    new-credentials
672                      [1]  Credentials(WITH COMPONENTS {
673                                         simple  
674                                       })} OPTIONAL,
675   user-security-labels
676     [5]  SET SIZE (1..ub-labels-and-redirections) OF SecurityLabel OPTIONAL,
677   -- 1994 extensions
678   ua-registrations
679     [6]  SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
680   submission-defaults          [7]  MSSubmissionOptions OPTIONAL,
681   message-group-registrations  [8]  MessageGroupRegistrations OPTIONAL,
682   registration-status-request  [9]  RegistrationTypes OPTIONAL,
683   register-ms-extensions       [10]  MSExtensions OPTIONAL
684 }
685
686 AutoActionDeregistration ::= SEQUENCE {
687   auto-action-type         AUTO-ACTION.&id({AutoActionTable}),
688   registration-identifier  [0]  INTEGER(1..ub-per-auto-action) DEFAULT 1
689 }
690
691 UARegistration ::= SET {
692   ua-registration-identifier   [0]  RegistrationIdentifier,
693   ua-list-attribute-defaults
694     [1]  SET SIZE (0..ub-default-registrations) OF
695            X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
696   ua-fetch-attribute-defaults
697     [2]  SET SIZE (0..ub-default-registrations) OF
698            X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
699   ua-submission-defaults       [3]  MSSubmissionOptions OPTIONAL,
700   content-specific-defaults    [4]  MSExtensions OPTIONAL
701 }
702
703 MessageGroupRegistrations ::=
704   SEQUENCE SIZE (1..ub-default-registrations) OF
705     CHOICE {register-group      [0]  MessageGroupNameAndDescriptor,
706             deregister-group    [1]  MessageGroupName,
707             change-descriptors  [2]  MessageGroupNameAndDescriptor}
708
709 MessageGroupNameAndDescriptor ::= SET {
710   message-group-name        [0]  MessageGroupName,
711   message-group-descriptor
712     [1]  GeneralString(SIZE (1..ub-group-descriptor-length)) OPTIONAL
713 }
714
715 RegistrationTypes ::= SET {
716   registrations
717     [0]  BIT STRING {auto-action-registrations(0), list-attribute-defaults(1),
718                      fetch-attribute-defaults(2), ua-registrations(3),
719                      submission-defaults(4), message-group-registrations(5)}
720       OPTIONAL,
721   extended-registrations   [1]  SET OF MS-EXTENSION.&id OPTIONAL,
722   restrict-message-groups  [2]  MessageGroupsRestriction OPTIONAL
723 }
724
725 MessageGroupsRestriction ::= SET {
726   parent-group                [0]  MessageGroupName OPTIONAL,
727   immediate-descendants-only  [1]  BOOLEAN DEFAULT TRUE,
728   omit-descriptors            [2]  BOOLEAN DEFAULT TRUE
729 }
730
731 protected-change-credentials MS-EXTENSION ::= {
732   ProtectedChangeCredentials
733   IDENTIFIED BY  id-ext-protected-change-credentials
734 }
735
736 ProtectedChangeCredentials ::= SEQUENCE {
737   algorithm-identifier  [0] IMPLICIT OBJECT IDENTIFIER,
738   old-credentials
739     InitiatorCredentials(WITH COMPONENTS {
740                            protected  PRESENT
741                          }),
742   password-delta        [2] IMPLICIT BIT STRING
743 }
744
745 Register-MSResult ::= CHOICE {
746   no-status-information   NULL,
747   -- 1994 extension 
748   registered-information
749     SET {auto-action-registrations
750            [0]  SET SIZE (1..ub-auto-registrations) OF AutoActionRegistration
751              OPTIONAL,
752          list-attribute-defaults
753            [1]  SET SIZE (1..ub-default-registrations) OF
754                   X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
755          fetch-attribute-defaults
756            [2]  SET SIZE (1..ub-default-registrations) OF
757                   X413ATTRIBUTE.&id({AttributeTable}) OPTIONAL,
758          ua-registrations
759            [3]  SET SIZE (1..ub-ua-registrations) OF UARegistration OPTIONAL,
760          submission-defaults            [4]  MSSubmissionOptions OPTIONAL,
761          message-group-registrations
762            [5]  SET SIZE (1..ub-message-groups) OF
763                   MessageGroupNameAndDescriptor OPTIONAL,
764          register-ms-result-extensions  [6]  MSExtensions OPTIONAL}
765 }
766
767 -- 
768 alert -- ABSTRACT- -- OPERATION ::= {
769   ARGUMENT  AlertArgument
770   RESULT    AlertResult
771   ERRORS    {security-error}
772   LINKED    {operationObject1, ...}
773   CODE      op-alert
774 }
775
776 AlertArgument ::= SET {
777   alert-registration-identifier  [0]  INTEGER(1..ub-auto-actions),
778   new-entry                      [2]  EntryInformation OPTIONAL
779 }
780
781 AlertResult ::= NULL
782
783 -- 
784 modify -- ABSTRACT- -- OPERATION ::= {
785   ARGUMENT  ModifyArgument
786   RESULT    ModifyResult
787   ERRORS
788     {attribute-error | invalid-parameters-error | security-error |
789       sequence-number-error | service-error | modify-error |
790       message-group-error | entry-class-error | ms-extension-error,
791       ... -- For future extension additions --}
792   LINKED    {operationObject1, ...}
793   CODE      op-modify
794 }
795
796 ModifyArgument ::= SET {
797   entry-class        [0]  EntryClass DEFAULT delivery,
798   entries
799     CHOICE {selector          [1]  Selector,
800             specific-entries
801               [2]  SEQUENCE SIZE (1..ub-messages) OF SequenceNumber},
802   modifications
803     [3]  SEQUENCE SIZE (1..ub-modifications) OF EntryModification,
804   modify-extensions  [4]  MSExtensions OPTIONAL
805 }
806
807 EntryModification ::= SET {
808   strict        [0]  BOOLEAN DEFAULT FALSE,
809   modification
810     CHOICE {add-attribute     [1]  Attribute,
811             remove-attribute  [2]  X413ATTRIBUTE.&id({AttributeTable}),
812             add-values        [3]  OrderedAttribute,
813             remove-values     [4]  OrderedAttribute}
814 }
815
816 OrderedAttribute ::= SEQUENCE {
817   attribute-type    X413ATTRIBUTE.&id({AttributeTable}),
818   attribute-values
819     SEQUENCE SIZE (1..ub-attribute-values) OF
820       SEQUENCE {-- at least one must be specified 
821                 value
822                   [0]  X413ATTRIBUTE.&Type({AttributeTable}{@attribute-type})
823                     OPTIONAL,
824                 position  [1]  INTEGER(1..ub-attribute-values) OPTIONAL
825       }
826 }
827
828 ModifyResult ::= SET {
829   entries-modified
830     [0]  SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
831   modify-result-extensions  [1]  MSExtensions OPTIONAL
832 }
833
834 -- MS-submission Port abstract-operations
835 ms-message-submission -- ABSTRACT- -- OPERATION ::= {
836   ARGUMENT  MSMessageSubmissionArgument
837   RESULT    MSMessageSubmissionResult
838   ERRORS
839     {submission-control-violated | element-of-service-not-subscribed |
840       originator-invalid | recipient-improperly-specified |
841       inconsistent-request | security-error | unsupported-critical-function |
842       remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
843       | message-group-error | entry-class-error | service-error}
844   LINKED    {operationObject1, ...}
845   CODE      op-ms-message-submission
846 }
847
848 MSMessageSubmissionArgument ::= SEQUENCE {
849 --  COMPONENTS OF
850 --    MessageSubmissionArgument - This imported type has IMPLICIT tags -,
851 -- WS expanded here
852   envelope  MessageSubmissionEnvelope,
853   content   Content,
854
855   -- 1994 extension 
856   submission-options  [4]  MSSubmissionOptions OPTIONAL
857 }
858
859 forwarding-request EXTENSION ::= {
860   SequenceNumber,
861   IDENTIFIED BY  standard-extension:36
862 }
863
864 MSMessageSubmissionResult ::= CHOICE {
865   mts-result
866    SET {--COMPONENTS OF
867 --           MessageSubmissionResult- This imported type has IMPLICIT tags - ,
868 -- WS extended here
869   message-submission-identifier  MessageSubmissionIdentifier,
870   message-submission-time        [0]  IMPLICIT MessageSubmissionTime,
871   content-identifier             ContentIdentifier OPTIONAL,
872   extensions
873     [1]  SET OF ExtensionField --{{MessageSubmissionResultExtensions}}-- DEFAULT {},
874
875          -- 1994 extension 
876          ms-message-result  [4]  CommonSubmissionResults OPTIONAL},
877   -- 1994 extension 
878   store-draft-result  [4]  CommonSubmissionResults
879 }
880
881 -- 
882 ms-probe-submission -- ABSTRACT- -- OPERATION ::= {
883   ARGUMENT  MSProbeSubmissionArgument
884   RESULT    MSProbeSubmissionResult
885   ERRORS
886     {submission-control-violated | element-of-service-not-subscribed |
887       originator-invalid | recipient-improperly-specified |
888       inconsistent-request | security-error | unsupported-critical-function |
889       remote-bind-error, ... -- 1994 extension additions --, ms-extension-error
890       | message-group-error | entry-class-error | service-error}
891   LINKED    {operationObject1, ...}
892   CODE      op-ms-probe-submission
893 }
894
895 MSProbeSubmissionArgument ::= SET {
896 --  COMPONENTS OF
897 --    ProbeSubmissionArgument - This imported type has IMPLICIT tags -,
898 -- WS Expanded
899   originator-name                     OriginatorName,
900   original-encoded-information-types  OriginalEncodedInformationTypes OPTIONAL,
901   content-type                        ContentType,
902   content-identifier                  ContentIdentifier OPTIONAL,
903   content-length                      [0]  ContentLength OPTIONAL,
904   per-message-indicators              PerMessageIndicators DEFAULT {},
905   extensions
906     [2]  SET OF ExtensionField --{{PerProbeSubmissionExtensions}}-- DEFAULT {}
907   ,per-recipient-fields
908     [3]  SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientProbeSubmissionFields,
909
910
911   -- 1994 extension 
912   submission-options  [4]  MSSubmissionOptions OPTIONAL
913 }
914
915 MSProbeSubmissionResult ::= SET {
916 --  COMPONENTS OF
917 --    ProbeSubmissionResult - This imported type has IMPLICIT tags -,
918   probe-submission-identifier  ProbeSubmissionIdentifier,
919   probe-submission-time        [0]  ProbeSubmissionTime,
920   content-identifier           ContentIdentifier OPTIONAL,
921   extensions
922     [1]  SET OF ExtensionField --{{ProbeResultExtensions}}-- DEFAULT {},
923
924   -- 1994 extension 
925   ms-probe-result  [4]  CommonSubmissionResults OPTIONAL
926 }
927
928 ms-cancel-deferred-delivery ABSTRACT-OPERATION ::= cancel-deferred-delivery
929
930 ms-submission-control ABSTRACT-OPERATION ::= submission-control
931
932 -- Abstract-errors
933 attribute-error -- ABSTRACT- -- ERROR ::= {
934   PARAMETER
935     SET {problems
936            [0]  SET SIZE (1..ub-per-entry) OF
937                   SET {problem  [0]  AttributeProblem,
938                        type     [1]  X413ATTRIBUTE.&id({AttributeTable}),
939                        value
940                          [2]  X413ATTRIBUTE.&Type({AttributeTable}{@.type})
941                            OPTIONAL}}
942   CODE       err-attribute-error
943 }
944
945 AttributeProblem ::= INTEGER {
946   invalid-attribute-value(0), unavailable-attribute-type(1),
947   inappropriate-matching(2), attribute-type-not-subscribed(3),
948   inappropriate-for-operation(4),
949   -- 1994 extensions 
950   inappropriate-modification(5), single-valued-attribute(6)
951 }(0..ub-error-reasons)
952
953 -- 
954 auto-action-request-error -- ABSTRACT- -- ERROR ::= {
955   PARAMETER
956     SET {problems
957            [0]  SET SIZE (1..ub-auto-registrations) OF
958                   SET {problem  [0]  AutoActionRequestProblem,
959                        type     [1]  AUTO-ACTION.&id({AutoActionTable})
960                   }}
961   CODE       err-auto-action-request-error
962 }
963
964 AutoActionRequestProblem ::= INTEGER {
965   unavailable-auto-action-type(0),
966   auto-action-type-not-subscribed(1),
967   -- 1994 extension 
968   not-willing-to-perform(2)}(0..ub-error-reasons)
969
970 -- 
971 delete-error -- ABSTRACT- -- ERROR ::= {
972   PARAMETER
973     SET {problems
974            [0]  SET SIZE (1..ub-messages) OF
975                   SET {problem          [0]  DeleteProblem,
976                        sequence-number  [1]  SequenceNumber},
977          -- 1994 extension 
978          entries-deleted
979            [1]  SET SIZE (1..ub-messages) OF SequenceNumber OPTIONAL}
980   CODE       err-delete-error
981 }
982
983 DeleteProblem ::= INTEGER {
984   child-entry-specified(0),
985   delete-restriction-problem(1),
986   -- 1994 extensions 
987   new-entry-specified(2), entry-class-restriction(3), stored-message-exists(4)
988 }(0..ub-error-reasons)
989
990 -- 
991 fetch-restriction-error -- ABSTRACT- -- ERROR ::= {
992   PARAMETER
993     SET {problems
994            [0]  SET SIZE (1..ub-default-registrations) OF
995                   SET {problem      [3]  FetchRestrictionProblem,
996                        restriction
997                          CHOICE {content-type      [0]  OBJECT IDENTIFIER,
998                                  eit               [1]  MS-EITs,
999                                  attribute-length  [2]  INTEGER}}}
1000   CODE       err-fetch-restriction-error
1001 }
1002
1003 FetchRestrictionProblem ::= INTEGER {
1004   content-type-problem(1), eit-problem(2), maximum-length-problem(3)
1005 }(0..ub-error-reasons)
1006
1007 -- 
1008 invalid-parameters-error -- ABSTRACT- -- ERROR ::= {
1009   PARAMETER  NULL
1010   CODE       err-invalid-parameters-error
1011 }
1012
1013 -- 
1014 range-error -- ABSTRACT- -- ERROR ::= {
1015   PARAMETER  SET {problem  [0]  RangeProblem}
1016   CODE       err-range-error
1017 }
1018
1019 RangeProblem ::= INTEGER {reversed(0)}(0..ub-error-reasons)
1020
1021 -- 
1022 sequence-number-error -- ABSTRACT- -- ERROR ::= {
1023   PARAMETER
1024     SET {problems
1025            [1]  SET SIZE (1..ub-messages) OF
1026                   SET {problem          [0]  SequenceNumberProblem,
1027                        sequence-number  [1]  SequenceNumber}}
1028   CODE       err-sequence-number-error
1029 }
1030
1031 SequenceNumberProblem ::= INTEGER {no-such-entry(0)}(0..ub-error-reasons)
1032
1033 -- 
1034 service-error -- ABSTRACT- -- ERROR ::= {
1035   PARAMETER  ServiceErrorParameter
1036   CODE       err-service-error
1037 }
1038
1039 ServiceErrorParameter ::= SET {
1040   problem                    [0]  ServiceProblem,
1041   -- 1994 extension 
1042   supplementary-information
1043     [1]  GeneralString(SIZE (1..ub-supplementary-info-length)) OPTIONAL
1044 }
1045
1046 ServiceProblem ::= INTEGER {busy(0), unavailable(1), unwilling-to-perform(2)
1047 }(0..ub-error-reasons)
1048
1049 -- 
1050 message-group-error -- ABSTRACT- -- ERROR ::= {
1051   PARAMETER  MessageGroupErrorParameter
1052   CODE       err-message-group-error
1053 }
1054
1055 MessageGroupErrorParameter ::= SET {
1056   problem  [0]  MessageGroupProblem,
1057   name     [1]  MessageGroupName
1058 }
1059
1060 MessageGroupProblem ::= INTEGER {
1061   name-not-registered(0), name-already-registered(1), parent-not-registered(2),
1062   group-not-empty(3), name-in-use(4), child-group-registered(5),
1063   group-depth-exceeded(6)}(0..ub-error-reasons)
1064
1065 -- 
1066 ms-extension-error -- ABSTRACT- -- ERROR ::= {
1067   PARAMETER  MSExtensionErrorParameter
1068   CODE       err-ms-extension-error
1069 }
1070
1071 MSExtensionErrorParameter ::= CHOICE {
1072   ms-extension-problem  [0]  MSExtensionItem,
1073   unknown-ms-extension  [1]  OBJECT IDENTIFIER
1074 }
1075
1076 -- 
1077 register-ms-error -- ABSTRACT- -- ERROR ::= {
1078   PARAMETER
1079     SET {problem            [0]  RegistrationProblem,
1080          registration-type  [1]  RegistrationTypes}
1081   CODE       err-register-ms-error
1082 }
1083
1084 RegistrationProblem ::= ENUMERATED {
1085   registration-not-supported(0), registration-improperly-specified(1),
1086   registration-limit-exceeded(2), ... -- For future extension additions --
1087   }
1088
1089 -- 
1090 modify-error -- ABSTRACT- -- ERROR ::= {
1091   PARAMETER  ModifyErrorParameter
1092   CODE       err-modify-error
1093 }
1094
1095 ModifyErrorParameter ::= SET {
1096   entries-modified
1097     [0]  SEQUENCE SIZE (1..ub-messages) OF SequenceNumber OPTIONAL,
1098   failing-entry        [1]  SequenceNumber,
1099   modification-number  [2]  INTEGER,
1100   problem              [3]  ModifyProblem
1101 }
1102
1103 ModifyProblem ::= INTEGER {
1104   attribute-not-present(0), value-not-present(1),
1105   attribute-or-value-already-exists(2), invalid-position(3),
1106   modify-restriction-problem(4)}(0..ub-error-reasons)
1107
1108 -- 
1109 entry-class-error -- ABSTRACT- -- ERROR ::= {
1110   PARAMETER  EntryClassErrorParameter
1111   CODE       err-entry-class-error
1112 }
1113
1114 EntryClassErrorParameter ::= SET {
1115   entry-class  [0]  EntryClass,
1116   problem
1117     [1]  BIT STRING {unsupported-entry-class(0), entry-class-not-subscribed(1),
1118                      inappropriate-entry-class(2)}
1119 }
1120
1121 END -- of MS Abstract Service
1122
1123 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
1124