70e0d93052eaaa69df8318765a330afcb6c4c257
[obnox/wireshark/wip.git] / asn1 / x420 / x420.asn
1 -- Module IPMSInformationObjects (X.420:06/1999)
2 IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
3   information-objects(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
4 BEGIN
5
6 -- Prologue
7 -- Exports everything.
8 IMPORTS
9   -- IPMS Extended Body Parts
10 --  bilaterally-defined-body-part, encrypted-body-part, g3-facsimile-body-part,
11 --    g4-class1-body-part, ia5-text-body-part, message-body-part,
12 --    mixed-mode-body-part, nationally-defined-body-part, teletex-body-part,
13 --    videotex-body-part
14     --==
15 --    FROM IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
16 --      extended-body-part-types(7) version-1994(0)}
17 --  general-text-body-part
18     --==
19 --    FROM IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) 
20 --      modules(0) extended-body-part-types-2(1)}
21 --  file-transfer-body-part
22     --==
23 --    FROM IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
24 --      modules(0) file-transfer-body-part-type(9)}
25 --  voice-body-part
26     --==
27 --    FROM IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
28 --      modules(0) extended-voice-body-part-type(11)}
29 --  notification-body-part, report-body-part
30     --==
31 --    FROM IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
32 --      modules(0) forwarded-report-body-part-type(12)}
33 --  content-body-part{}
34     --==
35 --    FROM IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
36 --      modules(0) forwarded-content-body-part-type(15)}
37 --  pkcs7-body-part
38     --==
39 --    FROM PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
40 --      pkcs7-body-part-type(16)}
41   -- IPMS Heading Extensions
42 --  authorization-time, auto-submitted, body-part-signatures,
43 --    circulation-list-indicator, circulation-list-recipients,
44 --    distribution-codes, extended-subject, incomplete-copy,
45 --    information-category, ipm-security-label, languages,
46 --    manual-handling-instructions, originators-reference, precedence,
47 --    precedence-policy-identifier
48     --==
49 --    FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
50 --      heading-extensions(6) version-1999(1)}
51   -- IPMS Security Extensions
52 --  body-part-encryption-token, BodyPartTokens, forwarded-content-token,
53 --    ForwardedContentToken, ipn-security-response, recipient-security-request
54     --==
55 --    FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
56 --      ipm-security-extensions(14) version-1999(1)}
57   -- IPMS Upper bounds
58 --  ub-auto-forward-comment, ub-free-form-name, ub-local-ipm-identifier,
59 --    ub-subject-field, ub-telephone-number
60     --==
61 --    FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
62 --      upper-bounds(10) version-1999(1)}
63   -- ODIF
64 --  Interchange-Data-Element
65     --==
66 --    FROM Interchange-Data-Elements {2 8 1 5 5}
67   -- MTS Abstract Service
68   EncodedInformationTypes, ExtendedCertificates, EXTENSION,
69     G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName,
70     OtherMessageDeliveryFields, SupplementaryInformation,
71     TeletexNonBasicParameters
72     --==
73     FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
74       mts-abstract-service(1) version-1999(1)}
75   -- MS Abstract Service
76 --  MS-EXTENSION, SequenceNumber
77     --==
78 --    FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
79 --      abstract-service(1) version-1999(1)}
80   -- Directory Authentication Framework
81   AlgorithmIdentifier, ENCRYPTED{}
82     --==
83     FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
84       authenticationFramework(7) 3}
85   -- IPMS Object Identifiers
86 --  id-mst-assembly-capability, id-mst-assembly-instructions,
87 --    id-mst-invalid-assembly-instructions, id-mst-invalid-ipn,
88 --    id-mst-originator-body-part-encryption-token,
89 --    id-mst-originator-forwarded-content-token,
90 --    id-mst-suspend-auto-acknowledgement, id-mst-prevent-nrn-generation,
91 --    id-on-absence-advice, id-on-change-of-address-advice
92     --==
93 --    FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
94 --      object-identifiers(0) version-1999(1)} ; --
95     EXTERNAL 
96     FROM ACSE-1;
97
98 Time ::= UTCTime
99
100 -- Information object
101 InformationObject ::= CHOICE {ipm  [0]  IPM,
102                               ipn  [1]  IPN
103 }
104
105 -- IPM
106 IPM ::= SEQUENCE {heading  Heading,
107                   body     Body
108 }
109
110 -- MTS Extensions
111 --IPMPerRecipientEnvelopeExtensions EXTENSION ::=
112 --  {blind-copy-recipients | body-part-encryption-token |
113 --   forwarded-content-token, ...}
114
115 -- IPMS Extensions
116 IPMSExtension --{IPMS-EXTENSION:ChosenFrom}-- ::= SEQUENCE {
117   type   OBJECT IDENTIFIER, --IPMS-EXTENSION.&id({ChosenFrom}),
118   value  ANY --IPMS-EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
119 }
120
121 --IPMS-EXTENSION ::= CLASS {&id    OBJECT IDENTIFIER UNIQUE,
122 --                          &Type  DEFAULT NULL
123 --}WITH SYNTAX {[VALUE &Type,]
124 --              IDENTIFIED BY &id
125 --}
126
127 --PrivateIPMSExtensions IPMS-EXTENSION ::=
128 --  {...}
129
130 -- Heading
131 Heading ::= SET {
132   this-IPM               ThisIPMField,
133   originator             [0]  OriginatorField OPTIONAL,
134   authorizing-users      [1]  AuthorizingUsersField OPTIONAL,
135   primary-recipients     [2]  PrimaryRecipientsField DEFAULT {},
136   copy-recipients        [3]  CopyRecipientsField DEFAULT {},
137   blind-copy-recipients  [4]  BlindCopyRecipientsField OPTIONAL,
138   replied-to-IPM         [5]  RepliedToIPMField OPTIONAL,
139   obsoleted-IPMs         [6]  ObsoletedIPMsField DEFAULT {},
140   related-IPMs           [7]  RelatedIPMsField DEFAULT {},
141   subject                [8] EXPLICIT SubjectField OPTIONAL,
142   expiry-time            [9]  ExpiryTimeField OPTIONAL,
143   reply-time             [10]  ReplyTimeField OPTIONAL,
144   reply-recipients       [11]  ReplyRecipientsField OPTIONAL,
145   importance             [12]  ImportanceField DEFAULT normal,
146   sensitivity            [13]  SensitivityField OPTIONAL,
147   auto-forwarded         [14]  AutoForwardedField DEFAULT FALSE,
148   extensions             [15]  ExtensionsField DEFAULT {}
149 }
150
151 -- Heading component types
152 IPMIdentifier ::= [APPLICATION 11]  SET {
153   user                      ORName OPTIONAL,
154   user-relative-identifier  LocalIPMIdentifier
155 }
156
157 LocalIPMIdentifier ::= PrintableString(SIZE (0..ub-local-ipm-identifier))
158
159 RecipientSpecifier ::= SET {
160   recipient              [0]  ORDescriptor,
161   notification-requests  [1]  NotificationRequests DEFAULT {},
162   reply-requested        [2]  BOOLEAN DEFAULT FALSE,
163   recipient-extensions   [3]  RecipientExtensionsField OPTIONAL
164 }
165
166 ORDescriptor ::= SET {
167   formal-name       ORName OPTIONAL,
168   free-form-name    [0]  FreeFormName OPTIONAL,
169   telephone-number  [1]  TelephoneNumber OPTIONAL
170 }
171
172 FreeFormName ::= TeletexString(SIZE (0..ub-free-form-name))
173
174 TelephoneNumber ::= PrintableString(SIZE (0..ub-telephone-number))
175
176 NotificationRequests ::= BIT STRING {
177   rn(0), nrn(1), ipm-return(2), an-supported(3), suppress-an(4)}
178
179 RecipientExtensionsField ::= SET OF IPMSExtension --{{RecipientExtensions}}
180
181 --RecipientExtensions IPMS-EXTENSION ::=
182 --  {circulation-list-indicator | precedence | recipient-security-request |
183 --   PrivateIPMSExtensions, ...}
184
185 -- This IPM heading field
186 ThisIPMField ::= IPMIdentifier
187
188 -- Originator heading field
189 OriginatorField ::= ORDescriptor
190
191 -- Authorizing Users heading field
192 AuthorizingUsersField ::= SEQUENCE OF AuthorizingUsersSubfield
193
194 AuthorizingUsersSubfield ::= ORDescriptor
195
196 -- Primary Recipients heading field
197 PrimaryRecipientsField ::= SEQUENCE OF PrimaryRecipientsSubfield
198
199 PrimaryRecipientsSubfield ::= RecipientSpecifier
200
201 -- Copy Recipients heading field
202 CopyRecipientsField ::= SEQUENCE OF CopyRecipientsSubfield
203
204 CopyRecipientsSubfield ::= RecipientSpecifier
205
206 -- Blind Copy Recipients heading field
207 BlindCopyRecipientsField ::= SEQUENCE OF BlindCopyRecipientsSubfield
208
209 BlindCopyRecipientsSubfield ::= RecipientSpecifier
210
211 -- Blind Copy Recipients envelope field
212 --blind-copy-recipients EXTENSION ::= {
213 --  BlindCopyRecipientsField,
214 --  IDENTIFIED BY  standard-extension:41
215 --}
216
217 -- Replied-to IPM heading field
218 RepliedToIPMField ::= IPMIdentifier
219
220 -- Obsoleted IPMs heading field
221 ObsoletedIPMsField ::= SEQUENCE OF ObsoletedIPMsSubfield
222
223 ObsoletedIPMsSubfield ::= IPMIdentifier
224
225 -- Related IPMs heading field
226 RelatedIPMsField ::= SEQUENCE OF RelatedIPMsSubfield
227
228 RelatedIPMsSubfield ::= IPMIdentifier
229
230 -- Subject heading field
231 SubjectField ::= TeletexString(SIZE (0..ub-subject-field))
232
233 -- Expiry Time heading field
234 ExpiryTimeField ::= Time
235
236 -- Reply Time heading field
237 ReplyTimeField ::= Time
238
239 -- Reply Recipients heading field
240 ReplyRecipientsField ::= SEQUENCE OF ReplyRecipientsSubfield
241
242 ReplyRecipientsSubfield ::=
243   ORDescriptor --(WITH COMPONENTS {
244 --                 ...,
245 --                 formal-name  PRESENT
246 --               })
247
248 -- Importance heading field
249 ImportanceField ::= ENUMERATED {low(0), normal(1), high(2)}
250
251 -- Sensitivity heading field
252 SensitivityField ::= ENUMERATED {
253   personal(1), private(2), company-confidential(3)}
254
255 -- Auto-forwarded heading field
256 AutoForwardedField ::= BOOLEAN
257
258 -- Extensions heading field
259 ExtensionsField ::= SET OF IPMSExtension --{{HeadingExtensions}}
260
261 --HeadingExtensions IPMS-EXTENSION ::=
262 --  {authorization-time | auto-submitted | body-part-signatures |
263 --   circulation-list-recipients | distribution-codes | extended-subject |
264 --   incomplete-copy | information-category | ipm-security-label | languages |
265 --   manual-handling-instructions | originators-reference |
266 --   precedence-policy-identifier | PrivateIPMSExtensions, ...}
267
268 -- Body
269 Body ::= SEQUENCE OF BodyPart
270
271 -- asn2eth seems to have problems with this CHOICE CHOICE
272 BodyPart ::= CHOICE {
273 --  basic
274 --    CHOICE { -- ia5-text             [0]  IA5TextBodyPart,
275             g3-facsimile         [3]  G3FacsimileBodyPart,
276             g4-class1            [4]  G4Class1BodyPart,
277             teletex              [5]  TeletexBodyPart,
278             videotex             [6]  VideotexBodyPart,
279             encrypted            [8]  EncryptedBodyPart,
280             message              [9]  MessageBodyPart,
281             mixed-mode           [11]  MixedModeBodyPart,
282             bilaterally-defined  [14]  BilaterallyDefinedBodyPart,
283             nationally-defined   [7]  NationallyDefinedBodyPart --} --,
284             extended  [15]  ExtendedBodyPart --{{IPMBodyPartTable}}
285 }
286
287
288 -- Extended body part
289 ExtendedBodyPart --{EXTENDED-BODY-PART-TYPE:IPMBodyPartTable}-- ::= SEQUENCE {
290   parameters  [0]  EXTERNAL, --INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
291   data        EXTERNAL -- INSTANCE OF TYPE-IDENTIFIER
292 }
293 --(CONSTRAINED BY { - - must correspond to the &parameters field and &data field of a member of --
294 --   IPMBodyPartTable})
295
296 --IPMBodyPartTable EXTENDED-BODY-PART-TYPE ::=
297 --  {StandardBodyParts | ApplicationSpecificBodyParts}
298
299 --StandardBodyParts EXTENDED-BODY-PART-TYPE ::=
300 --  {ia5-text-body-part | g3-facsimile-body-part | g4-class1-body-part |
301 --   teletex-body-part | videotex-body-part | encrypted-body-part |
302 --   message-body-part | mixed-mode-body-part | bilaterally-defined-body-part |
303 --   nationally-defined-body-part | general-text-body-part |
304 --   file-transfer-body-part | voice-body-part | report-body-part |
305 --   notification-body-part |
306 --   content-body-part{{1 2 3 - - RELATIVE-OID to be provided - -}} |
307 --   pkcs7-body-part, ...}
308
309 --ApplicationSpecificBodyParts EXTENDED-BODY-PART-TYPE ::=
310 --  {- -any body part defined in other Specifications, or for proprietary or private use 
311 --   ...}
312
313 --EXTENDED-BODY-PART-TYPE ::= CLASS {
314 --  &parameters  TYPE-IDENTIFIER OPTIONAL,
315 --  &data        TYPE-IDENTIFIER
316 --}WITH SYNTAX {[PARAMETERS &parameters,]
317 --              DATA &data
318 --}
319
320 -- IA5 Text body part
321 IA5TextBodyPart ::= SEQUENCE {
322   parameters  IA5TextParameters,
323   data        IA5TextData
324 }
325
326 IA5TextParameters ::= SET {repertoire  [0]  Repertoire DEFAULT ia5
327 }
328
329 IA5TextData ::= IA5String
330
331 Repertoire ::= ENUMERATED {ita2(2), ia5(5)}
332
333 -- G3 Facsimile body part
334 G3FacsimileBodyPart ::= SEQUENCE {
335   parameters  G3FacsimileParameters,
336   data        G3FacsimileData
337 }
338
339 G3FacsimileParameters ::= SET {
340   number-of-pages       [0]  INTEGER OPTIONAL,
341   non-basic-parameters  [1]  G3FacsimileNonBasicParameters OPTIONAL
342 }
343
344 G3FacsimileData ::= SEQUENCE OF BIT STRING
345
346 -- G4 Class 1 and Mixed-mode body parts
347 G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element
348
349 MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element
350
351 -- Teletex body part
352 TeletexBodyPart ::= SEQUENCE {
353   parameters  TeletexParameters,
354   data        TeletexData
355 }
356
357 TeletexParameters ::= SET {
358   number-of-pages       [0]  INTEGER OPTIONAL,
359   telex-compatible      [1]  BOOLEAN DEFAULT FALSE,
360   non-basic-parameters  [2]  TeletexNonBasicParameters OPTIONAL
361 }
362
363 TeletexData ::= SEQUENCE OF TeletexString
364
365 -- Videotex body part
366 VideotexBodyPart ::= SEQUENCE {
367   parameters  VideotexParameters,
368   data        VideotexData
369 }
370
371 VideotexParameters ::= SET {syntax  [0]  VideotexSyntax OPTIONAL
372 }
373
374 VideotexSyntax ::= INTEGER {
375   ids(0), data-syntax1(1), data-syntax2(2), data-syntax3(3)}
376
377 VideotexData ::= VideotexString
378
379 -- Encrypted body part
380 EncryptedBodyPart ::= SEQUENCE {
381   parameters  EncryptedParameters,
382   data        EncryptedData
383 }
384
385 EncryptedParameters ::= SET {
386   algorithm-identifier     AlgorithmIdentifier,
387   originator-certificates  ExtendedCertificates OPTIONAL,
388   ...
389 }
390
391 EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart})
392
393 -- Message body part
394 MessageBodyPart ::= SEQUENCE {
395   parameters  MessageParameters,
396   data        MessageData
397 }
398
399 MessageParameters ::= SET {
400   delivery-time      [0]  MessageDeliveryTime OPTIONAL,
401   delivery-envelope  [1]  OtherMessageDeliveryFields OPTIONAL
402 }
403
404 MessageData ::= IPM
405
406 -- Bilaterally Defined body part
407 BilaterallyDefinedBodyPart ::= OCTET STRING
408
409 -- Nationally Defined body part
410 --NATIONAL-BODY-PARTS ::= CLASS {&Type  
411 --}
412
413 --NationallyDefinedBodyPart ::= NATIONAL-BODY-PARTS.&Type
414
415 -- Provided for Historic reasons. Use is strongly deprecated.
416 -- IPN
417 IPN ::= SET {
418   -- common-fields - -COMPONENTS OF CommonFields,
419   subject-ipm              SubjectIPMField,
420   ipn-originator           [1]  IPNOriginatorField OPTIONAL,
421   ipm-intended-recipient   [2]  IPMIntendedRecipientField OPTIONAL,
422   conversion-eits          ConversionEITsField OPTIONAL,
423   notification-extensions  [3]  NotificationExtensionsField OPTIONAL,
424   choice
425     [0]  CHOICE {non-receipt-fields              [0]  NonReceiptFields,
426                  receipt-fields                  [1]  ReceiptFields,
427                  other-notification-type-fields
428                    [2]  OtherNotificationTypeFields}
429 }
430
431 --RN ::=
432 --  IPN
433 --    (WITH COMPONENTS {
434 --       ...,
435 --       choice  (WITH COMPONENTS {
436 --                  receipt-fields  PRESENT
437 --                })
438 --     })
439
440 --NRN ::=
441 --  IPN
442 --    (WITH COMPONENTS {
443 --       ...,
444 --       choice  (WITH COMPONENTS {
445 --                  non-receipt-fields  PRESENT
446 --                })
447 --     })
448
449 --ON ::=
450 --  IPN
451 --    (WITH COMPONENTS {
452 --       ...,
453 --       choice  (WITH COMPONENTS {
454 --                  other-notification-type-fields  PRESENT
455 --                })
456 --     })
457
458 -- CommonFields are always used with WITH COMPONENTS - which are manually expanded
459 --CommonFields ::= SET {
460 --  subject-ipm              SubjectIPMField,
461 --  ipn-originator           [1]  IPNOriginatorField OPTIONAL,
462 --  ipm-intended-recipient   [2]  IPMIntendedRecipientField OPTIONAL,
463 --  conversion-eits          ConversionEITsField OPTIONAL,
464 --  notification-extensions  [3]  NotificationExtensionsField OPTIONAL
465 --}
466
467 NonReceiptFields ::= SET {
468   non-receipt-reason    [0]  NonReceiptReasonField,
469   discard-reason        [1]  DiscardReasonField OPTIONAL,
470   auto-forward-comment  [2]  AutoForwardCommentField OPTIONAL,
471   returned-ipm          [3]  ReturnedIPMField OPTIONAL,
472   nrn-extensions        [4]  NRNExtensionsField OPTIONAL
473 }
474
475 ReceiptFields ::= SET {
476   receipt-time         [0]  ReceiptTimeField,
477   acknowledgment-mode  [1]  AcknowledgmentModeField DEFAULT manual,
478   suppl-receipt-info   [2]  SupplReceiptInfoField OPTIONAL,
479   rn-extensions        [3]  RNExtensionsField OPTIONAL
480 }
481
482 -- Common fields
483 SubjectIPMField ::= IPMIdentifier
484
485 IPNOriginatorField ::= ORDescriptor
486
487 IPMIntendedRecipientField ::= ORDescriptor
488
489 ConversionEITsField ::= EncodedInformationTypes
490
491 NotificationExtensionsField ::= SET OF IPMSExtension --{{NotificationExtensions}}
492
493 --NotificationExtensions IPMS-EXTENSION ::=
494 --  {ipn-security-response | PrivateIPMSExtensions, ...}
495
496 -- Non-receipt fields
497 NonReceiptReasonField ::= ENUMERATED {
498   ipm-discarded(0), ipm-auto-forwarded(1), ...
499   }
500
501 -- ITU-T version: 
502 DiscardReasonField ::= ENUMERATED {
503   ipm-expired(0), ipm-obsoleted(1), user-subscription-terminated(2),
504   not-used(3)}
505
506 -- ISO/IEC version: 
507 --DiscardReasonField ::= ENUMERATED {
508 --      ipm-expired                  (0),
509 --      ipm-obsoleted                (1),
510 --      user-subscription-terminated (2),
511 -- The following value may not be supported by implementations of earlier versions of this Specification
512 --      ipm-deleted                  (3),
513 --      ... }
514 AutoForwardCommentField ::=
515   AutoForwardComment
516
517 AutoForwardComment ::= PrintableString(SIZE (0..ub-auto-forward-comment))
518
519 ReturnedIPMField ::= IPM
520
521 NRNExtensionsField ::= SET OF IPMSExtension --{{NRNExtensions}}
522
523 --NRNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
524
525 -- Receipt fields
526 ReceiptTimeField ::= Time
527
528 AcknowledgmentModeField ::= ENUMERATED {manual(0), automatic(1)}
529
530 SupplReceiptInfoField ::= SupplementaryInformation
531
532 RNExtensionsField ::= SET OF IPMSExtension --{{RNExtensions}}
533
534 --RNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
535
536 -- Other Notification Type fields
537 OtherNotificationTypeFields ::= SET OF IPMSExtension --{{OtherNotifications}}
538
539 --OtherNotifications IPMS-EXTENSION ::=
540 --  {AdviceNotifications | PrivateIPMSExtensions, ...}
541
542 --AdviceNotifications IPMS-EXTENSION ::=
543 --  {absence-advice | change-of-address-advice, ...}
544
545 -- Advice Notification fields
546 --absence-advice IPMS-EXTENSION ::= {
547 --  VALUE          AbsenceAdvice,
548 --  IDENTIFIED BY  id-on-absence-advice
549 --}
550
551 AbsenceAdvice ::= SEQUENCE {
552   advice          BodyPart OPTIONAL,
553   next-available  Time OPTIONAL
554 }
555
556 -- at least one component shall be present 
557 --change-of-address-advice IPMS-EXTENSION ::= {
558 --  VALUE          ChangeOfAddressAdvice,
559 --  IDENTIFIED BY  id-on-change-of-address-advice
560 --}
561
562 ChangeOfAddressAdvice ::= SEQUENCE {
563   new-address
564     [0]  ORDescriptor --(WITH COMPONENTS {
565 --                        ...,
566 --                        formal-name  PRESENT
567 --                      }) --,
568   effective-from  [1]  Time OPTIONAL
569 }
570
571 -- Message Store Realization
572 --prevent-nrn-generation MS-EXTENSION ::= {
573 --  NULL
574 --  IDENTIFIED BY  id-mst-prevent-nrn-generation
575 --}
576
577 --suspend-auto-acknowledgement MS-EXTENSION ::= {
578 --  NULL
579 --  IDENTIFIED BY  id-mst-suspend-auto-acknowledgement
580 --}
581
582 --assembly-capability MS-EXTENSION ::= {
583 --  NULL
584 --  IDENTIFIED BY  id-mst-assembly-capability
585 --}
586
587 --IPMSubmissionOptions MS-EXTENSION ::=
588 --  {ipm-assembly-instructions | originator-body-part-encryption-token |
589 --   originator-forwarded-content-token, ...} - - For future extension additions 
590
591 --ipm-assembly-instructions MS-EXTENSION ::= {
592 --  IPMAssemblyInstructions
593 --  IDENTIFIED BY  id-mst-assembly-instructions
594 --}
595
596 IPMAssemblyInstructions ::= SET {assembly-instructions  [0]  BodyPartReferences
597 }
598
599 BodyPartReferences ::= SEQUENCE OF BodyPartReference
600
601 BodyPartReference ::= CHOICE {
602   stored-entry         [0]  SequenceNumber,
603   stored-content       [1]  SequenceNumber,
604   submitted-body-part  [2]  INTEGER(1..MAX),
605   stored-body-part
606     [3]  SEQUENCE {message-entry     SequenceNumber,
607                    body-part-number  INTEGER(1..MAX)}
608 }
609
610 --originator-body-part-encryption-token MS-EXTENSION ::= {
611 --  BodyPartTokens
612 --  IDENTIFIED BY  id-mst-originator-body-part-encryption-token
613 --}
614
615 --originator-forwarded-content-token MS-EXTENSION ::= {
616 --  ForwardedContentToken
617 --  IDENTIFIED BY  id-mst-originator-forwarded-content-token
618 --}
619
620 --IPMSubmissionErrors MS-EXTENSION ::=
621 --  {invalid-assembly-instructions | invalid-ipn, ...
622 --  } - - For future extension additions 
623
624 --invalid-assembly-instructions MS-EXTENSION ::= {
625 --  BodyPartReferences
626 --  IDENTIFIED BY  id-mst-invalid-assembly-instructions
627 --}
628
629 --invalid-ipn MS-EXTENSION ::= {NULL
630 --                              IDENTIFIED BY  id-mst-invalid-ipn
631 --}
632
633 SequenceNumber ::= INTEGER
634 Interchange-Data-Element ::= ANY
635 NationallyDefinedBodyPart ::= ANY
636
637 -- cannot refer to basic types in .cnf .#REGISTER - so we create an intermediate type
638 OriginatingUA ::= IA5String
639
640 END -- of IPMSInformationObjects
641
642 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
643