EXTERNAL type is handled in asn2wrs now
[obnox/wireshark/wip.git] / asn1 / x411 / x411.asn
1 -- Module MTAAbstractService (X.411:06/1999)
2 MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
3   mta-abstract-service(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
4 BEGIN
5
6 --      Prologue
7 --      Exports everything
8 IMPORTS
9   -- Remote Operations
10 --  CONNECTION-PACKAGE, CONTRACT
11     --==
12 --    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
13 --      remote-operations(4) informationObjects(5) version1(0)}
14   emptyUnbind
15     --==
16     FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
17       remote-operations(4) useful-definitions(7) version1(0)}
18   -- MTS Abstract Service Parameters
19 --  ABSTRACT-ERROR, ABSTRACT-OPERATION, administration, 
20 --    AdministrationDomainName,
21 --    certificate-selectors, certificate-selectors-override, Content,
22 --    ContentIdentifier, ContentLength, ContentType,
23 --    content-confidentiality-algorithm-identifier, content-correlator,
24 --    content-integrity-check, conversion-with-loss-prohibited,
25 --    ConvertedEncodedInformationTypes, CountryName, DeferredDeliveryTime,
26 --    delivery, dl-exempted-recipients, dl-expansion-history,
27 --    dl-expansion-prohibited, ExplicitConversion, EXTENSION, ExtensionField{},
28 --    GlobalDomainIdentifier, InitiatorCredentials, latest-delivery-time,
29 --    message-origin-authentication-check, message-security-label, message-token,
30 --    MHS-OBJECT, MTAName, MTSIdentifier, multiple-originator-certificates,
31 --    ORAddressAndOptionalDirectoryName, OriginalEncodedInformationTypes,
32 --    originator-and-DL-expansion-history, originator-certificate,
33 --    originator-return-address, PerMessageIndicators, physical-delivery-modes,
34 --    physical-delivery-report-request, physical-forwarding-address,
35 --    physical-forwarding-address-request, physical-forwarding-prohibited,
36 --    physical-rendition-attributes, PORT, Priority, PrivateDomainIdentifier,
37 --    PrivateExtensions, probe-origin-authentication-check, proof-of-delivery,
38 --    proof-of-delivery-request, recipient-certificate,
39 --    recipient-number-for-advice, recipient-reassignment-prohibited,
40 --    redirection-history, registered-mail-type, reporting-DL-name,
41 --    reporting-MTA-certificate, reporting-MTA-name, ReportType,
42 --    report-origin-authentication-check, requested-delivery-method,
43 --    ResponderCredentials, SecurityContext, submission,
44 --    SupplementaryInformation, Time
45     --==
46 --    FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
47 --      mts-abstract-service(1) version-1999(1)}
48   -- IPM Information Objects
49   IPMPerRecipientEnvelopeExtensions
50     --==
51     FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
52       information-objects(2) version-1999(1)}
53   -- Object Identifiers
54 --  id-cp-mta-connect, id-ct-mta-transfer, id-ot-mta, id-pt-transfer
55     --==
56 --    FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
57 --      object-identifiers(0) version-1999(1)}
58   -- Upper Bounds
59   ub-bit-options, ub-integer-options, ub-recipients, ub-transfers
60     --==
61     FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
62       upper-bounds(3) version-1999(1)}
63   Name
64     --==
65     FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
66       informationFramework(1) 3}
67   PresentationAddress
68     --==
69     FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
70       selectedAttributeTypes(5) 3}
71   CertificateAssertion
72     --==
73     FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
74       certificateExtensions(26) 0}
75   Certificates, AlgorithmIdentifier
76     --==
77     FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
78       authenticationFramework(7) 3} 
79   EXTERNALt
80     --==
81     FROM ACSE-1;
82
83
84 --      Objects
85 --mta MHS-OBJECT ::= {BOTH  {mta-transfer}
86 --                    ID    id-ot-mta
87 --}
88
89 --      Contracts
90 --mta-transfer CONTRACT ::= {
91 --  CONNECTION     mta-connect
92 --  OPERATIONS OF  {transfer}
93 --  ID             id-ct-mta-transfer
94 --}
95
96 --      Connection package
97 --mta-connect CONNECTION-PACKAGE ::= {
98 --  BIND    mta-bind
99 --  UNBIND  mta-unbind
100 --  ID      id-cp-mta-connect
101 --}
102
103 --      Ports
104 --transfer PORT ::= {
105 --  OPERATIONS  {message-transfer | probe-transfer | report-transfer}
106 --  ID          id-pt-transfer
107 --}
108
109 --      MTA-bind and MTA-unbind
110 --mta-bind ABSTRACT-OPERATION ::= {
111 --  ARGUMENT  MTABindArgument
112 --  RESULT    MTABindResult
113 --  ERRORS    {mta-bind-error}
114 --}
115
116 -- mta-unbind ABSTRACT-OPERATION ::= emptyUnbind
117
118 MTABindArgument ::= CHOICE {
119   unauthenticated  NULL, -- if no authentication is required
120   authenticated
121     [1]  SET {-- if authentication is required--initiator-name
122                                                   [0]  MTAName,
123                                                 initiator-credentials
124                                                   [1]  InitiatorCredentials
125                                                          (WITH COMPONENTS {
126                                                             ...,
127                                                             protected  ABSENT
128                                                           }),
129                                                 security-context
130                                                   [2]  SecurityContext OPTIONAL
131   }
132 }
133
134 MTABindResult ::= CHOICE {
135   unauthenticated  NULL, -- if no authentication is required
136   authenticated
137     [1]  SET {-- if authentication is required--responder-name
138                                                   [0]  MTAName,
139                                                 responder-credentials
140                                                   [1]  ResponderCredentials
141 --                                                         (WITH COMPONENTS {
142 --                                                            ...,
143 --                                                            protected  ABSENT
144 --                                                          })--}
145 }
146
147 --mta-bind-error ABSTRACT-ERROR -- MTABindError ::= -- {
148 --  PARAMETER
149     INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
150              unacceptable-security-context(4),
151              inadequate-association-confidentiality(5)}(0..ub-integer-options)
152 --}
153
154 --      Transfer Port
155 --message-transfer ABSTRACT-OPERATION ::= {ARGUMENT  Message
156 --}
157
158 --probe-transfer ABSTRACT-OPERATION ::= {ARGUMENT  Probe
159 --}
160
161 --report-transfer ABSTRACT-OPERATION ::= {ARGUMENT  Report
162 --}
163
164 -- taken from X.419
165 MTS-APDU ::= CHOICE {
166 message [0] Message,
167 probe [2] Probe,
168 report [1] Report
169 }
170
171 Message ::= SEQUENCE {envelope  MessageTransferEnvelope,
172                       content   Content
173 }
174
175 Probe ::= ProbeTransferEnvelope
176
177 Report ::= SEQUENCE {
178   envelope  ReportTransferEnvelope,
179   content   ReportTransferContent
180 }
181
182 --      Message Transfer Envelope
183 MessageTransferEnvelope ::= SET {
184 --  COMPONENTS OF PerMessageTransferFields,
185 --  per-recipient-fields
186 --    [2]  SEQUENCE SIZE (1..ub-recipients) OF PerRecipientMessageTransferFields
187 --}
188
189 --PerMessageTransferFields ::= SET {
190   message-identifier                  MessageIdentifier,
191   originator-name                     MTAOriginatorName,
192   original-encoded-information-types  OriginalEncodedInformationTypes OPTIONAL,
193   content-type                        ContentType,
194 -- asn2wrs seems to have a problem with untagged choices - so we will expand 'in situ' for now
195 -- it's not the greatest solution - but should be OK
196 --  built-in-content-type                       BuiltInContentType OPTIONAL,
197 --  extended-content-type                       ExtendedContentType OPTIONAL,
198 -- end of workaround
199   content-identifier                  ContentIdentifier OPTIONAL,
200   priority                            Priority DEFAULT normal,
201   per-message-indicators              PerMessageIndicators DEFAULT {},
202   deferred-delivery-time              [0]  DeferredDeliveryTime OPTIONAL,
203   per-domain-bilateral-information
204     [1]  SEQUENCE -- SIZE (1..ub-transfers) -- OF PerDomainBilateralInformation
205       OPTIONAL,
206   trace-information                   TraceInformation,
207   extensions
208     [3]  SET OF ExtensionField --{{MessageTransferExtensions}}-- DEFAULT {}
209   ,per-recipient-fields
210     [2]  SEQUENCE --SIZE  (1..ub-recipients) -- OF PerRecipientMessageTransferFields
211 }
212
213 --MessageTransferExtensions EXTENSION ::=
214   --{- - May contain the following extensions, private extensions, and future standardised extensions,
215    -- at most one instance of each extension type:
216 --   recipient-reassignment-prohibited | dl-expansion-prohibited |
217 --   conversion-with-loss-prohibited | latest-delivery-time |
218 --   originator-return-address | originator-certificate |
219 --   content-confidentiality-algorithm-identifier |
220 --   message-origin-authentication-check | message-security-label |
221 --   content-correlator | dl-exempted-recipients | certificate-selectors |
222 --   multiple-originator-certificates | dl-expansion-history |
223 --   internal-trace-information | PrivateExtensions, ...}
224
225 PerRecipientMessageTransferFields ::= SET {
226   recipient-name                         MTARecipientName,
227   originally-specified-recipient-number
228     [0]  OriginallySpecifiedRecipientNumber,
229   per-recipient-indicators               [1]  PerRecipientIndicators,
230   explicit-conversion                    [2]  ExplicitConversion OPTIONAL,
231   extensions
232     [3]  SET OF ExtensionField --{{PerRecipientMessageTransferExtensions}}
233       DEFAULT {}
234 }
235
236 --PerRecipientMessageTransferExtensions EXTENSION ::=
237 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
238    -- at most one instance of each extension type:
239 --   originator-requested-alternate-recipient | requested-delivery-method |
240 --   physical-forwarding-prohibited | physical-forwarding-address-request |
241 --   physical-delivery-modes | registered-mail-type | recipient-number-for-advice
242 --   | physical-rendition-attributes | physical-delivery-report-request |
243 --   message-token | content-integrity-check | proof-of-delivery-request |
244 --   certificate-selectors-override | recipient-certificate | redirection-history
245 --   | IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
246
247 --      Probe Transfer Envelope
248 ProbeTransferEnvelope ::= SET {
249 --  COMPONENTS OF PerProbeTransferFields,
250 --  per-recipient-fields
251 --    [2]  SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeTransferFields
252 --}
253
254 --PerProbeTransferFields ::= SET {
255   probe-identifier                    ProbeIdentifier,
256   originator-name                     MTAOriginatorName,
257   original-encoded-information-types  OriginalEncodedInformationTypes OPTIONAL,
258   content-type                        ContentType,
259   content-identifier                  ContentIdentifier OPTIONAL,
260   content-length                      [0]  ContentLength OPTIONAL,
261   per-message-indicators              PerMessageIndicators DEFAULT {},
262   per-domain-bilateral-information
263     [1]  SEQUENCE -- SIZE (1..ub-transfers) -- OF PerDomainBilateralInformation
264       OPTIONAL,
265   trace-information                   TraceInformation,
266   extensions
267     [3]  SET OF ExtensionField --{{ProbeTransferExtensions}}-- DEFAULT {}
268   ,per-recipient-fields
269     [2]  SEQUENCE -- SIZE (1..ub-recipients) -- OF PerRecipientProbeTransferFields
270 }
271
272 --ProbeTransferExtensions EXTENSION ::=
273 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
274    -- at most one instance of each extension type:
275 --   recipient-reassignment-prohibited | dl-expansion-prohibited |
276 --   conversion-with-loss-prohibited | originator-certificate |
277 --   message-security-label | content-correlator |
278 --   probe-origin-authentication-check | internal-trace-information |
279 --   PrivateExtensions, ...}
280
281 PerRecipientProbeTransferFields ::= SET {
282   recipient-name                         MTARecipientName,
283   originally-specified-recipient-number
284     [0]  OriginallySpecifiedRecipientNumber,
285   per-recipient-indicators               [1]  PerRecipientIndicators,
286   explicit-conversion                    [2]  ExplicitConversion OPTIONAL,
287   extensions
288     [3]  SET OF ExtensionField --{{PerRecipientProbeTransferExtensions}}
289       DEFAULT {}
290 }
291
292 --PerRecipientProbeTransferExtensions EXTENSION ::=
293 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
294    -- at most one instance of each extension type:
295 --   originator-requested-alternate-recipient | requested-delivery-method |
296 --   physical-rendition-attributes | redirection-history | PrivateExtensions, 
297 --   ...}
298
299 --      Report Transfer Envelope
300 ReportTransferEnvelope ::= SET {
301   report-identifier        ReportIdentifier,
302   report-destination-name  ReportDestinationName,
303   trace-information        TraceInformation,
304   extensions
305     [1]  SET OF ExtensionField --{{ReportTransferEnvelopeExtensions}}-- DEFAULT {}
306 }
307
308 --ReportTransferEnvelopeExtensions EXTENSION ::=
309 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
310    -- at most one instance of each extension type:
311 --   message-security-label | redirection-history |
312 --   originator-and-DL-expansion-history | reporting-DL-name |
313 --   reporting-MTA-certificate | report-origin-authentication-check |
314 --   internal-trace-information | reporting-MTA-name | PrivateExtensions, 
315 --   ...}
316
317 --      Report Transfer Content
318 ReportTransferContent ::= SET {
319 --  COMPONENTS OF PerReportTransferFields,
320 --  per-recipient-fields
321 --    [0]  SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportTransferFields
322 --}
323
324 --PerReportTransferFields ::= SET {
325   subject-identifier                      SubjectIdentifier,
326   subject-intermediate-trace-information
327     SubjectIntermediateTraceInformation OPTIONAL,
328   original-encoded-information-types
329     OriginalEncodedInformationTypes OPTIONAL,
330   content-type                            ContentType OPTIONAL,
331   content-identifier                      ContentIdentifier OPTIONAL,
332   returned-content                        [1]  Content OPTIONAL,
333   additional-information                  [2]  AdditionalInformation OPTIONAL,
334   extensions
335     [3]  SET OF ExtensionField --{{ReportTransferContentExtensions}}-- DEFAULT {}
336   ,per-recipient-fields
337     [0]  SEQUENCE -- SIZE (1..ub-recipients) -- OF PerRecipientReportTransferFields
338 }
339
340 --ReportTransferContentExtensions EXTENSION ::=
341 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
342    -- at most one instance of each extension type:
343 --   content-correlator | PrivateExtensions, ...}
344
345 PerRecipientReportTransferFields ::= SET {
346   actual-recipient-name                  [0]  MTAActualRecipientName,
347   originally-specified-recipient-number
348     [1]  OriginallySpecifiedRecipientNumber,
349   per-recipient-indicators               [2]  PerRecipientIndicators,
350   last-trace-information                 [3]  LastTraceInformation,
351   originally-intended-recipient-name
352     [4]  MTAOriginallyIntendedRecipientName OPTIONAL,
353   supplementary-information              [5]  SupplementaryInformation OPTIONAL,
354   extensions
355     [6]  SET OF ExtensionField --{{PerRecipientReportTransferExtensions}}
356       DEFAULT {}
357 }
358
359 --PerRecipientReportTransferExtensions EXTENSION ::=
360 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
361    -- at most one instance of each extension type:
362 --   redirection-history | physical-forwarding-address | recipient-certificate |
363 --   proof-of-delivery | PrivateExtensions, ...}
364
365 --      Envelope & Report Content Fields
366 MessageIdentifier ::= MTSIdentifier
367
368 MTAOriginatorName ::= ORAddressAndOptionalDirectoryName
369
370 PerDomainBilateralInformation ::= SEQUENCE {
371 --  COMPONENTS OF BILATERAL.&id,
372 --  bilateral-information  BILATERAL.&Type
373 --}
374
375 --BILATERAL ::= CLASS {&id    BilateralDomain UNIQUE,
376 --                     &Type  
377 --}WITH SYNTAX {&Type,
378 --              IDENTIFIED BY &id
379 --}
380
381 --BilateralDomain ::= SEQUENCE {
382   country-name  CountryName,
383   domain
384     CHOICE {administration-domain-name  AdministrationDomainName,
385             private-domain
386               SEQUENCE {administration-domain-name
387                           [0]  AdministrationDomainName,
388                         private-domain-identifier
389                           [1]  PrivateDomainIdentifier}},
390   bilateral-information  ANY
391 }
392
393 MTARecipientName ::= ORAddressAndOptionalDirectoryName
394
395 OriginallySpecifiedRecipientNumber ::= INTEGER --(1..ub-recipients)
396
397 PerRecipientIndicators ::= BIT STRING {
398   responsibility(0),
399   -- responsible 'one', not-responsible 'zero'
400   originating-MTA-report(1),
401   originating-MTA-non-delivery-report(2),
402   -- either originating-MTA-report, or originating-MTA-non-delivery-report,
403   -- or both, shall be 'one':
404   -- originating-MTA-report bit 'one' requests a 'report';
405   -- originating-MTA-non-delivery-report bit 'one' requests a 'non-delivery-report';
406   -- both bits 'one' requests an 'audited-report';
407   -- bits 0 - 2 'don't care' for Report Transfer Content
408   originator-report(3),
409   originator-non-delivery-report(4),
410   -- at most one bit shall be 'one':
411   -- originator-report bit 'one' requests a 'report';
412   -- originator-non-delivery-report bit 'one' requests a 'non-delivery-report';
413   -- both bits 'zero' requests 'no-report'
414   reserved-5(5), reserved-6(6), reserved-7(7)
415                                 
416 -- reserved- bits 5 - 7 shall be 'zero' --}--(SIZE (8..ub-bit-options))
417
418 ProbeIdentifier ::= MTSIdentifier
419
420 ReportIdentifier ::= MTSIdentifier
421
422 ReportDestinationName ::= ORAddressAndOptionalDirectoryName
423
424 SubjectIdentifier ::= MessageOrProbeIdentifier
425
426 MessageOrProbeIdentifier ::= MTSIdentifier
427
428 SubjectIntermediateTraceInformation ::= TraceInformation
429
430 --      AdditionalInformation is retained for backwards compatibility only, 
431 --      and use in new systems is strongly deprecated
432 --ADDITIONAL ::= CLASS {&Type  
433 --}
434
435 AdditionalInformation ::=
436   ANY --ADDITIONAL.&Type - - maximum ub-additional-info octets including all encoding
437
438 MTAActualRecipientName ::= ORAddressAndOptionalDirectoryName
439
440 LastTraceInformation ::= SET {
441   arrival-time                         [0]  ArrivalTime,
442   converted-encoded-information-types
443     ConvertedEncodedInformationTypes OPTIONAL,
444   report-type                          [1]  ReportType
445 }
446
447 MTAOriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
448
449 --      Extension Fields
450 --originator-requested-alternate-recipient EXTENSION ::= {
451 --  OriginatorRequestedAlternateRecipient,
452 --  IDENTIFIED BY  standard-extension:2
453 --}
454
455 MTAOriginatorRequestedAlternateRecipient ::= ORAddressAndOptionalDirectoryName
456
457 --trace-information EXTENSION ::= {
458 --  TraceInformation,
459 --  IDENTIFIED BY  standard-extension:37
460 --}
461
462 --internal-trace-information EXTENSION ::= {
463 --  InternalTraceInformation,
464 --  IDENTIFIED BY  standard-extension:38
465 --}
466
467 InternalTraceInformation ::=
468   SEQUENCE -- SIZE (1..ub-transfers)-- OF InternalTraceInformationElement
469
470 InternalTraceInformationElement ::= SEQUENCE {
471   global-domain-identifier  GlobalDomainIdentifier,
472   mta-name                  MTAName,
473   mta-supplied-information  MTASuppliedInformation
474 }
475
476 MTASuppliedInformation ::= SET {
477   arrival-time    [0]  ArrivalTime,
478   routing-action  [2]  RoutingAction,
479   attempted       CHOICE {mta     MTAName,
480                           domain  GlobalDomainIdentifier} OPTIONAL,
481   -- additional-actions - -COMPONENTS OF InternalAdditionalActions
482   deferred-time                        [1]  DeferredTime OPTIONAL,
483   converted-encoded-information-types
484     ConvertedEncodedInformationTypes OPTIONAL,
485   other-actions                        [3]  OtherActions DEFAULT {}
486 }
487
488 --InternalAdditionalActions ::= AdditionalActions
489
490 --      Common Parameter Types
491 TraceInformation ::=
492   [APPLICATION 9]  SEQUENCE -- SIZE (1..ub-transfers) -- OF TraceInformationElement
493
494 TraceInformationElement ::= SEQUENCE {
495   global-domain-identifier     GlobalDomainIdentifier,
496   domain-supplied-information  DomainSuppliedInformation
497 }
498
499 DomainSuppliedInformation ::= SET {
500   arrival-time      [0]  ArrivalTime,
501   routing-action    [2]  RoutingAction,
502   attempted-domain  GlobalDomainIdentifier OPTIONAL,
503   -- additional-actions - -COMPONENTS OF AdditionalActions
504 --}
505
506 --AdditionalActions ::= SET {
507   deferred-time                        [1]  DeferredTime OPTIONAL,
508   converted-encoded-information-types
509     ConvertedEncodedInformationTypes OPTIONAL,
510   other-actions                        [3]  OtherActions DEFAULT {}
511 }
512
513 RoutingAction ::= ENUMERATED {relayed(0), rerouted(1)}
514
515 DeferredTime ::= Time
516
517 ArrivalTime ::= Time
518
519 OtherActions ::= BIT STRING {redirected(0), dl-operation(1)
520 }--(SIZE (0..ub-bit-options))--
521
522 -- END - - of MTA Abstract Service
523
524 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
525
526 -- Module MTSAbstractService (X.411:06/1999)
527 --MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
528 --  mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
529 --BEGIN
530
531 --      Prologue
532 --      Exports everything
533 --IMPORTS
534   -- Remote Operations
535 --  CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE,
536 --    ROS-OBJECT-CLASS
537     --==
538 --    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
539 --      remote-operations(4) informationObjects(5) version1(0)}
540 --  emptyUnbind
541     --==
542 --    FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
543 --      remote-operations(4) useful-definitions(7) version1(0)}
544   -- MTA Abstract Service
545 --  internal-trace-information, trace-information
546     --==
547 --    FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
548 --      mta-abstract-service(2) version-1999(1)}
549   -- MS Abstract Service Extension
550 --  forwarding-request
551     --==
552 --    FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
553 --      abstract-service(1) version-1999(1)}
554   -- IPM Information Objects
555 --  IPMPerRecipientEnvelopeExtensions
556     --==
557 --    FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
558 --      information-objects(2) version-1999(1)}
559   -- Object Identifiers
560 --  id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access,
561 --    id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration,
562 --    id-pt-delivery, id-pt-submission, id-tok-asymmetricToken
563     --==
564 --    FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
565 --      object-identifiers(0) version-1999(1)}
566   -- Operation and Error Codes
567 --  err-control-violates-registration,
568 --    err-deferred-delivery-cancellation-rejected, err-delivery-control-violated,
569 --    err-element-of-service-not-subscribed, err-inconsistent-request,
570 --    err-message-submission-identifier-invalid,
571 --    err-new-credentials-unacceptable,
572 --    err-old-credentials-incorrectly-specified, err-operation-refused,
573 --    err-originator-invalid, err-recipient-improperly-specified,
574 --    err-register-rejected, err-remote-bind-error, err-security-error,
575 --    err-submission-control-violated, err-unsupported-critical-function,
576 --    op-cancel-deferred-delivery, op-change-credentials, op-delivery-control,
577 --    op-message-delivery, op-message-submission, op-probe-submission,
578 --    op-register, op-report-delivery, op-submission-control
579     --==
580 --    FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
581 --      mts-access-protocol(1) version-1999(1)}
582   -- Directory Definitions
583 --  Name
584     --==
585 --    FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
586 --      informationFramework(1) 3}
587 --  PresentationAddress
588     --==
589 --    FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
590 --      selectedAttributeTypes(5) 3}
591 --  ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{},
592 --    SIGNED{}
593     --==
594 --    FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
595 --      authenticationFramework(7) 3}
596   -- Certificate Extensions
597 --  CertificateAssertion
598     --==
599 --    FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
600 --      certificateExtensions(26) 0}
601   -- Upper Bounds
602 --  ub-bit-options, ub-built-in-content-type,
603 --    ub-built-in-encoded-information-types, ub-certificates,
604 --    ub-common-name-length, ub-content-id-length, ub-content-length,
605 --    ub-content-types, ub-country-name-alpha-length,
606 --    ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes,
607 --    ub-dl-expansions, ub-domain-defined-attributes,
608 --    ub-domain-defined-attribute-type-length,
609 --    ub-domain-defined-attribute-value-length, ub-domain-name-length,
610 --    ub-encoded-information-types, ub-extension-attributes, ub-extension-types,
611 --    ub-e163-4-number-length, ub-e163-4-sub-address-length,
612 --    ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
613 --    ub-integer-options, ub-local-id-length, ub-mta-name-length,
614 --    ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length,
615 --    ub-organizational-units, ub-organizational-unit-name-length,
616 --    ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length,
617 --    ub-pds-parameter-length, ub-pds-physical-address-lines,
618 --    ub-postal-code-length, ub-privacy-mark-length, ub-queue-size,
619 --    ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length,
620 --    ub-redirections, ub-redirection-classes, ub-restrictions,
621 --    ub-security-categories, ub-security-labels, ub-security-problems,
622 --    ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length,
623 --    ub-tsap-id-length, ub-unformatted-address-length,
624 --    ub-universal-generation-qualifier-length, ub-universal-given-name-length,
625 --    ub-universal-initials-length, ub-universal-surname-length,
626 --    ub-x121-address-length
627     --==
628 --    FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
629 --      upper-bounds(3) version-1999(1)};
630
631 --operationObject1 OPERATION ::= {LINKED  {operationObject2}
632 --}
633
634 --operationObject2 OPERATION ::= {LINKED  {operationObject3}
635 --}
636
637 --operationObject3 OPERATION ::= {LINKED  {operationObject4}
638 --}
639
640 --operationObject4 OPERATION ::= {LINKED  {...}
641 --}
642
643 --      Objects
644 --MHS-OBJECT ::= ROS-OBJECT-CLASS
645
646 --mts MHS-OBJECT ::= {
647 --  INITIATES  {mts-forced-access-contract}
648 --  RESPONDS   {mts-access-contract}
649 --  ID         id-ot-mts
650 --}
651
652 --mts-user MHS-OBJECT ::= {
653 --  INITIATES  {mts-access-contract}
654 --  RESPONDS   {mts-forced-access-contract}
655 --  ID         id-ot-mts-user
656 --}
657
658 -- Contracts
659 --mts-access-contract CONTRACT ::= {
660 --  CONNECTION             mts-connect
661 --  INITIATOR CONSUMER OF  {submission | delivery | administration}
662 --  ID                     id-ct-mts-access
663 --}
664
665 --mts-forced-access-contract CONTRACT ::= {
666 --  CONNECTION             mts-connect
667 --  RESPONDER CONSUMER OF  {submission | delivery | administration}
668 --  ID                     id-ct-mts-forced-access
669 --}
670
671 -- Connection package
672 --mts-connect CONNECTION-PACKAGE ::= {
673 --  BIND    mts-bind
674 --  UNBIND  mts-unbind
675 --  ID      id-cp-mts-connect
676 --}
677
678 --      Ports
679 --PORT ::= OPERATION-PACKAGE
680
681 --submission PORT ::= {
682 --  OPERATIONS        {operationObject1, ...}
683 --  CONSUMER INVOKES
684 --    {message-submission | probe-submission | cancel-deferred-delivery, ...}
685 --  SUPPLIER INVOKES  {submission-control, ...}
686 --  ID                id-pt-submission
687 --}
688
689 --delivery PORT ::= {
690 --  OPERATIONS        {operationObject1, ...}
691 --  CONSUMER INVOKES  {delivery-control, ...}
692 --  SUPPLIER INVOKES  {message-delivery | report-delivery, ...}
693 --  ID                id-pt-delivery
694 --}
695
696 --administration PORT ::= {
697 --  OPERATIONS        {change-credentials, ...}
698 --  CONSUMER INVOKES  {register, ...}
699 --  SUPPLIER INVOKES  {operationObject1, ...}
700 --  ID                id-pt-administration
701 --}
702
703 --      MTS-bind and MTS-unbind
704 --ABSTRACT-OPERATION ::= OPERATION
705
706 --ABSTRACT-ERROR ::= ERROR
707
708 --mts-bind ABSTRACT-OPERATION ::= {
709 --  ARGUMENT  MTSBindArgument
710 --  RESULT    MTSBindResult
711 --  ERRORS    {mts-bind-error}
712 --}
713
714 MTSBindArgument ::= SET {
715   initiator-name         ObjectName,
716   messages-waiting       [1] EXPLICIT MessagesWaiting OPTIONAL,
717   initiator-credentials  [2]  InitiatorCredentials,
718   security-context       [3]  SecurityContext OPTIONAL,
719 --  ...,
720   extensions
721     [5]  SET OF ExtensionField --{{MTSBindExtensions}}-- DEFAULT {}
722 }
723
724 --MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...}
725
726 -- May contain private extensions and future standardised extensions
727 MTSBindResult ::= SET {
728   responder-name         ObjectName,
729   messages-waiting       [1] EXPLICIT MessagesWaiting OPTIONAL,
730   responder-credentials  [2]  ResponderCredentials,
731   ...,
732   extensions
733     [5]  SET OF ExtensionField --{{MTSBindResultExtensions}}-- DEFAULT {}
734 }
735
736 --MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...}
737
738 -- May contain private extensions and future standardised extensions
739 MTSBindError --mts-bind-error ABSTRACT-ERROR-- ::= --{
740 --  PARAMETER
741     INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
742              unacceptable-security-context(4),
743              inadequate-association-confidentiality(5)}--(0..ub-integer-options)
744 --}
745
746 --mts-unbind ABSTRACT-OPERATION ::= emptyUnbind
747
748 --      Association Control Parameters
749 ObjectName ::= CHOICE {
750   user-agent     ORAddressAndOptionalDirectoryName,
751   mTA            [0]  MTAName,
752   message-store  [4]  ORAddressAndOptionalDirectoryName
753 }
754
755 MessagesWaiting ::= SET {
756   urgent      [0]  DeliveryQueue,
757   normal      [1]  DeliveryQueue,
758   non-urgent  [2]  DeliveryQueue
759 }
760
761 DeliveryQueue ::= SET {
762   messages  [0]  INTEGER --(0..ub-queue-size)--,
763   octets    [1]  INTEGER --(0..ub-content-length)-- OPTIONAL
764 }
765
766 InitiatorCredentials ::= Credentials
767
768 ResponderCredentials ::= Credentials
769
770 Credentials ::= CHOICE {
771   simple     Password,
772   strong     [0]  StrongCredentials,
773 --  ...,
774   protected  [1]  ProtectedPassword
775 }
776
777 Password ::= CHOICE {
778   ia5-string    IA5String --(SIZE (0..ub-password-length))--,
779   octet-string  OCTET STRING --(SIZE (0..ub-password-length))
780 }
781
782 StrongCredentials ::= SET {
783   bind-token               [0]  Token OPTIONAL,
784   certificate              [1]  Certificates OPTIONAL,
785 --  ...,
786   certificate-selector     [2]  CertificateAssertion OPTIONAL
787 }
788
789 ProtectedPassword ::= SET {
790   signature
791 --    SIGNATURE{SET {password  Password,
792 --                   time1     [0]  UTCTime OPTIONAL,
793 --                   time2     [1]  UTCTime OPTIONAL,
794 --                   random1   [2]  BIT STRING OPTIONAL,
795 --                   random2   [3]  BIT STRING OPTIONAL}},
796   Signature,
797   time1      [0]  UTCTime OPTIONAL,
798   time2      [1]  UTCTime OPTIONAL,
799   random1    [2]  BIT STRING OPTIONAL,
800   random2    [3]  BIT STRING OPTIONAL
801 }
802
803 Signature ::= SEQUENCE {
804   algorithmIdentifier   AlgorithmIdentifier,
805   encrypted             BIT STRING
806 }
807
808 SecurityContext ::= SET --SIZE (1..ub-security-labels)-- OF SecurityLabel
809
810 --      Submission Port
811 --message-submission ABSTRACT-OPERATION ::= {
812 --  ARGUMENT         MessageSubmissionArgument
813 --  RESULT           MessageSubmissionResult
814 --  ERRORS
815 --    {submission-control-violated | element-of-service-not-subscribed |
816 --      originator-invalid | recipient-improperly-specified |
817 --      inconsistent-request | security-error | unsupported-critical-function |
818 --      remote-bind-error}
819 --  LINKED           {operationObject1, ...}
820 --  INVOKE PRIORITY  {4 | 6 | 7}
821 --  CODE             op-message-submission
822 --}
823
824 MessageSubmissionArgument ::= SEQUENCE {
825   envelope  MessageSubmissionEnvelope,
826   content   Content
827 }
828
829 MessageSubmissionResult ::= SET {
830   message-submission-identifier  MessageSubmissionIdentifier,
831   message-submission-time        [0]  MessageSubmissionTime,
832   content-identifier             ContentIdentifier OPTIONAL,
833   extensions
834     [1]  SET OF ExtensionField --{{MessageSubmissionResultExtensions}}-- DEFAULT {}
835 }
836
837 --MessageSubmissionResultExtensions EXTENSION ::=
838 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
839 --   - - at most one instance of each extension type:
840 --   originating-MTA-certificate | proof-of-submission | PrivateExtensions, 
841 --   ...}
842
843 --probe-submission ABSTRACT-OPERATION ::= {
844 --  ARGUMENT         ProbeSubmissionArgument
845 --  RESULT           ProbeSubmissionResult
846 --  ERRORS
847 --    {submission-control-violated | element-of-service-not-subscribed |
848 --      originator-invalid | recipient-improperly-specified |
849 --      inconsistent-request | security-error | unsupported-critical-function |
850 --      remote-bind-error}
851 --  LINKED           {operationObject1, ...}
852 --  INVOKE PRIORITY  {5}
853 --  CODE             op-probe-submission
854 --}
855
856 ProbeSubmissionArgument ::= ProbeSubmissionEnvelope
857
858 ProbeSubmissionResult ::= SET {
859   probe-submission-identifier  ProbeSubmissionIdentifier,
860   probe-submission-time        [0]  ProbeSubmissionTime,
861   content-identifier           ContentIdentifier OPTIONAL,
862   extensions
863     [1]  SET OF ExtensionField --{{ProbeResultExtensions}}-- DEFAULT {}
864 }
865
866 --ProbeResultExtensions EXTENSION ::= {PrivateExtensions, ...}
867
868 -- May contain private extensions and future standardised extensions,
869 -- at most one instance of each extension type
870 --cancel-deferred-delivery ABSTRACT-OPERATION ::= {
871 --  ARGUMENT         CancelDeferredDeliveryArgument
872 --  RESULT           CancelDeferredDeliveryResult
873 --  ERRORS
874 --    {deferred-delivery-cancellation-rejected |
875 --      message-submission-identifier-invalid | remote-bind-error}
876 --  LINKED           {operationObject1, ...}
877 --  INVOKE PRIORITY  {3}
878 --  CODE             op-cancel-deferred-delivery
879 --}
880
881 CancelDeferredDeliveryArgument ::= MessageSubmissionIdentifier
882
883 CancelDeferredDeliveryResult ::= NULL
884
885 --submission-control ABSTRACT-OPERATION ::= {
886 --  ARGUMENT         SubmissionControlArgument
887 --  RESULT           SubmissionControlResult
888 --  ERRORS           {security-error | remote-bind-error}
889 --  LINKED           {operationObject1, ...}
890 --  INVOKE PRIORITY  {3}
891 --  CODE             op-submission-control
892 --}
893
894 SubmissionControlArgument ::= SubmissionControls
895
896 SubmissionControlResult ::= Waiting
897
898 --submission-control-violated ABSTRACT-ERROR ::= {
899 --  PARAMETER  NULL
900 --  CODE       err-submission-control-violated
901 --}
902
903 --element-of-service-not-subscribed ABSTRACT-ERROR ::= {
904 --  PARAMETER  NULL
905 --  CODE       err-element-of-service-not-subscribed
906 --}
907
908 --deferred-delivery-cancellation-rejected ABSTRACT-ERROR ::= {
909 --  PARAMETER  NULL
910 --  CODE       err-deferred-delivery-cancellation-rejected
911 --}
912
913 --originator-invalid ABSTRACT-ERROR ::= {
914 --  PARAMETER  NULL
915 --  CODE       err-originator-invalid
916 --}
917
918 --recipient-improperly-specified ABSTRACT-ERROR ::= {
919 --  PARAMETER  ImproperlySpecifiedRecipients
920 --  CODE       err-recipient-improperly-specified
921 --}
922
923 ImproperlySpecifiedRecipients ::=
924   SEQUENCE --SIZE (1..ub-recipients)-- OF MTSRecipientName
925
926 --message-submission-identifier-invalid ABSTRACT-ERROR ::= {
927 --  PARAMETER  NULL
928 --  CODE       err-message-submission-identifier-invalid
929 --}
930
931 --inconsistent-request ABSTRACT-ERROR ::= {
932 --  PARAMETER  NULL
933 --  CODE       err-inconsistent-request
934 --}
935
936 --security-error ABSTRACT-ERROR ::= {
937 --  PARAMETER  SecurityProblem
938 --  CODE       err-security-error
939 --}
940
941 SecurityProblem ::= INTEGER {
942   assemby-instructions-conflict-with-security-services(0),
943   authentication-problem(1), authentication-failure-on-subject-message(2),
944   confidentiality-association-problem(3), decryption-failed(4),
945   decryption-key-unobtainable(5), failure-of-proof-of-message(6),
946   forbidden-user-security-label-register(7),
947   incompatible-change-with-original-security-context(8),
948   integrity-failure-on-subject-message(9), invalid-security-label(10),
949   invalid-security-label-update(11), key-failure(12),
950   mandatory-parameter-absence(13), operation-security-failure(14),
951   redirection-prohibited(15), refused-alternate-recipient-name(16),
952   repudiation-failure-of-message(17),
953   responder-credentials-checking-problem(18), security-context-failure(19),
954   security-context-problem(20), security-policy-violation(21),
955   security-services-refusal(22), token-decryption-failed(23), token-error(24),
956   unable-to-aggregate-security-labels(25), unauthorised-dl-name(26),
957   unauthorised-entry-class(27),
958   unauthorised-originally-intended-recipient-name(28),
959   unauthorised-originator-name(29), unauthorised-recipient-name(30),
960   unauthorised-security-label-update(31), unauthorised-user-name(32),
961   unknown-security-label(33), unsupported-algorithm-identifier(34),
962   unsupported-security-policy(35)}(0..ub-security-problems)
963
964 --unsupported-critical-function ABSTRACT-ERROR ::= {
965 --  PARAMETER  NULL
966 --  CODE       err-unsupported-critical-function
967 --}
968
969 --remote-bind-error ABSTRACT-ERROR ::= {
970 --  PARAMETER  NULL
971 --  CODE       err-remote-bind-error
972 --}
973
974 --      Submission Port Parameters
975 MessageSubmissionIdentifier ::= MTSIdentifier
976
977 MessageSubmissionTime ::= Time
978
979 ProbeSubmissionIdentifier ::= MTSIdentifier
980
981 ProbeSubmissionTime ::= Time
982
983 SubmissionControls ::=
984   Controls
985     (WITH COMPONENTS {
986        ...,
987        permissible-content-types              ABSENT,
988        permissible-encoded-information-types  ABSENT
989      })
990
991 Waiting ::= SET {
992   waiting-operations                 [0]  Operations DEFAULT {},
993   waiting-messages                   [1]  WaitingMessages DEFAULT {},
994   waiting-content-types
995     [2]  SET --SIZE (0..ub-content-types)-- OF ContentType DEFAULT {},
996   waiting-encoded-information-types  EncodedInformationTypes OPTIONAL
997 }
998
999 Operations ::= BIT STRING {
1000   probe-submission-or-report-delivery(0),
1001   message-submission-or-message-delivery(1)}(SIZE (0..ub-bit-options))
1002
1003 -- holding 'one', not-holding 'zero'
1004 WaitingMessages ::= BIT STRING {
1005   long-content(0), low-priority(1), other-security-labels(2)
1006 }(SIZE (0..ub-bit-options))
1007
1008 --      Delivery Port
1009 --message-delivery ABSTRACT-OPERATION ::= {
1010 --  ARGUMENT         MessageDeliveryArgument
1011 --  RESULT           MessageDeliveryResult
1012 --  ERRORS
1013 --    {delivery-control-violated | security-error |
1014 --      unsupported-critical-function}
1015 --  LINKED           {operationObject1, ...}
1016 --  INVOKE PRIORITY  {4 | 6 | 7}
1017 --  CODE             op-message-delivery
1018 --}
1019
1020 MessageDeliveryArgument ::= SEQUENCE {
1021 --  COMPONENTS OF MessageDeliveryEnvelope,
1022   message-delivery-identifier  MessageDeliveryIdentifier,
1023   message-delivery-time        MessageDeliveryTime,
1024   other-fields                 OtherMessageDeliveryFields,
1025   content  Content
1026 }
1027
1028 MessageDeliveryResult ::= SET {
1029   recipient-certificate  [0]  RecipientCertificate OPTIONAL,
1030   proof-of-delivery      [1] IMPLICIT ProofOfDelivery OPTIONAL,
1031   ...,
1032   extensions
1033     [2]  SET OF ExtensionField --{{MessageDeliveryResultExtensions}}-- DEFAULT {}
1034 }
1035
1036 --MessageDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
1037
1038 -- May contain private extensions and future standardised extensions
1039 --report-delivery ABSTRACT-OPERATION ::= {
1040 --  ARGUMENT         ReportDeliveryArgument
1041 --  RESULT           ReportDeliveryResult
1042 --  ERRORS
1043 --    {delivery-control-violated | security-error |
1044 --      unsupported-critical-function}
1045 --  LINKED           {operationObject1, ...}
1046 --  INVOKE PRIORITY  {5}
1047 --  CODE             op-report-delivery
1048 --}
1049
1050 ReportDeliveryArgument ::= SET {
1051 --  COMPONENTS OF ReportDeliveryEnvelope
1052   subject-submission-identifier       SubjectSubmissionIdentifier,
1053   content-identifier                  ContentIdentifier OPTIONAL,
1054   content-type                        ContentType OPTIONAL,
1055   original-encoded-information-types  OriginalEncodedInformationTypes OPTIONAL,
1056   extensions
1057     [1]  SET OF ExtensionField --{{ReportDeliveryExtensions}}-- DEFAULT {},
1058   per-recipient-fields
1059     SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientReportDeliveryFields,
1060   returned-content  [0]  Content OPTIONAL
1061 }
1062
1063 ReportDeliveryResult ::= CHOICE {
1064   empty-result  NULL,
1065   ...,
1066   extensions
1067     SET --SIZE (1..MAX)-- OF ExtensionField --{{ReportDeliveryResultExtensions}}--
1068 }
1069
1070 --ReportDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
1071
1072 -- May contain private extensions and future standardised extensions
1073 --delivery-control ABSTRACT-OPERATION ::= {
1074 --  ARGUMENT         DeliveryControlArgument
1075 --  RESULT           DeliveryControlResult
1076 --  ERRORS
1077 --    {control-violates-registration | security-error | operation-refused}
1078 --  LINKED           {operationObject1, ...}
1079 --  INVOKE PRIORITY  {3}
1080 --  CODE             op-delivery-control
1081 --}
1082
1083 DeliveryControlArgument ::= SET {
1084 --  COMPONENTS OF DeliveryControls,
1085   restrict                               [0]  BOOLEAN DEFAULT TRUE,
1086   -- update 'TRUE', remove 'FALSE'
1087   permissible-operations                 [1]  Operations OPTIONAL,
1088   permissible-maximum-content-length     [2]  ContentLength OPTIONAL,
1089   permissible-lowest-priority            Priority OPTIONAL,
1090   permissible-content-types              [4]  ContentTypes OPTIONAL,
1091   permissible-encoded-information-types
1092     PermissibleEncodedInformationTypes OPTIONAL,
1093   permissible-security-context           [5]  SecurityContext OPTIONAL,
1094   extensions
1095     [6]  SET OF ExtensionField --{{DeliveryControlExtensions}}-- DEFAULT {}
1096 }
1097
1098 --DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...}
1099
1100 -- May contain private extensions and future standardised extensions
1101 DeliveryControlResult ::= SET {
1102 --  COMPONENTS OF Waiting,
1103   waiting-operations                 [0]  Operations DEFAULT {},
1104   waiting-messages                   [1]  WaitingMessages DEFAULT {},
1105   waiting-content-types
1106     [2]  SET --SIZE (0..ub-content-types)-- OF ContentType DEFAULT {},
1107   waiting-encoded-information-types  EncodedInformationTypes OPTIONAL,
1108   extensions
1109     [6]  SET OF ExtensionField --{{DeliveryControlResultExtensions}}--  DEFAULT {}
1110 }
1111
1112 --DeliveryControlResultExtensions EXTENSION ::= {PrivateExtensions, ...}
1113
1114 -- May contain private extensions and future standardised extensions
1115 --delivery-control-violated ABSTRACT-ERROR ::= {
1116 --  PARAMETER  NULL
1117 --  CODE       err-delivery-control-violated
1118 --}
1119
1120 --control-violates-registration ABSTRACT-ERROR ::= {
1121 --  PARAMETER  NULL
1122 --  CODE       err-control-violates-registration
1123 --}
1124
1125 --operation-refused ABSTRACT-ERROR ::= {
1126 --  PARAMETER  RefusedOperation
1127 --  CODE       err-operation-refused
1128 --}
1129
1130 RefusedOperation ::= SET {
1131   refused-argument
1132     CHOICE {built-in-argument  [1]  RefusedArgument,
1133             refused-extension  ANY --EXTENSION.&id --},
1134   refusal-reason    [2]  RefusalReason
1135 }
1136
1137 RefusedArgument ::= INTEGER {
1138   user-name(0), user-address(1), deliverable-content-types(2),
1139   deliverable-maximum-content-length(3),
1140   deliverable-encoded-information-types-constraints(4),
1141   deliverable-security-labels(5), recipient-assigned-redirections(6),
1142   restricted-delivery(7),
1143   retrieve-registrations(8), -- value 9 reserved for possible future extension to Register arguments
1144   restrict(10), permissible-operations(11), permissible-lowest-priority(12),
1145   permissible-encoded-information-types(13), permissible-content-types(14),
1146   permissible-maximum-content-length(15), permissible-security-context(16)
1147 }(0..ub-integer-options)
1148
1149 RefusalReason ::= INTEGER {
1150   facility-unavailable(0), facility-not-subscribed(1),
1151   parameter-unacceptable(2)}(0..ub-integer-options)
1152
1153 --      Delivery Port Parameters
1154 RecipientCertificate ::= Certificates
1155
1156 ProofOfDelivery ::= Signature
1157 --  SIGNATURE
1158 --    {SEQUENCE {algorithm-identifier
1159 --                 ProofOfDeliveryAlgorithmIdentifier,
1160 --               delivery-time                       MessageDeliveryTime,
1161 --               this-recipient-name                 ThisRecipientName,
1162 --               originally-intended-recipient-name
1163 --                 MTSOriginallyIntendedRecipientName OPTIONAL,
1164 --               content                             Content,
1165 --               content-identifier                  ContentIdentifier OPTIONAL,
1166 --               message-security-label
1167 --                 MessageSecurityLabel OPTIONAL}}
1168
1169 ProofOfDeliveryAlgorithmIdentifier ::= AlgorithmIdentifier
1170
1171 DeliveryControls ::= Controls
1172
1173 Controls ::= SET {
1174   restrict                               [0]  BOOLEAN DEFAULT TRUE,
1175   -- update 'TRUE', remove 'FALSE'
1176   permissible-operations                 [1]  Operations OPTIONAL,
1177   permissible-maximum-content-length     [2]  ContentLength OPTIONAL,
1178   permissible-lowest-priority            Priority OPTIONAL,
1179   permissible-content-types              [4]  ContentTypes OPTIONAL,
1180   permissible-encoded-information-types
1181     PermissibleEncodedInformationTypes OPTIONAL,
1182   permissible-security-context           [5]  SecurityContext OPTIONAL
1183 }
1184
1185 --      Note - The Tags [0], [1] and [2] are altered for the Register operation only.
1186 PermissibleEncodedInformationTypes ::=
1187   EncodedInformationTypesConstraints
1188
1189 --      Administration Port
1190 --register ABSTRACT-OPERATION ::= {
1191 --  ARGUMENT         RegisterArgument
1192 --  RESULT           RegisterResult
1193 --  ERRORS
1194 --    {register-rejected | remote-bind-error | operation-refused |
1195 --      security-error}
1196 --  LINKED           {operationObject1, ...}
1197 --  INVOKE PRIORITY  {5}
1198 --  CODE             op-register
1199 --}
1200
1201 RegisterArgument ::= SET {
1202   user-name                  UserName OPTIONAL,
1203   user-address               [0]  UserAddress OPTIONAL,
1204   deliverable-class
1205     SET --SIZE (1..ub-deliverable-class)-- OF DeliverableClass OPTIONAL,
1206   default-delivery-controls  [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
1207   redirections               [3]  Redirections OPTIONAL,
1208   restricted-delivery        [4]  RestrictedDelivery OPTIONAL,
1209   retrieve-registrations     [5]  RegistrationTypes OPTIONAL,
1210   extensions
1211     [6]  SET OF ExtensionField --{{RegisterExtensions}}-- DEFAULT {}
1212 }
1213
1214 --RegisterExtensions EXTENSION ::= {PrivateExtensions, ...}
1215
1216 -- May contain private extensions and future standardised extensions
1217 RegisterResult ::= CHOICE {
1218   empty-result      NULL,
1219   non-empty-result
1220     SET {registered-information
1221            [0]  RegisterArgument
1222 --                  (WITH COMPONENTS {
1223 --                     ...,
1224 --                     retrieve-registrations  ABSENT
1225 --                   }) OPTIONAL--,
1226          extensions
1227            [1]  SET OF ExtensionField --{{RegisterResultExtensions}}-- DEFAULT {}
1228   }
1229 }
1230
1231 --RegisterResultExtensions EXTENSION ::= {PrivateExtensions, ...}
1232
1233 -- May contain private extensions and future standardised extensions
1234 --change-credentials ABSTRACT-OPERATION ::= {
1235 --  ARGUMENT         ChangeCredentialsArgument
1236 --  RESULT           NULL
1237 --  ERRORS
1238 --    {new-credentials-unacceptable | old-credentials-incorrectly-specified |
1239 --      remote-bind-error | security-error}
1240 --  LINKED           {operationObject1, ...}
1241 --  INVOKE PRIORITY  {5}
1242 --  CODE             op-change-credentials
1243 --}
1244
1245 ChangeCredentialsArgument ::= SET {
1246   old-credentials  [0]  Credentials(WITH COMPONENTS {
1247                                       simple  
1248                                     }),
1249   new-credentials  [1]  Credentials(WITH COMPONENTS {
1250                                       simple  
1251                                     })
1252 }
1253
1254 --register-rejected ABSTRACT-ERROR ::= {
1255 --  PARAMETER  NULL
1256 --  CODE       err-register-rejected
1257 --}
1258
1259 --new-credentials-unacceptable ABSTRACT-ERROR ::= {
1260 --  PARAMETER  NULL
1261 --  CODE       err-new-credentials-unacceptable
1262 --}
1263
1264 --old-credentials-incorrectly-specified ABSTRACT-ERROR ::= {
1265 --  PARAMETER  NULL
1266 --  CODE       err-old-credentials-incorrectly-specified
1267 --}
1268
1269 --      Administration Port Parameters
1270 UserName ::= ORAddressAndOptionalDirectoryName
1271
1272 UserAddress ::= CHOICE {
1273   x121
1274     [0]  SEQUENCE {x121-address
1275                      NumericString --(SIZE (1..ub-x121-address-length))-- OPTIONAL,
1276                    tsap-id
1277                      PrintableString --(SIZE (1..ub-tsap-id-length))-- OPTIONAL
1278   },
1279   presentation  [1]  PSAPAddress
1280 }
1281
1282 PSAPAddress ::= PresentationAddress
1283
1284 DeliverableClass ::=
1285   MessageClass
1286     (WITH COMPONENTS {
1287        ...,
1288        priority         ABSENT,
1289        -- The 'objects' component shall always be defaulted.
1290        -- objects ABSENT,
1291        -- A component with a DEFAULT clause cannot be ABSENT 
1292        applies-only-to  ABSENT
1293      })
1294
1295 DefaultDeliveryControls ::=
1296   Controls
1297     (WITH COMPONENTS {
1298        ...,
1299        
1300        -- The 'restrict' component shall always be defaulted.
1301        -- restrict ABSENT,
1302        -- A component with a DEFAULT clause cannot be ABSENT 
1303        permissible-security-context  ABSENT
1304      })
1305
1306 Redirections ::= SEQUENCE SIZE (1..ub-redirections) OF RecipientRedirection
1307
1308 RecipientRedirection ::= SET {
1309   redirection-classes
1310     [0]  SET --SIZE (1..ub-redirection-classes)-- OF RedirectionClass OPTIONAL,
1311   recipient-assigned-alternate-recipient
1312     [1]  RecipientAssignedAlternateRecipient OPTIONAL
1313 }
1314
1315 RedirectionClass ::= MessageClass
1316
1317 MessageClass ::= SET {
1318   content-types                          [0]  ContentTypes OPTIONAL,
1319   maximum-content-length                 [1]  ContentLength OPTIONAL,
1320   encoded-information-types-constraints
1321     [2]  EncodedInformationTypesConstraints OPTIONAL,
1322   security-labels                        [3]  SecurityContext OPTIONAL,
1323   priority                               [4]  SET OF Priority OPTIONAL,
1324   objects
1325     [5]  ENUMERATED {messages(0), reports(1), both(2), ...
1326                      } DEFAULT both,
1327   applies-only-to                        [6]  SEQUENCE OF Restriction OPTIONAL, -- Not considered in the case of Reports 
1328   extensions
1329     [7]  SET OF ExtensionField --{{MessageClassExtensions}}-- DEFAULT {}
1330 }
1331
1332 EncodedInformationTypesConstraints ::= SEQUENCE {
1333   unacceptable-eits            [0]  ExtendedEncodedInformationTypes OPTIONAL,
1334   acceptable-eits              [1]  ExtendedEncodedInformationTypes OPTIONAL,
1335   exclusively-acceptable-eits  [2]  ExtendedEncodedInformationTypes OPTIONAL
1336 }
1337
1338 --MessageClassExtensions EXTENSION ::= {PrivateExtensions, ...}
1339
1340 -- May contain private extensions and future standardised extensions
1341 RecipientAssignedAlternateRecipient ::=
1342   ORAddressAndOrDirectoryName
1343
1344 RestrictedDelivery ::= SEQUENCE SIZE (1..ub-restrictions) OF Restriction
1345
1346 Restriction ::= SET {
1347   permitted    BOOLEAN DEFAULT TRUE,
1348   source-type
1349     BIT STRING {originated-by(0), redirected-by(1), dl-expanded-by(2)}
1350 --      DEFAULT {originated-by, redirected-by, dl-expanded-by}--,
1351   source-name  ExactOrPattern OPTIONAL
1352 }
1353
1354 ExactOrPattern ::= CHOICE {
1355   exact-match    [0]  ORName,
1356   pattern-match  [1]  ORName
1357 }
1358
1359 RegistrationTypes ::= SEQUENCE {
1360   standard-parameters
1361     [0]  BIT STRING {user-name(0), user-address(1), deliverable-class(2),
1362                      default-delivery-controls(3), redirections(4),
1363                      restricted-delivery(5)} OPTIONAL,
1364   extensions           [1]  SET OF ANY --EXTENSION.&id({RegisterExtensions})-- OPTIONAL
1365 }
1366
1367 --      Message Submission Envelope
1368 MessageSubmissionEnvelope ::= SET {
1369 --  COMPONENTS OF PerMessageSubmissionFields,
1370 --  per-recipient-fields
1371 --    [1]  SEQUENCE SIZE (1..ub-recipients) OF
1372 --           PerRecipientMessageSubmissionFields
1373 --}
1374
1375 --PerMessageSubmissionFields ::= SET {
1376   originator-name                     MTSOriginatorName,
1377   original-encoded-information-types  OriginalEncodedInformationTypes OPTIONAL,
1378   content-type                        ContentType,
1379   content-identifier                  ContentIdentifier OPTIONAL,
1380   priority                            Priority DEFAULT normal,
1381   per-message-indicators              PerMessageIndicators DEFAULT {},
1382   deferred-delivery-time              [0]  DeferredDeliveryTime OPTIONAL,
1383   extensions
1384     [2]  SET OF ExtensionField --{{PerMessageSubmissionExtensions}}-- DEFAULT {}
1385     ,per-recipient-fields
1386     [1]  SEQUENCE --SIZE (1..ub-recipients)-- OF
1387            PerRecipientMessageSubmissionFields
1388
1389 }
1390
1391 --PerMessageSubmissionExtensions EXTENSION ::=
1392 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
1393    -- at most one instance of each extension type:
1394 --   recipient-reassignment-prohibited | dl-expansion-prohibited |
1395 --   conversion-with-loss-prohibited | latest-delivery-time |
1396 --   originator-return-address | originator-certificate |
1397 --   content-confidentiality-algorithm-identifier |
1398 --   message-origin-authentication-check | message-security-label |
1399 --   proof-of-submission-request | content-correlator | dl-exempted-recipients |
1400 --   certificate-selectors | multiple-originator-certificates |
1401 --   forwarding-request - - for MS Abstract Service only - - | PrivateExtensions, 
1402 --   ...}
1403
1404 PerRecipientMessageSubmissionFields ::= SET {
1405   recipient-name             MTSRecipientName,
1406   originator-report-request  [0]  OriginatorReportRequest,
1407   explicit-conversion        [1]  ExplicitConversion OPTIONAL,
1408   extensions
1409     [2]  SET OF ExtensionField --{{PerRecipientMessageSubmissionExtensions}}--
1410       DEFAULT {}
1411 }
1412
1413 --PerRecipientMessageSubmissionExtensions EXTENSION ::=
1414 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
1415    -- at most one instance of each extension type:
1416 --   originator-requested-alternate-recipient | requested-delivery-method |
1417 --   physical-forwarding-prohibited | physical-forwarding-address-request |
1418 --   physical-delivery-modes | registered-mail-type | recipient-number-for-advice
1419 --   | physical-rendition-attributes | physical-delivery-report-request |
1420 --   message-token | content-integrity-check | proof-of-delivery-request |
1421 --   certificate-selectors-override | recipient-certificate |
1422 --   IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
1423
1424 --      Probe Submission Envelope
1425 ProbeSubmissionEnvelope ::= SET {
1426 --  COMPONENTS OF PerProbeSubmissionFields,
1427 --  per-recipient-fields
1428 --    [3]  SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields
1429 --}
1430
1431 --PerProbeSubmissionFields ::= SET {
1432   originator-name                     MTSOriginatorName,
1433   original-encoded-information-types  OriginalEncodedInformationTypes OPTIONAL,
1434   content-type                        ContentType,
1435   content-identifier                  ContentIdentifier OPTIONAL,
1436   content-length                      [0]  ContentLength OPTIONAL,
1437   per-message-indicators              PerMessageIndicators DEFAULT {},
1438   extensions
1439     [2]  SET OF ExtensionField --{{PerProbeSubmissionExtensions}}-- DEFAULT {}
1440   ,per-recipient-fields
1441     [3]  SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientProbeSubmissionFields
1442
1443 }
1444
1445 --PerProbeSubmissionExtensions EXTENSION ::=
1446 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
1447    -- at most one instance of each extension type:
1448 --   recipient-reassignment-prohibited | dl-expansion-prohibited |
1449 --   conversion-with-loss-prohibited | originator-certificate |
1450 --   message-security-label | content-correlator |
1451 --   probe-origin-authentication-check | PrivateExtensions, ...}
1452
1453 PerRecipientProbeSubmissionFields ::= SET {
1454   recipient-name             MTSRecipientName,
1455   originator-report-request  [0]  OriginatorReportRequest,
1456   explicit-conversion        [1]  ExplicitConversion OPTIONAL,
1457   extensions
1458     [2]  SET OF ExtensionField --{{PerRecipientProbeSubmissionExtensions}}
1459       DEFAULT {}
1460 }
1461
1462 --PerRecipientProbeSubmissionExtensions EXTENSION ::=
1463 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
1464    -- at most one instance of each extension type:
1465 --   originator-requested-alternate-recipient | requested-delivery-method |
1466 --   physical-rendition-attributes | PrivateExtensions, ...}
1467
1468 --      Message Delivery Envelope
1469 MessageDeliveryEnvelope ::= SEQUENCE {
1470   message-delivery-identifier  MessageDeliveryIdentifier,
1471   message-delivery-time        MessageDeliveryTime,
1472   other-fields                 OtherMessageDeliveryFields
1473 }
1474
1475 OtherMessageDeliveryFields ::= SET {
1476   content-type                         DeliveredContentType,
1477   originator-name                      DeliveredOriginatorName,
1478   original-encoded-information-types
1479     [1]  OriginalEncodedInformationTypes OPTIONAL,
1480   priority                             Priority DEFAULT normal,
1481   delivery-flags                       [2]  DeliveryFlags OPTIONAL,
1482   other-recipient-names                [3]  OtherRecipientNames OPTIONAL,
1483   this-recipient-name                  [4]  ThisRecipientName,
1484   originally-intended-recipient-name
1485     [5]  MTSOriginallyIntendedRecipientName OPTIONAL,
1486   converted-encoded-information-types
1487     [6]  ConvertedEncodedInformationTypes OPTIONAL,
1488   message-submission-time              [7]  MessageSubmissionTime,
1489   content-identifier                   [8]  ContentIdentifier OPTIONAL,
1490   extensions
1491     [9]  SET OF ExtensionField --{{MessageDeliveryExtensions}}-- DEFAULT {}
1492 }
1493
1494 --MessageDeliveryExtensions EXTENSION ::=
1495 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
1496    -- at most one instance of each extension type:
1497 --   conversion-with-loss-prohibited | requested-delivery-method |
1498 --   physical-forwarding-prohibited | physical-forwarding-address-request |
1499 --   physical-delivery-modes | registered-mail-type | recipient-number-for-advice
1500 --   | physical-rendition-attributes | originator-return-address |
1501 --   physical-delivery-report-request | originator-certificate | message-token |
1502 --   content-confidentiality-algorithm-identifier | content-integrity-check |
1503 --   message-origin-authentication-check | message-security-label |
1504 --   proof-of-delivery-request | dl-exempted-recipients | certificate-selectors |
1505 --   certificate-selectors-override | multiple-originator-certificates |
1506 --   recipient-certificate | IPMPerRecipientEnvelopeExtensions |
1507 --   redirection-history | dl-expansion-history | trace-information |
1508 --   internal-trace-information | PrivateExtensions, ...}
1509
1510 --      Report Delivery Envelope
1511 ReportDeliveryEnvelope ::= SET {
1512 --  COMPONENTS OF PerReportDeliveryFields,
1513 --  per-recipient-fields
1514 --    SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportDeliveryFields
1515 --}
1516
1517 --PerReportDeliveryFields ::= SET {
1518   subject-submission-identifier       SubjectSubmissionIdentifier,
1519   content-identifier                  ContentIdentifier OPTIONAL,
1520   content-type                        ContentType OPTIONAL,
1521   original-encoded-information-types  OriginalEncodedInformationTypes OPTIONAL,
1522   extensions
1523     [1]  SET OF ExtensionField --{{ReportDeliveryExtensions}}-- DEFAULT {}
1524   ,per-recipient-fields
1525     SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientReportDeliveryFields
1526
1527 }
1528
1529 --ReportDeliveryExtensions EXTENSION ::=
1530 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
1531    -- at most one instance of each extension type:
1532 --   message-security-label | content-correlator | redirection-history |
1533 --   originator-and-DL-expansion-history | reporting-DL-name |
1534 --   reporting-MTA-certificate | report-origin-authentication-check |
1535 --   trace-information | internal-trace-information | reporting-MTA-name |
1536 --   PrivateExtensions, ...}
1537
1538 PerRecipientReportDeliveryFields ::= SET {
1539   actual-recipient-name                [0]  MTSActualRecipientName,
1540   report-type                          [1]  ReportType,
1541   converted-encoded-information-types
1542     ConvertedEncodedInformationTypes OPTIONAL,
1543   originally-intended-recipient-name
1544     [2]  MTSOriginallyIntendedRecipientName OPTIONAL,
1545   supplementary-information            [3]  SupplementaryInformation OPTIONAL,
1546   extensions
1547     [4]  SET OF ExtensionField --{{PerRecipientReportDeliveryExtensions}}--
1548       DEFAULT {}
1549 }
1550
1551 --PerRecipientReportDeliveryExtensions EXTENSION ::=
1552 --  {- - May contain the following extensions, private extensions, and future standardised extensions,
1553    -- at most one instance of each extension type:
1554 --   redirection-history | physical-forwarding-address | recipient-certificate |
1555 --   proof-of-delivery | PrivateExtensions, ...}
1556
1557 ReportType ::= CHOICE {
1558   delivery      [0]  DeliveryReport,
1559   non-delivery  [1]  NonDeliveryReport
1560 }
1561
1562 DeliveryReport ::= SET {
1563   message-delivery-time  [0]  MessageDeliveryTime,
1564   type-of-MTS-user       [1]  TypeOfMTSUser DEFAULT public
1565 }
1566
1567 NonDeliveryReport ::= SET {
1568   non-delivery-reason-code      [0]  NonDeliveryReasonCode,
1569   non-delivery-diagnostic-code  [1]  NonDeliveryDiagnosticCode OPTIONAL
1570 }
1571
1572 --      Envelope Fields
1573 MTSOriginatorName ::= ORAddressAndOrDirectoryName
1574
1575 DeliveredOriginatorName ::= ORAddressAndOptionalDirectoryName
1576
1577 OriginalEncodedInformationTypes ::= EncodedInformationTypes
1578
1579 ContentTypes ::= SET --SIZE (1..ub-content-types)-- OF ContentType
1580
1581 ContentType ::= CHOICE {
1582   built-in  BuiltInContentType,
1583   extended  ExtendedContentType
1584 }
1585
1586 BuiltInContentType ::= [APPLICATION 6]  INTEGER {
1587   unidentified(0),
1588   external(1), -- identified by the object-identifier of the EXTERNAL content
1589   interpersonal-messaging-1984(2), interpersonal-messaging-1988(22),
1590   edi-messaging(35), voice-messaging(40)} --(0..ub-built-in-content-type)
1591
1592 ExtendedContentType ::= OBJECT IDENTIFIER -- RELATIVE-OID
1593
1594 DeliveredContentType ::= CHOICE {
1595   built-in  [0]  BuiltInContentType,
1596   extended  ExtendedContentType
1597 }
1598
1599 ContentIdentifier ::=
1600   [APPLICATION 10]  PrintableString --(SIZE (1..ub-content-id-length))
1601
1602 PerMessageIndicators ::= [APPLICATION 8]  BIT STRING {
1603   disclosure-of-other-recipients(0), -- disclosure-of-other-recipients-requested 'one',
1604   
1605   -- disclosure-of-other-recipients-prohibited 'zero';
1606   -- ignored for Probe-submission
1607   implicit-conversion-prohibited(1), -- implicit-conversion-prohibited 'one', 
1608   
1609   -- implicit-conversion-allowed 'zero'
1610   alternate-recipient-allowed(2), -- alternate-recipient-allowed 'one',
1611   
1612   -- alternate-recipient-prohibited 'zero'
1613   content-return-request(3), -- content-return-requested 'one', 
1614   
1615   -- content-return-not-requested 'zero';
1616   -- ignored for Probe-submission
1617   reserved(4), -- bit reserved by MOTIS 1986
1618   bit-5(5),
1619   bit-6(6), -- notification type-1 : bit 5 'zero' and bit 6 'one'
1620   
1621   -- notification type-2 : bit 5 'one' and bit 6 'zero'
1622   -- notification type-3 : bit 5 'one' and bit 6 'one'
1623   -- the mapping between notification type 1, 2, 3
1624   -- and the content specific notification types are defined
1625   -- in relevant content specifications
1626   service-message(7) -- the message content is for service purposes;
1627   
1628   
1629 -- it may be a notification related to a service message;
1630 -- used only by bilateral agreement --}(SIZE (0..ub-bit-options))
1631
1632 MTSRecipientName ::= ORAddressAndOrDirectoryName
1633
1634 OriginatorReportRequest ::= BIT STRING {report(3), non-delivery-report(4)
1635                                                    
1636 -- at most one bit shall be 'one':
1637 -- report bit 'one' requests a 'report';
1638 -- non-delivery-report bit 'one' requests a 'non-delivery-report';
1639 -- both bits 'zero' requests 'no-report' --}(SIZE (0..ub-bit-options))
1640
1641 ExplicitConversion ::= INTEGER {
1642   ia5-text-to-teletex(0),
1643   -- values 1 to 7 are no longer defined
1644   ia5-text-to-g3-facsimile(8), ia5-text-to-g4-class-1(9),
1645   ia5-text-to-videotex(10), teletex-to-ia5-text(11),
1646   teletex-to-g3-facsimile(12), teletex-to-g4-class-1(13),
1647   teletex-to-videotex(14),
1648   -- value 15 is no longer defined
1649   videotex-to-ia5-text(16), videotex-to-teletex(17)}(0..ub-integer-options)
1650
1651 DeferredDeliveryTime ::= Time
1652
1653 Priority ::= [APPLICATION 7]  ENUMERATED {normal(0), non-urgent(1), urgent(2)}
1654
1655 ContentLength ::= INTEGER(0..ub-content-length)
1656
1657 MessageDeliveryIdentifier ::= MTSIdentifier
1658
1659 MessageDeliveryTime ::= Time
1660
1661 DeliveryFlags ::= BIT STRING {
1662   implicit-conversion-prohibited(1) -- implicit-conversion-prohibited 'one', 
1663   
1664   -- implicit-conversion-allowed 'zero' --}(SIZE (0..ub-bit-options))
1665
1666 OtherRecipientNames ::= SEQUENCE --SIZE (1..ub-recipients)-- OF OtherRecipientName
1667
1668 OtherRecipientName ::= ORAddressAndOptionalDirectoryName
1669
1670 ThisRecipientName ::= ORAddressAndOptionalDirectoryName
1671
1672 MTSOriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
1673
1674 ConvertedEncodedInformationTypes ::= EncodedInformationTypes
1675
1676 SubjectSubmissionIdentifier ::= MTSIdentifier
1677
1678 MTSActualRecipientName ::= ORAddressAndOrDirectoryName
1679
1680 TypeOfMTSUser ::= INTEGER {
1681   public(0), private(1), ms(2), dl(3), pdau(4), physical-recipient(5), other(6)
1682 }(0..ub-mts-user-types)
1683
1684 NonDeliveryReasonCode ::= INTEGER {
1685   transfer-failure(0), unable-to-transfer(1), conversion-not-performed(2),
1686   physical-rendition-not-performed(3), physical-delivery-not-performed(4),
1687   restricted-delivery(5), directory-operation-unsuccessful(6),
1688   deferred-delivery-not-performed(7), transfer-failure-for-security-reason(8)
1689 }(0..ub-reason-codes)
1690
1691 NonDeliveryDiagnosticCode ::= INTEGER {
1692   unrecognised-OR-name(0), ambiguous-OR-name(1), mts-congestion(2),
1693   loop-detected(3), recipient-unavailable(4), maximum-time-expired(5),
1694   encoded-information-types-unsupported(6), content-too-long(7),
1695   conversion-impractical(8), implicit-conversion-prohibited(9),
1696   implicit-conversion-not-subscribed(10), invalid-arguments(11),
1697   content-syntax-error(12), size-constraint-violation(13),
1698   protocol-violation(14), content-type-not-supported(15),
1699   too-many-recipients(16), no-bilateral-agreement(17),
1700   unsupported-critical-function(18), conversion-with-loss-prohibited(19),
1701   line-too-long(20), page-split(21), pictorial-symbol-loss(22),
1702   punctuation-symbol-loss(23), alphabetic-character-loss(24),
1703   multiple-information-loss(25), recipient-reassignment-prohibited(26),
1704   redirection-loop-detected(27), dl-expansion-prohibited(28),
1705   no-dl-submit-permission(29), dl-expansion-failure(30),
1706   physical-rendition-attributes-not-supported(31),
1707   undeliverable-mail-physical-delivery-address-incorrect(32),
1708   undeliverable-mail-physical-delivery-office-incorrect-or-invalid(33),
1709   undeliverable-mail-physical-delivery-address-incomplete(34),
1710   undeliverable-mail-recipient-unknown(35),
1711   undeliverable-mail-recipient-deceased(36),
1712   undeliverable-mail-organization-expired(37),
1713   undeliverable-mail-recipient-refused-to-accept(38),
1714   undeliverable-mail-recipient-did-not-claim(39),
1715   undeliverable-mail-recipient-changed-address-permanently(40),
1716   undeliverable-mail-recipient-changed-address-temporarily(41),
1717   undeliverable-mail-recipient-changed-temporary-address(42),
1718   undeliverable-mail-new-address-unknown(43),
1719   undeliverable-mail-recipient-did-not-want-forwarding(44),
1720   undeliverable-mail-originator-prohibited-forwarding(45),
1721   secure-messaging-error(46), unable-to-downgrade(47),
1722   unable-to-complete-transfer(48), transfer-attempts-limit-reached(49),
1723   incorrect-notification-type(50),
1724   dl-expansion-prohibited-by-security-policy(51),
1725   forbidden-alternate-recipient(52), security-policy-violation(53),
1726   security-services-refusal(54), unauthorised-dl-member(55),
1727   unauthorised-dl-name(56),
1728   unauthorised-originally-intended-recipient-name(57),
1729   unauthorised-originator-name(58), unauthorised-recipient-name(59),
1730   unreliable-system(60), authentication-failure-on-subject-message(61),
1731   decryption-failed(62), decryption-key-unobtainable(63),
1732   double-envelope-creation-failure(64),
1733   double-enveloping-message-restoring-failure(65),
1734   failure-of-proof-of-message(66), integrity-failure-on-subject-message(67),
1735   invalid-security-label(68), key-failure(69), mandatory-parameter-absence(70),
1736   operation-security-failure(71), repudiation-failure-of-message(72),
1737   security-context-failure(73), token-decryption-failed(74), token-error(75),
1738   unknown-security-label(76), unsupported-algorithm-identifier(77),
1739   unsupported-security-policy(78)}(0..ub-diagnostic-codes)
1740
1741 SupplementaryInformation ::=
1742   PrintableString(SIZE (1..ub-supplementary-info-length))
1743
1744 --      Extension Fields
1745 --EXTENSION ::= CLASS {
1746 --  &id           ExtensionType UNIQUE,
1747 --  &Type         OPTIONAL,
1748 --  &absent       &Type OPTIONAL,
1749 --  &recommended  Criticality DEFAULT {}
1750 --}
1751 --WITH SYNTAX {
1752 --  [&Type
1753 --   [IF ABSENT &absent],]
1754 --  [RECOMMENDED CRITICALITY &recommended,]
1755 --  IDENTIFIED BY &id
1756 --}
1757
1758 ExtensionType ::= CHOICE {
1759   standard-extension  [0]  INTEGER --(0..ub-extension-types)--,
1760   private-extension   [3]  OBJECT IDENTIFIER
1761 }
1762
1763 Criticality ::= BIT STRING {for-submission(0), for-transfer(1), for-delivery(2)
1764 } -- (SIZE (0..ub-bit-options)) - - critical 'one', non-critical 'zero'
1765  
1766
1767 ExtensionField --{EXTENSION:ChosenFrom}-- ::= SEQUENCE {
1768   type         ExtensionType --EXTENSION.&id({ChosenFrom})--,
1769   criticality  [1]  Criticality DEFAULT {},
1770   value        [2]  ANY --EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
1771 }
1772
1773 --PrivateExtensions EXTENSION ::=
1774 --  {- - Any value shall be relayed and delivered if not Critical (see Table 27)
1775    -- except those values whose semantics the MTA obeys which are defined to be removed when obeyed.
1776 --   - - Shall be IDENTIFIED BY ExtensionType.private-extension - -...}
1777
1778 --recipient-reassignment-prohibited EXTENSION ::= {
1779 --  RecipientReassignmentProhibited
1780 --  IF ABSENT                recipient-reassignment-allowed,
1781 --  RECOMMENDED CRITICALITY  {for-delivery},
1782 --  IDENTIFIED BY            standard-extension:1
1783 --}
1784
1785 RecipientReassignmentProhibited ::= ENUMERATED {
1786   recipient-reassignment-allowed(0), recipient-reassignment-prohibited(1)
1787 }
1788
1789 --originator-requested-alternate-recipient EXTENSION ::= {
1790 --  OriginatorRequestedAlternateRecipient,
1791 --  RECOMMENDED CRITICALITY  {for-submission},
1792 --  IDENTIFIED BY            standard-extension:2
1793 --}
1794
1795 MTSOriginatorRequestedAlternateRecipient ::= ORAddressAndOrDirectoryName
1796
1797 -- OriginatorRequestedAlternateRecipient as defined here differs from the field of the same name 
1798 -- defined in Figure 4, since on submission the OR-address need not be present, but on 
1799 -- transfer the OR-address must be present.
1800 --dl-expansion-prohibited EXTENSION ::= {
1801 --  DLExpansionProhibited
1802 --  IF ABSENT                dl-expansion-allowed,
1803 --  RECOMMENDED CRITICALITY  {for-delivery},
1804 --  IDENTIFIED BY            standard-extension:3
1805 --}
1806
1807 DLExpansionProhibited ::= ENUMERATED {
1808   dl-expansion-allowed(0), dl-expansion-prohibited(1)}
1809
1810 --conversion-with-loss-prohibited EXTENSION ::= {
1811 --  ConversionWithLossProhibited
1812 --  IF ABSENT                conversion-with-loss-allowed,
1813 --  RECOMMENDED CRITICALITY  {for-delivery},
1814 --  IDENTIFIED BY            standard-extension:4
1815 --}
1816
1817 ConversionWithLossProhibited ::= ENUMERATED {
1818   conversion-with-loss-allowed(0), conversion-with-loss-prohibited(1)
1819 }
1820
1821 --latest-delivery-time EXTENSION ::= {
1822 --  LatestDeliveryTime,
1823 --  RECOMMENDED CRITICALITY  {for-delivery},
1824 --  IDENTIFIED BY            standard-extension:5
1825 --}
1826
1827 LatestDeliveryTime ::= Time
1828
1829 --requested-delivery-method EXTENSION ::= {
1830 --  RequestedDeliveryMethod
1831 --  IF ABSENT      {any-delivery-method},
1832 --  IDENTIFIED BY  standard-extension:6
1833 --}
1834
1835 RequestedDeliveryMethod ::=
1836   SEQUENCE OF INTEGER { -- each different in order of preference,
1837       -- most preferred first
1838       any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
1839       telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
1840   
1841     g4-facsimile-delivery(6), ia5-terminal-delivery(7), videotex-delivery(8),
1842       telephone-delivery(9)}(0..ub-integer-options)
1843
1844 --physical-forwarding-prohibited EXTENSION ::= {
1845 --  PhysicalForwardingProhibited
1846 --  IF ABSENT                physical-forwarding-allowed,
1847 --  RECOMMENDED CRITICALITY  {for-delivery},
1848 --  IDENTIFIED BY            standard-extension:7
1849 --}
1850
1851 PhysicalForwardingProhibited ::= ENUMERATED {
1852   physical-forwarding-allowed(0), physical-forwarding-prohibited(1)}
1853
1854 --physical-forwarding-address-request EXTENSION ::= {
1855 --  PhysicalForwardingAddressRequest
1856 --  IF ABSENT                physical-forwarding-address-not-requested,
1857 --  RECOMMENDED CRITICALITY  {for-delivery},
1858 --  IDENTIFIED BY            standard-extension:8
1859 --}
1860
1861 PhysicalForwardingAddressRequest ::= ENUMERATED {
1862   physical-forwarding-address-not-requested(0),
1863   physical-forwarding-address-requested(1)}
1864
1865 --physical-delivery-modes EXTENSION ::= {
1866 --  PhysicalDeliveryModes
1867 --  IF ABSENT                {ordinary-mail},
1868 --  RECOMMENDED CRITICALITY  {for-delivery},
1869 --  IDENTIFIED BY            standard-extension:9
1870 --}
1871
1872 PhysicalDeliveryModes ::= BIT STRING {
1873   ordinary-mail(0), special-delivery(1), express-mail(2),
1874   counter-collection(3), counter-collection-with-telephone-advice(4),
1875   counter-collection-with-telex-advice(5),
1876   counter-collection-with-teletex-advice(6), bureau-fax-delivery(7)
1877                                              
1878 -- bits 0 to 6 are mutually exclusive
1879 -- bit 7 can be set independently of any of bits 0 to 6 --}
1880 --(SIZE (0..ub-bit-options))
1881
1882 --registered-mail-type EXTENSION ::= {
1883 --  RegisteredMailType
1884 --  IF ABSENT                non-registered-mail,
1885 --  RECOMMENDED CRITICALITY  {for-delivery},
1886 --  IDENTIFIED BY            standard-extension:10
1887 --}
1888
1889 RegisteredMailType ::= INTEGER {
1890   non-registered-mail(0), registered-mail(1),
1891   registered-mail-to-addressee-in-person(2)}(0..ub-integer-options)
1892
1893 --recipient-number-for-advice EXTENSION ::= {
1894 --  RecipientNumberForAdvice,
1895 --  RECOMMENDED CRITICALITY  {for-delivery},
1896 --  IDENTIFIED BY            standard-extension:11
1897 --}
1898
1899 RecipientNumberForAdvice ::=
1900   TeletexString --(SIZE (1..ub-recipient-number-for-advice-length))
1901
1902 --physical-rendition-attributes EXTENSION ::= {
1903 --  PhysicalRenditionAttributes
1904 --  IF ABSENT                id-att-physicalRendition-basic,
1905 --  RECOMMENDED CRITICALITY  {for-delivery},
1906 --  IDENTIFIED BY            standard-extension:12
1907 --}
1908
1909 PhysicalRenditionAttributes ::= OBJECT IDENTIFIER
1910
1911 --originator-return-address EXTENSION ::= {
1912 --  OriginatorReturnAddress,
1913 --  IDENTIFIED BY  standard-extension:13
1914 --}
1915
1916 OriginatorReturnAddress ::= ORAddress
1917
1918 --physical-delivery-report-request EXTENSION ::= {
1919 --  PhysicalDeliveryReportRequest
1920 --  IF ABSENT                return-of-undeliverable-mail-by-PDS,
1921 --  RECOMMENDED CRITICALITY  {for-delivery},
1922 --  IDENTIFIED BY            standard-extension:14
1923 --}
1924
1925 PhysicalDeliveryReportRequest ::= INTEGER {
1926   return-of-undeliverable-mail-by-PDS(0), return-of-notification-by-PDS(1),
1927   return-of-notification-by-MHS(2), return-of-notification-by-MHS-and-PDS(3)
1928 } -- (0..ub-integer-options)
1929
1930 --originator-certificate EXTENSION ::= {
1931 --  OriginatorCertificate,
1932 --  IDENTIFIED BY  standard-extension:15
1933 --}
1934
1935 OriginatorCertificate ::= Certificates
1936
1937 --message-token EXTENSION ::= {
1938 --  MessageToken,
1939 --  RECOMMENDED CRITICALITY  {for-delivery},
1940 --  IDENTIFIED BY            standard-extension:16
1941 --}
1942
1943 MessageToken ::= Token
1944
1945 --content-confidentiality-algorithm-identifier EXTENSION ::= {
1946 --  ContentConfidentialityAlgorithmIdentifier,
1947 --  RECOMMENDED CRITICALITY  {for-delivery},
1948 --  IDENTIFIED BY            standard-extension:17
1949 --}
1950
1951 ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
1952
1953 --content-integrity-check EXTENSION ::= {
1954 --  ContentIntegrityCheck,
1955 --  RECOMMENDED CRITICALITY  {for-delivery},
1956 --  IDENTIFIED BY            standard-extension:18
1957 --}
1958
1959 ContentIntegrityCheck ::= Signature
1960 --  SIGNATURE
1961 --    {SEQUENCE {algorithm-identifier
1962 --                 ContentIntegrityAlgorithmIdentifier OPTIONAL,
1963 --               content               Content}}
1964
1965 ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
1966
1967 --message-origin-authentication-check EXTENSION ::= {
1968 --  MessageOriginAuthenticationCheck,
1969 --  RECOMMENDED CRITICALITY  {for-delivery},
1970 --  IDENTIFIED BY            standard-extension:19
1971 --}
1972
1973 MessageOriginAuthenticationCheck ::= Signature
1974 --  SIGNATURE
1975 --    {SEQUENCE {algorithm-identifier
1976 --                 MessageOriginAuthenticationAlgorithmIdentifier,
1977 --               content                 Content,
1978 --               content-identifier      ContentIdentifier OPTIONAL,
1979 --               message-security-label  MessageSecurityLabel OPTIONAL}}
1980
1981 MessageOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
1982
1983 --message-security-label EXTENSION ::= {
1984 --  MessageSecurityLabel,
1985 --  RECOMMENDED CRITICALITY  {for-delivery},
1986 --  IDENTIFIED BY            standard-extension:20
1987 --}
1988
1989 MessageSecurityLabel ::= SecurityLabel
1990
1991 --proof-of-submission-request EXTENSION ::= {
1992 --  ProofOfSubmissionRequest
1993 --  IF ABSENT                proof-of-submission-not-requested,
1994 --  RECOMMENDED CRITICALITY  {for-submission},
1995 --  IDENTIFIED BY            standard-extension:21
1996 --}
1997
1998 ProofOfSubmissionRequest ::= ENUMERATED {
1999   proof-of-submission-not-requested(0), proof-of-submission-requested(1)
2000 }
2001
2002 --proof-of-delivery-request EXTENSION ::= {
2003 --  ProofOfDeliveryRequest
2004 --  IF ABSENT                proof-of-delivery-not-requested,
2005 --  RECOMMENDED CRITICALITY  {for-delivery},
2006 --  IDENTIFIED BY            standard-extension:22
2007 --}
2008
2009 ProofOfDeliveryRequest ::= ENUMERATED {
2010   proof-of-delivery-not-requested(0), proof-of-delivery-requested(1)}
2011
2012 --content-correlator EXTENSION ::= {
2013 --  ContentCorrelator,
2014 --  IDENTIFIED BY  standard-extension:23
2015 --}
2016
2017 ContentCorrelator ::= CHOICE {ia5text  IA5String,
2018                               octets   OCTET STRING
2019 }
2020
2021 --probe-origin-authentication-check EXTENSION ::= {
2022 --  ProbeOriginAuthenticationCheck,
2023 --  RECOMMENDED CRITICALITY  {for-delivery},
2024 --  IDENTIFIED BY            standard-extension:24
2025 --}
2026
2027 ProbeOriginAuthenticationCheck ::= Signature
2028 --  SIGNATURE
2029 --    {SEQUENCE {algorithm-identifier
2030 --                 ProbeOriginAuthenticationAlgorithmIdentifier,
2031 --               content-identifier      ContentIdentifier OPTIONAL,
2032 --               message-security-label  MessageSecurityLabel OPTIONAL}}
2033
2034 ProbeOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
2035
2036 --redirection-history EXTENSION ::= {
2037 --  RedirectionHistory,
2038 --  IDENTIFIED BY  standard-extension:25
2039 --}
2040
2041 RedirectionHistory ::= SEQUENCE SIZE (1..ub-redirections) OF Redirection
2042
2043 Redirection ::= SEQUENCE {
2044   intended-recipient-name  IntendedRecipientName,
2045   redirection-reason       RedirectionReason
2046 }
2047
2048 IntendedRecipientName ::= SEQUENCE {
2049   intended-recipient  ORAddressAndOptionalDirectoryName,
2050   redirection-time    Time
2051 }
2052
2053 RedirectionReason ::= ENUMERATED {
2054   recipient-assigned-alternate-recipient(0),
2055   originator-requested-alternate-recipient(1),
2056   recipient-MD-assigned-alternate-recipient(2),
2057   -- The following values may not be supported by implementations of earlier versions of this Service Definition
2058   directory-look-up(3), alias(4), ...
2059   }
2060
2061 --dl-expansion-history EXTENSION ::= {
2062 --  DLExpansionHistory,
2063 --  IDENTIFIED BY  standard-extension:26
2064 --}
2065
2066 DLExpansionHistory ::= SEQUENCE -- SIZE (1..ub-dl-expansions)-- OF DLExpansion
2067
2068 DLExpansion ::= SEQUENCE {
2069   dl                 ORAddressAndOptionalDirectoryName,
2070   dl-expansion-time  Time
2071 }
2072
2073 --physical-forwarding-address EXTENSION ::= {
2074 --  PhysicalForwardingAddress,
2075 --  IDENTIFIED BY  standard-extension:27
2076 --}
2077
2078 PhysicalForwardingAddress ::= ORAddressAndOptionalDirectoryName
2079
2080 --recipient-certificate EXTENSION ::= {
2081 --  RecipientCertificate,
2082 --  IDENTIFIED BY  standard-extension:28
2083 --}
2084
2085 --proof-of-delivery EXTENSION ::= {
2086 --  ProofOfDelivery,
2087 --  IDENTIFIED BY  standard-extension:29
2088 --}
2089
2090 --originator-and-DL-expansion-history EXTENSION ::= {
2091 --  OriginatorAndDLExpansionHistory,
2092 --  IDENTIFIED BY  standard-extension:30
2093 --}
2094
2095 OriginatorAndDLExpansionHistory ::=
2096   SEQUENCE --SIZE (2..ub-orig-and-dl-expansions)-- OF OriginatorAndDLExpansion
2097
2098 OriginatorAndDLExpansion ::= SEQUENCE {
2099   originator-or-dl-name          ORAddressAndOptionalDirectoryName,
2100   origination-or-expansion-time  Time
2101 }
2102
2103 --reporting-DL-name EXTENSION ::= {
2104 --  ReportingDLName,
2105 --  IDENTIFIED BY  standard-extension:31
2106 --}
2107
2108 ReportingDLName ::= ORAddressAndOptionalDirectoryName
2109
2110 --reporting-MTA-certificate EXTENSION ::= {
2111 --  ReportingMTACertificate,
2112 --  RECOMMENDED CRITICALITY  {for-delivery},
2113 --  IDENTIFIED BY            standard-extension:32
2114 --}
2115
2116 ReportingMTACertificate ::= Certificates
2117
2118 --report-origin-authentication-check EXTENSION ::= {
2119 --  ReportOriginAuthenticationCheck,
2120 --  RECOMMENDED CRITICALITY  {for-delivery},
2121 --  IDENTIFIED BY            standard-extension:33
2122 --}
2123
2124 ReportOriginAuthenticationCheck ::= Signature
2125 --  SIGNATURE
2126 --    {SEQUENCE {algorithm-identifier
2127 --                 ReportOriginAuthenticationAlgorithmIdentifier,
2128 --               content-identifier      ContentIdentifier OPTIONAL,
2129 --               message-security-label  MessageSecurityLabel OPTIONAL,
2130 --               per-recipient
2131 --                 SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportFields
2132 --    }}
2133
2134 ReportOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
2135
2136 PerRecipientReportFields ::= SEQUENCE {
2137   actual-recipient-name               MTSActualRecipientName,
2138   originally-intended-recipient-name  MTSOriginallyIntendedRecipientName OPTIONAL,
2139   report-type
2140     CHOICE {delivery      [0]  PerRecipientDeliveryReportFields,
2141             non-delivery  [1]  PerRecipientNonDeliveryReportFields}
2142 }
2143
2144 PerRecipientDeliveryReportFields ::= SEQUENCE {
2145   message-delivery-time  MessageDeliveryTime,
2146   type-of-MTS-user       TypeOfMTSUser,
2147   recipient-certificate  [0]  RecipientCertificate OPTIONAL
2148 --  proof-of-delivery      [1]  ProofOfDelivery OPTIONAL
2149 }
2150
2151 PerRecipientNonDeliveryReportFields ::= SEQUENCE {
2152   non-delivery-reason-code      NonDeliveryReasonCode,
2153   non-delivery-diagnostic-code  NonDeliveryDiagnosticCode OPTIONAL
2154 }
2155
2156 --originating-MTA-certificate EXTENSION ::= {
2157 --  OriginatingMTACertificate,
2158 --  IDENTIFIED BY  standard-extension:34
2159 --}
2160
2161 OriginatingMTACertificate ::= Certificates
2162
2163 --proof-of-submission EXTENSION ::= {
2164 --  ProofOfSubmission,
2165 --  IDENTIFIED BY  standard-extension:35
2166 --}
2167
2168 ProofOfSubmission ::= Signature
2169 --  SIGNATURE
2170 --    {SEQUENCE {algorithm-identifier
2171 --                 ProofOfSubmissionAlgorithmIdentifier,
2172 --               message-submission-envelope    MessageSubmissionEnvelope,
2173 --               content                        Content,
2174 --               message-submission-identifier  MessageSubmissionIdentifier,
2175 --               message-submission-time        MessageSubmissionTime}}
2176
2177 --ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
2178
2179 --reporting-MTA-name EXTENSION ::= {
2180 --  ReportingMTAName,
2181 --  IDENTIFIED BY  standard-extension:39
2182 --}
2183
2184 ReportingMTAName ::= SEQUENCE {
2185   domain              GlobalDomainIdentifier,
2186   mta-name            MTAName,
2187   mta-directory-name  [0]  Name OPTIONAL
2188 }
2189
2190 --multiple-originator-certificates EXTENSION ::= {
2191 --  ExtendedCertificates,
2192 --  IDENTIFIED BY  standard-extension:40
2193 --}
2194
2195 ExtendedCertificates ::= SET --SIZE (1..ub-certificates)-- OF ExtendedCertificate
2196
2197 ExtendedCertificate ::= CHOICE {
2198   directory-entry  [0]  Name, -- Name of a Directory entry where the certificate can be found
2199   certificate      [1]  Certificates
2200 }
2201
2202 --dl-exempted-recipients EXTENSION ::= {
2203 --  DLExemptedRecipients,
2204 --  IDENTIFIED BY  standard-extension:42
2205 --}
2206
2207 DLExemptedRecipients ::= SET OF ORAddressAndOrDirectoryName
2208
2209 --certificate-selectors EXTENSION ::= {
2210 --  CertificateSelectors,
2211 --  IDENTIFIED BY  standard-extension:45
2212 --}
2213
2214 CertificateSelectors ::= SET {
2215   encryption-recipient           [0]  CertificateAssertion OPTIONAL,
2216   encryption-originator          [1]  CertificateAssertion OPTIONAL,
2217   content-integrity-check        [2]  CertificateAssertion OPTIONAL,
2218   token-signature                [3]  CertificateAssertion OPTIONAL,
2219   message-origin-authentication  [4]  CertificateAssertion OPTIONAL
2220 }
2221
2222 --certificate-selectors-override EXTENSION ::= {
2223 --  CertificateSelectors
2224 --    (WITH COMPONENTS {
2225 --       ...,
2226 --       message-origin-authentication  ABSENT
2227 --     }),
2228 --  IDENTIFIED BY  standard-extension:46
2229 --}
2230
2231 -- Some standard-extensions are defined elsewhere:
2232 --      36 (forwarding-request) in ITU-T Rec. X.413 | ISO/IEC 10021-5;
2233 --      37 (trace-information), and 38 (internal-trace-information) in Figure 4;
2234 --      41 (blind-copy-recipients), 43 (body-part-encryption-token), and 44 (forwarded-content-token) in 
2235 --              ITU-T Rec. X.420 | ISO/IEC 10021-7
2236 --      Common Parameter Types
2237 Content ::=
2238   OCTET
2239     STRING -- when the content-type has the integer value external, the value of the
2240
2241 -- content octet string is the ASN.1 encoding of the external-content;
2242 -- an external-content is a data type EXTERNAL
2243 MTSIdentifier ::= [APPLICATION 4]  SEQUENCE {
2244   global-domain-identifier  GlobalDomainIdentifier,
2245   local-identifier          LocalIdentifier
2246 }
2247
2248 LocalIdentifier ::= IA5String --(SIZE (1..ub-local-id-length))
2249
2250 GlobalDomainIdentifier ::= [APPLICATION 3]  SEQUENCE {
2251   country-name                CountryName,
2252   administration-domain-name  AdministrationDomainName,
2253   private-domain-identifier   PrivateDomainIdentifier OPTIONAL
2254 }
2255
2256 PrivateDomainIdentifier ::= CHOICE {
2257   numeric    NumericString --(SIZE (1..ub-domain-name-length))--,
2258   printable  PrintableString --(SIZE (1..ub-domain-name-length))
2259 }
2260
2261 MTAName ::= IA5String --(SIZE (1..ub-mta-name-length))
2262
2263 Time ::= UTCTime
2264
2265
2266 --      OR Names
2267 ORAddressAndOrDirectoryName ::= ORName
2268
2269 ORAddressAndOptionalDirectoryName ::= ORName
2270
2271 ORName ::= [APPLICATION 0]  SEQUENCE {
2272   -- address - -COMPONENTS OF ORAddress,
2273   built-in-standard-attributes        BuiltInStandardAttributes,
2274   built-in-domain-defined-attributes  BuiltInDomainDefinedAttributes OPTIONAL,
2275   -- see also teletex-domain-defined-attributes
2276   extension-attributes                ExtensionAttributes OPTIONAL,
2277   directory-name  [0]  Name OPTIONAL
2278 }
2279
2280 ORAddress ::= SEQUENCE {
2281   built-in-standard-attributes        BuiltInStandardAttributes,
2282   built-in-domain-defined-attributes  BuiltInDomainDefinedAttributes OPTIONAL,
2283   -- see also teletex-domain-defined-attributes
2284   extension-attributes                ExtensionAttributes OPTIONAL
2285 }
2286
2287 --      The OR-address is semantically absent from the OR-name if the built-in-standard-attribute
2288 --      sequence is empty and the built-in-domain-defined-attributes and extension-attributes are both omitted.
2289 --      Built-in Standard Attributes
2290 BuiltInStandardAttributes ::= SEQUENCE {
2291   country-name                CountryName OPTIONAL,
2292   administration-domain-name  AdministrationDomainName OPTIONAL,
2293   network-address             [0]  NetworkAddress OPTIONAL,
2294   -- see also extended-network-address
2295   terminal-identifier         [1]  TerminalIdentifier OPTIONAL,
2296   private-domain-name         [2]  PrivateDomainName OPTIONAL,
2297   organization-name           [3]  OrganizationName OPTIONAL,
2298   -- see also teletex-organization-name
2299   numeric-user-identifier     [4]  NumericUserIdentifier OPTIONAL,
2300   personal-name               [5]  PersonalName OPTIONAL,
2301   -- see also teletex-personal-name
2302   organizational-unit-names   [6]  OrganizationalUnitNames OPTIONAL
2303   -- see also teletex-organizational-unit-names 
2304 }
2305
2306 CountryName ::= [APPLICATION 1]  CHOICE {
2307   x121-dcc-code         NumericString --(SIZE (ub-country-name-numeric-length))--,
2308   iso-3166-alpha2-code  PrintableString --(SIZE (ub-country-name-alpha-length))
2309 }
2310
2311 AdministrationDomainName ::= [APPLICATION 2]  CHOICE {
2312   numeric    NumericString --(SIZE (0..ub-domain-name-length))--,
2313   printable  PrintableString --(SIZE (0..ub-domain-name-length))
2314 }
2315
2316 NetworkAddress ::= X121Address
2317
2318 -- see also extended-network-address
2319 X121Address ::= NumericString --(SIZE (1..ub-x121-address-length))
2320
2321 TerminalIdentifier ::= PrintableString --(SIZE (1..ub-terminal-id-length))
2322
2323 PrivateDomainName ::= CHOICE {
2324   numeric    NumericString --(SIZE (1..ub-domain-name-length))--,
2325   printable  PrintableString --(SIZE (1..ub-domain-name-length))
2326 }
2327
2328 OrganizationName ::= PrintableString --(SIZE (1..ub-organization-name-length))
2329
2330 -- see also teletex-organization-name
2331 NumericUserIdentifier ::= NumericString --(SIZE (1..ub-numeric-user-id-length))
2332
2333 PersonalName ::= SET {
2334   surname               [0]  PrintableString --(SIZE (1..ub-surname-length)) --,
2335   given-name
2336     [1]  PrintableString --(SIZE (1..ub-given-name-length))-- OPTIONAL,
2337   initials
2338     [2]  PrintableString --(SIZE (1..ub-initials-length))-- OPTIONAL,
2339   generation-qualifier
2340     [3]  PrintableString --(SIZE (1..ub-generation-qualifier-length))-- OPTIONAL
2341 }
2342
2343 -- see also teletex-personal-name
2344 OrganizationalUnitNames ::=
2345   SEQUENCE --SIZE (1..ub-organizational-units)-- OF OrganizationalUnitName
2346
2347 -- see also teletex-organizational-unit-names
2348 OrganizationalUnitName ::=
2349   PrintableString --(SIZE (1..ub-organizational-unit-name-length))
2350
2351 --      Built-in Domain-defined Attributes
2352 BuiltInDomainDefinedAttributes ::=
2353   SEQUENCE --SIZE (1..ub-domain-defined-attributes)-- OF
2354     BuiltInDomainDefinedAttribute
2355
2356 BuiltInDomainDefinedAttribute ::= SEQUENCE {
2357   type   PrintableString--(SIZE (1..ub-domain-defined-attribute-type-length))--,
2358   value  PrintableString --(SIZE (1..ub-domain-defined-attribute-value-length))
2359 }
2360
2361 --      Extension Attributes
2362 ExtensionAttributes ::=
2363   SET --SIZE (1..ub-extension-attributes)-- OF ExtensionAttribute
2364
2365 ExtensionAttribute ::= SEQUENCE {
2366   extension-attribute-type
2367     [0]  INTEGER --EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}) --,
2368   extension-attribute-value
2369     [1]  ANY --EXTENSION-ATTRIBUTE.&Type
2370 --           ({ExtensionAttributeTable}{@extension-attribute-type})
2371 }
2372
2373 --EXTENSION-ATTRIBUTE ::= CLASS {
2374 --  &id    INTEGER(0..ub-extension-attributes) UNIQUE,
2375 --  &Type  
2376 --}WITH SYNTAX {&Type
2377 --              IDENTIFIED BY &id
2378 --}
2379
2380 --ExtensionAttributeTable EXTENSION-ATTRIBUTE ::=
2381 --  {common-name | teletex-common-name | universal-common-name |
2382 --   teletex-organization-name | universal-organization-name |
2383 --   teletex-personal-name | universal-personal-name |
2384 --   teletex-organizational-unit-names | universal-organizational-unit-names |
2385 --   teletex-domain-defined-attributes | universal-domain-defined-attributes |
2386 --   pds-name | physical-delivery-country-name | postal-code |
2387 --   physical-delivery-office-name | universal-physical-delivery-office-name |
2388 --   physical-delivery-office-number | universal-physical-delivery-office-number
2389 --   | extension-OR-address-components |
2390 --   universal-extension-OR-address-components | physical-delivery-personal-name
2391 --   | universal-physical-delivery-personal-name |
2392 --   physical-delivery-organization-name |
2393 --   universal-physical-delivery-organization-name |
2394 --   extension-physical-delivery-address-components |
2395 --   universal-extension-physical-delivery-address-components |
2396 --   unformatted-postal-address | universal-unformatted-postal-address |
2397 --   street-address | universal-street-address | post-office-box-address |
2398 --   universal-post-office-box-address | poste-restante-address |
2399 --   universal-poste-restante-address | unique-postal-name |
2400 --   universal-unique-postal-name | local-postal-attributes |
2401 --   universal-local-postal-attributes | extended-network-address | terminal-type
2402 --  }
2403
2404 --      Extension Standard Attributes
2405 --common-name EXTENSION-ATTRIBUTE ::= {CommonName
2406 --                                     IDENTIFIED BY  1
2407 --}
2408
2409 CommonName ::= PrintableString --(SIZE (1..ub-common-name-length))
2410
2411 --teletex-common-name EXTENSION-ATTRIBUTE ::= {TeletexCommonName
2412 --                                             IDENTIFIED BY  2
2413 --}
2414
2415 TeletexCommonName ::= TeletexString --(SIZE (1..ub-common-name-length))
2416
2417 --universal-common-name EXTENSION-ATTRIBUTE ::= {
2418 --  UniversalCommonName
2419 --  IDENTIFIED BY  24
2420 --}
2421
2422 UniversalCommonName ::= UniversalOrBMPString --{ub-common-name-length}
2423
2424 --teletex-organization-name EXTENSION-ATTRIBUTE ::= {
2425 --  TeletexOrganizationName
2426 --  IDENTIFIED BY  3
2427 --}
2428
2429 TeletexOrganizationName ::=
2430   TeletexString --(SIZE (1..ub-organization-name-length))
2431
2432 --universal-organization-name EXTENSION-ATTRIBUTE ::= {
2433 --  UniversalOrganizationName
2434 --  IDENTIFIED BY  25
2435 --}
2436
2437 UniversalOrganizationName ::= UniversalOrBMPString --{ub-organization-name-length}
2438
2439 --teletex-personal-name EXTENSION-ATTRIBUTE ::= {
2440 --  TeletexPersonalName
2441 --  IDENTIFIED BY  4
2442 --}
2443
2444 TeletexPersonalName ::= SET {
2445   surname               [0]  TeletexString --(SIZE (1..ub-surname-length))--,
2446   given-name
2447     [1]  TeletexString --(SIZE (1..ub-given-name-length))-- OPTIONAL,
2448   initials
2449     [2]  TeletexString --(SIZE (1..ub-initials-length))-- OPTIONAL,
2450   generation-qualifier
2451     [3]  TeletexString --(SIZE (1..ub-generation-qualifier-length))-- OPTIONAL
2452 }
2453
2454 --universal-personal-name EXTENSION-ATTRIBUTE ::= {
2455 --  UniversalPersonalName
2456 --  IDENTIFIED BY  26
2457 --}
2458
2459 UniversalPersonalName ::= SET {
2460   surname               [0]  UniversalOrBMPString --{ub-universal-surname-length}--,
2461   --    If a language is specified within surname, then that language applies to each of the following
2462   --    optional components unless the component specifies another language.
2463   given-name
2464     [1]  UniversalOrBMPString --{ub-universal-given-name-length}-- OPTIONAL,
2465   initials
2466     [2]  UniversalOrBMPString --{ub-universal-initials-length}-- OPTIONAL,
2467   generation-qualifier
2468     [3]  UniversalOrBMPString --{ub-universal-generation-qualifier-length}
2469       OPTIONAL
2470 }
2471
2472 --teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
2473 --  TeletexOrganizationalUnitNames
2474 --  IDENTIFIED BY  5
2475 --}
2476
2477 TeletexOrganizationalUnitNames ::=
2478   SEQUENCE --SIZE (1..ub-organizational-units)-- OF TeletexOrganizationalUnitName
2479
2480 TeletexOrganizationalUnitName ::=
2481   TeletexString --(SIZE (1..ub-organizational-unit-name-length))
2482
2483 --universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
2484 --  UniversalOrganizationalUnitNames
2485 --  IDENTIFIED BY  27
2486 --}
2487
2488 UniversalOrganizationalUnitNames ::=
2489   SEQUENCE --SIZE (1..ub-organizational-units)-- OF UniversalOrganizationalUnitName
2490
2491 --      If a unit name specifies a language, then that language applies to subordinate unit names unless
2492 --      the subordinate specifies another language.
2493 UniversalOrganizationalUnitName ::=
2494   UniversalOrBMPString --{ub-organizational-unit-name-length}
2495
2496 UniversalOrBMPString --{INTEGER:ub-string-length}-- ::= SET {
2497   character-encoding
2498     CHOICE {two-octets   BMPString --(SIZE (1..ub-string-length))--,
2499             four-octets  UniversalString --(SIZE (1..ub-string-length))-- },
2500   iso-639-language-code  PrintableString --(SIZE (2 | 5))-- OPTIONAL
2501 }
2502
2503 --pds-name EXTENSION-ATTRIBUTE ::= {PDSName
2504 --                                  IDENTIFIED BY  7
2505 --}
2506
2507 PDSName ::= PrintableString --(SIZE (1..ub-pds-name-length))
2508
2509 --physical-delivery-country-name EXTENSION-ATTRIBUTE ::= {
2510 --  PhysicalDeliveryCountryName
2511 --  IDENTIFIED BY  8
2512 --}
2513
2514 PhysicalDeliveryCountryName ::= CHOICE {
2515   x121-dcc-code         NumericString --(SIZE (ub-country-name-numeric-length)) --,
2516   iso-3166-alpha2-code  PrintableString --(SIZE (ub-country-name-alpha-length))
2517 }
2518
2519 --postal-code EXTENSION-ATTRIBUTE ::= {PostalCode
2520 --                                     IDENTIFIED BY  9
2521 --}
2522
2523 PostalCode ::= CHOICE {
2524   numeric-code    NumericString --(SIZE (1..ub-postal-code-length))--,
2525   printable-code  PrintableString --(SIZE (1..ub-postal-code-length))
2526 }
2527
2528 --physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
2529 --  PhysicalDeliveryOfficeName
2530 --  IDENTIFIED BY  10
2531 --}
2532
2533 PhysicalDeliveryOfficeName ::= PDSParameter
2534
2535 --universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
2536 --  UniversalPhysicalDeliveryOfficeName
2537 --  IDENTIFIED BY  29
2538 --}
2539
2540 UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter
2541
2542 --physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
2543 --  PhysicalDeliveryOfficeNumber
2544 --  IDENTIFIED BY  11
2545 --}
2546
2547 PhysicalDeliveryOfficeNumber ::= PDSParameter
2548
2549 --universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
2550 --  UniversalPhysicalDeliveryOfficeNumber
2551 --  IDENTIFIED BY  30
2552 --}
2553
2554 UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter
2555
2556 --extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
2557 --  ExtensionORAddressComponents
2558 --  IDENTIFIED BY  12
2559 --}
2560
2561 ExtensionORAddressComponents ::= PDSParameter
2562
2563 --universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
2564 --  UniversalExtensionORAddressComponents
2565 --  IDENTIFIED BY  31
2566 --}
2567
2568 UniversalExtensionORAddressComponents ::= UniversalPDSParameter
2569
2570 --physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
2571 --  PhysicalDeliveryPersonalName
2572 --  IDENTIFIED BY  13
2573 --}
2574
2575 PhysicalDeliveryPersonalName ::= PDSParameter
2576
2577 --universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
2578 --  UniversalPhysicalDeliveryPersonalName
2579 --  IDENTIFIED BY  32
2580 --}
2581
2582 UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter
2583
2584 --physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= {
2585 --  PhysicalDeliveryOrganizationName
2586 --  IDENTIFIED BY  14
2587 --}
2588
2589 PhysicalDeliveryOrganizationName ::= PDSParameter
2590
2591 --universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= 
2592 --{UniversalPhysicalDeliveryOrganizationName
2593 -- IDENTIFIED BY  33
2594 --}
2595
2596 UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter
2597
2598 --extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::= 
2599 --{ExtensionPhysicalDeliveryAddressComponents
2600 -- IDENTIFIED BY  15
2601 --}
2602
2603 ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
2604
2605 --universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE
2606 --  ::= {UniversalExtensionPhysicalDeliveryAddressComponents
2607 --       IDENTIFIED BY  34
2608 --}
2609
2610 UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter
2611
2612 --unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
2613 --  UnformattedPostalAddress
2614 --  IDENTIFIED BY  16
2615 --}
2616
2617 UnformattedPostalAddress ::= SET {
2618   printable-address
2619     SEQUENCE --SIZE (1..ub-pds-physical-address-lines)-- OF
2620       PrintableString --(SIZE (1..ub-pds-parameter-length))-- OPTIONAL,
2621   teletex-string
2622     TeletexString --(SIZE (1..ub-unformatted-address-length))-- OPTIONAL
2623 }
2624
2625 --universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
2626 --  UniversalUnformattedPostalAddress
2627 --  IDENTIFIED BY  35
2628 --}
2629
2630 UniversalUnformattedPostalAddress ::=
2631   UniversalOrBMPString --{ub-unformatted-address-length}
2632
2633 --street-address EXTENSION-ATTRIBUTE ::= {StreetAddress
2634 --                                        IDENTIFIED BY  17
2635 --}
2636
2637 StreetAddress ::= PDSParameter
2638
2639 --universal-street-address EXTENSION-ATTRIBUTE ::= {
2640 --  UniversalStreetAddress
2641 --  IDENTIFIED BY  36
2642 --}
2643
2644 UniversalStreetAddress ::= UniversalPDSParameter
2645
2646 --post-office-box-address EXTENSION-ATTRIBUTE ::= {
2647 --  PostOfficeBoxAddress
2648 --  IDENTIFIED BY  18
2649 --}
2650
2651 PostOfficeBoxAddress ::= PDSParameter
2652
2653 --universal-post-office-box-address EXTENSION-ATTRIBUTE ::= {
2654 --  UniversalPostOfficeBoxAddress
2655 --  IDENTIFIED BY  37
2656 --}
2657
2658 UniversalPostOfficeBoxAddress ::= UniversalPDSParameter
2659
2660 --poste-restante-address EXTENSION-ATTRIBUTE ::= {
2661 --  PosteRestanteAddress
2662 --  IDENTIFIED BY  19
2663 --}
2664
2665 --PosteRestanteAddress ::= PDSParameter
2666
2667 --universal-poste-restante-address EXTENSION-ATTRIBUTE ::= {
2668 --  UniversalPosteRestanteAddress
2669 --  IDENTIFIED BY  38
2670 --}
2671
2672 UniversalPosteRestanteAddress ::= UniversalPDSParameter
2673
2674 --unique-postal-name EXTENSION-ATTRIBUTE ::= {UniquePostalName
2675 --                                            IDENTIFIED BY  20
2676 --}
2677
2678 UniquePostalName ::= PDSParameter
2679
2680 --universal-unique-postal-name EXTENSION-ATTRIBUTE ::= {
2681 --  UniversalUniquePostalName
2682 --  IDENTIFIED BY  39
2683 --}
2684
2685 UniversalUniquePostalName ::= UniversalPDSParameter
2686
2687 --local-postal-attributes EXTENSION-ATTRIBUTE ::= {
2688 --  LocalPostalAttributes
2689 --  IDENTIFIED BY  21
2690 --}
2691
2692 LocalPostalAttributes ::= PDSParameter
2693
2694 --universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
2695 --  UniversalLocalPostalAttributes
2696 --  IDENTIFIED BY  40
2697 --}
2698
2699 UniversalLocalPostalAttributes ::= UniversalPDSParameter
2700
2701 PDSParameter ::= SET {
2702   printable-string  PrintableString --(SIZE (1..ub-pds-parameter-length))-- OPTIONAL,
2703   teletex-string    TeletexString --(SIZE (1..ub-pds-parameter-length))-- OPTIONAL
2704 }
2705
2706 UniversalPDSParameter ::= UniversalOrBMPString --{ub-pds-parameter-length}
2707
2708 --extended-network-address EXTENSION-ATTRIBUTE ::= {
2709 --  ExtendedNetworkAddress
2710 --  IDENTIFIED BY  22
2711 --}
2712
2713 ExtendedNetworkAddress ::= CHOICE {
2714   e163-4-address
2715     SEQUENCE {number
2716                 [0]  NumericString --(SIZE (1..ub-e163-4-number-length))--,
2717               sub-address
2718                 [1]  NumericString --(SIZE (1..ub-e163-4-sub-address-length))--
2719                   OPTIONAL},
2720   psap-address    [0]  PresentationAddress
2721 }
2722
2723 --terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType
2724 --                                       IDENTIFIED BY  23
2725 --}
2726
2727 TerminalType ::= INTEGER {
2728   telex(3), teletex(4), g3-facsimile(5), g4-facsimile(6), ia5-terminal(7),
2729   videotex(8)} --(0..ub-integer-options)
2730
2731 --      Extension Domain-defined Attributes
2732 --teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
2733 --  TeletexDomainDefinedAttributes
2734 --  IDENTIFIED BY  6
2735 --}
2736
2737 TeletexDomainDefinedAttributes ::=
2738   SEQUENCE --SIZE (1..ub-domain-defined-attributes)-- OF
2739     TeletexDomainDefinedAttribute
2740
2741 TeletexDomainDefinedAttribute ::= SEQUENCE {
2742   type   TeletexString --(SIZE (1..ub-domain-defined-attribute-type-length))--,
2743   value  TeletexString --(SIZE (1..ub-domain-defined-attribute-value-length))
2744
2745 }
2746
2747 --universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
2748 --  UniversalDomainDefinedAttributes
2749 --  IDENTIFIED BY  28
2750 --}
2751
2752 UniversalDomainDefinedAttributes ::=
2753   SEQUENCE --SIZE (1..ub-domain-defined-attributes)-- OF
2754     UniversalDomainDefinedAttribute
2755
2756 UniversalDomainDefinedAttribute ::= SEQUENCE {
2757   type   UniversalOrBMPString --{ub-domain-defined-attribute-type-length}--,
2758   value  UniversalOrBMPString --{ub-domain-defined-attribute-value-length}
2759 }
2760
2761 --      Encoded Information Types
2762 EncodedInformationTypes ::= [APPLICATION 5]  SET {
2763   built-in-encoded-information-types  [0]  BuiltInEncodedInformationTypes,
2764   -- non-basic-parameters - -COMPONENTS OF NonBasicParameters,
2765   g3-facsimile  [1]  G3FacsimileNonBasicParameters DEFAULT {},
2766   teletex       [2]  TeletexNonBasicParameters DEFAULT {},
2767   extended-encoded-information-types
2768     [4]  ExtendedEncodedInformationTypes OPTIONAL
2769 }
2770
2771 --      Built-in Encoded Information Types
2772 BuiltInEncodedInformationTypes ::= BIT STRING {
2773   unknown(0), ia5-text(2), g3-facsimile(3), g4-class-1(4), teletex(5),
2774   videotex(6), voice(7), sfd(8), mixed-mode(9)
2775 } --(SIZE (0..ub-built-in-encoded-information-types))
2776
2777 --      Extended Encoded Information Types
2778 ExtendedEncodedInformationTypes ::=
2779   SET --SIZE (1..ub-encoded-information-types)-- OF ExtendedEncodedInformationType
2780
2781 ExtendedEncodedInformationType ::= OBJECT IDENTIFIER
2782
2783 --      Non-basic Parameters
2784 NonBasicParameters ::= SET {
2785   g3-facsimile  [1]  G3FacsimileNonBasicParameters DEFAULT {},
2786   teletex       [2]  TeletexNonBasicParameters DEFAULT {}
2787 }
2788
2789 G3FacsimileNonBasicParameters ::= BIT STRING {
2790   two-dimensional(8), -- As defined in ITU-T Recommendation T.30
2791   fine-resolution(9), --
2792   unlimited-length(20), -- These bit values are chosen such that when
2793   b4-length(21), -- encoded using ASN.1 Basic Encoding Rules
2794   a3-width(22), -- the resulting octets have the same values
2795   b4-width(23), -- as for T.30 encoding
2796   t6-coding(25), --
2797   uncompressed(30), -- Trailing zero bits are not significant.
2798   width-middle-864-of-1728(37), -- It is recommended that implementations
2799   width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless
2800   resolution-type(44), -- higher numbered bits are non-zero.
2801   resolution-400x400(45), resolution-300x300(46), resolution-8x15(47), 
2802   edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60),
2803   twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68),
2804   processable-mode-26(71)}
2805
2806 TeletexNonBasicParameters ::= SET {
2807   graphic-character-sets               [0]  TeletexString OPTIONAL,
2808   control-character-sets               [1]  TeletexString OPTIONAL,
2809   page-formats                         [2]  OCTET STRING OPTIONAL,
2810   miscellaneous-terminal-capabilities  [3]  TeletexString OPTIONAL,
2811   private-use
2812     [4]  OCTET STRING
2813       OPTIONAL -- maximum ub-teletex-private-use-length octets --
2814 }
2815
2816 -- as defined in CCITT Recommendation T.62
2817 --      Token
2818 Token ::= SEQUENCE {
2819   token-type-identifier  [0]  -- TOKEN.&id({TokensTable})-- TokenTypeIdentifier,
2820   token
2821     [1]  --TOKEN.&Type({TokensTable}{@token-type-identifier})-- TokenTypeData
2822 }
2823
2824 --TOKEN ::= TYPE-IDENTIFIER
2825 TokenTypeIdentifier ::= OBJECT IDENTIFIER
2826 TokenTypeData ::= ANY
2827
2828 --TokensTable TOKEN ::= {asymmetric-token, ...}
2829
2830 --asymmetric-token TOKEN ::= {
2831 --  AsymmetricToken
2832 --  IDENTIFIED BY  id-tok-asymmetricToken
2833 --}
2834
2835 AsymmetricTokenData ::=
2836 --  SIGNED
2837 --    {--SEQUENCE {signature-algorithm-identifier   AlgorithmIdentifier,
2838                name
2839                  CHOICE {recipient-name  MTSRecipientName,
2840                          mta  [3]  MTANameAndOptionalGDI },
2841                time                             Time,
2842                signed-data                      [0]  TokenData OPTIONAL,
2843                encryption-algorithm-identifier
2844                  [1]  AlgorithmIdentifier OPTIONAL,
2845                encrypted-data
2846                  [2] -- ENCRYPTED{TokenData}-- BIT STRING OPTIONAL} --}
2847
2848 MTANameAndOptionalGDI ::= SEQUENCE {
2849      global-domain-identifier       GlobalDomainIdentifier OPTIONAL,
2850      mta-name                  MTAName
2851 }
2852
2853 AsymmetricToken ::= SEQUENCE {
2854   asymmetric-token-data         AsymmetricTokenData,
2855   algorithm-identifier          AlgorithmIdentifier,
2856   encrypted                     BIT STRING
2857 }
2858
2859 TokenData ::= SEQUENCE {
2860   type   [0]  INTEGER -- TOKEN-DATA.&id({TokenDataTable}) --,
2861   value  [1]  ANY -- TOKEN-DATA.&Type({TokenDataTable}{@type})
2862 }
2863
2864 --TOKEN-DATA ::= CLASS {&id    INTEGER UNIQUE,
2865 --                      &Type  
2866 --}WITH SYNTAX {&Type
2867 --              IDENTIFIED BY &id
2868 --}
2869
2870 --TokenDataTable TOKEN-DATA ::=
2871 --  {bind-token-signed-data | message-token-signed-data |
2872 --   message-token-encrypted-data | bind-token-encrypted-data, ...}
2873
2874 --bind-token-signed-data TOKEN-DATA ::= {BindTokenSignedData
2875 --                                       IDENTIFIED BY  1
2876 --}
2877
2878 -- This is the only Token Data we know
2879 --TokenData ::= BindTokenSignedData
2880
2881 BindTokenSignedData ::= RandomNumber
2882
2883 RandomNumber ::= BIT STRING
2884
2885 --message-token-signed-data TOKEN-DATA ::= {
2886 --  MessageTokenSignedData
2887 --  IDENTIFIED BY  2
2888 --}
2889
2890 MessageTokenSignedData ::= SEQUENCE {
2891   content-confidentiality-algorithm-identifier
2892     [0]  ContentConfidentialityAlgorithmIdentifier OPTIONAL,
2893   content-integrity-check
2894     [1]  ContentIntegrityCheck OPTIONAL,
2895   message-security-label
2896     [2]  MessageSecurityLabel OPTIONAL,
2897   proof-of-delivery-request
2898     [3]  ProofOfDeliveryRequest OPTIONAL,
2899   message-sequence-number                       [4]  INTEGER OPTIONAL
2900 }
2901
2902 --message-token-encrypted-data TOKEN-DATA ::= {
2903 --  MessageTokenEncryptedData
2904 --  IDENTIFIED BY  3
2905 --}
2906
2907 MessageTokenEncryptedData ::= SEQUENCE {
2908   content-confidentiality-key  [0]  EncryptionKey OPTIONAL,
2909   content-integrity-check      [1]  ContentIntegrityCheck OPTIONAL,
2910   message-security-label       [2]  MessageSecurityLabel OPTIONAL,
2911   content-integrity-key        [3]  EncryptionKey OPTIONAL,
2912   message-sequence-number      [4]  INTEGER OPTIONAL
2913 }
2914
2915 EncryptionKey ::= BIT STRING
2916
2917 --bind-token-encrypted-data TOKEN-DATA ::= {
2918 --  BindTokenEncryptedData
2919 --  IDENTIFIED BY  4
2920 --}
2921
2922 BindTokenEncryptedData ::= EXTERNALt
2923
2924 --      Security Label
2925 SecurityLabel ::= SET {
2926   security-policy-identifier  SecurityPolicyIdentifier OPTIONAL,
2927   security-classification     SecurityClassification OPTIONAL,
2928   privacy-mark                PrivacyMark OPTIONAL,
2929   security-categories         SecurityCategories OPTIONAL
2930 }
2931
2932 SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
2933
2934 SecurityClassification ::= INTEGER {
2935   unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
2936   top-secret(5)}(0..ub-integer-options)
2937
2938 PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
2939
2940 SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
2941
2942 SecurityCategory ::= SEQUENCE {
2943   type   [0]  OBJECT IDENTIFIER --SECURITY-CATEGORY.&id({SecurityCategoriesTable})--,
2944   value  [1]  ANY -- SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
2945 }
2946
2947 --SECURITY-CATEGORY ::= TYPE-IDENTIFIER
2948
2949 --SecurityCategoriesTable SECURITY-CATEGORY ::=
2950 --  {...}
2951
2952 END -- of MTSAbstractService
2953
2954 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
2955