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 ::=
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,
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
19 -- FROM IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7)
20 -- modules(0) extended-body-part-types-2(1)}
21 -- file-transfer-body-part
23 -- FROM IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
24 -- modules(0) file-transfer-body-part-type(9)}
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
31 -- FROM IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
32 -- modules(0) forwarded-report-body-part-type(12)}
33 -- content-body-part{}
35 -- FROM IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1)
36 -- modules(0) forwarded-content-body-part-type(15)}
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
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
55 -- FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
56 -- ipm-security-extensions(14) version-1999(1)}
58 -- ub-auto-forward-comment, ub-free-form-name, ub-local-ipm-identifier,
59 -- ub-subject-field, ub-telephone-number
61 -- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
62 -- upper-bounds(10) version-1999(1)}
64 -- Interchange-Data-Element
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
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
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{}
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
93 -- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
94 -- object-identifiers(0) version-1999(1)} ; --
100 -- Information object
101 InformationObject ::= CHOICE {ipm [0] IPM,
106 IPM ::= SEQUENCE {heading Heading,
111 --IPMPerRecipientEnvelopeExtensions EXTENSION ::=
112 -- {blind-copy-recipients | body-part-encryption-token |
113 -- forwarded-content-token, ...}
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
121 --IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
122 -- &Type DEFAULT NULL
123 --}WITH SYNTAX {[VALUE &Type,]
127 --PrivateIPMSExtensions IPMS-EXTENSION ::=
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 {}
151 -- Heading component types
152 IPMIdentifier ::= [APPLICATION 11] SET {
153 user ORName OPTIONAL,
154 user-relative-identifier LocalIPMIdentifier
157 LocalIPMIdentifier ::= PrintableString(SIZE (0..ub-local-ipm-identifier))
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
166 ORDescriptor ::= SET {
167 formal-name ORName OPTIONAL,
168 free-form-name [0] FreeFormName OPTIONAL,
169 telephone-number [1] TelephoneNumber OPTIONAL
172 FreeFormName ::= TeletexString(SIZE (0..ub-free-form-name))
174 TelephoneNumber ::= PrintableString(SIZE (0..ub-telephone-number))
176 NotificationRequests ::= BIT STRING {
177 rn(0), nrn(1), ipm-return(2), an-supported(3), suppress-an(4)}
179 RecipientExtensionsField ::= SET OF IPMSExtension --{{RecipientExtensions}}
181 --RecipientExtensions IPMS-EXTENSION ::=
182 -- {circulation-list-indicator | precedence | recipient-security-request |
183 -- PrivateIPMSExtensions, ...}
185 -- This IPM heading field
186 ThisIPMField ::= IPMIdentifier
188 -- Originator heading field
189 OriginatorField ::= ORDescriptor
191 -- Authorizing Users heading field
192 AuthorizingUsersField ::= SEQUENCE OF AuthorizingUsersSubfield
194 AuthorizingUsersSubfield ::= ORDescriptor
196 -- Primary Recipients heading field
197 PrimaryRecipientsField ::= SEQUENCE OF PrimaryRecipientsSubfield
199 PrimaryRecipientsSubfield ::= RecipientSpecifier
201 -- Copy Recipients heading field
202 CopyRecipientsField ::= SEQUENCE OF CopyRecipientsSubfield
204 CopyRecipientsSubfield ::= RecipientSpecifier
206 -- Blind Copy Recipients heading field
207 BlindCopyRecipientsField ::= SEQUENCE OF BlindCopyRecipientsSubfield
209 BlindCopyRecipientsSubfield ::= RecipientSpecifier
211 -- Blind Copy Recipients envelope field
212 --blind-copy-recipients EXTENSION ::= {
213 -- BlindCopyRecipientsField,
214 -- IDENTIFIED BY standard-extension:41
217 -- Replied-to IPM heading field
218 RepliedToIPMField ::= IPMIdentifier
220 -- Obsoleted IPMs heading field
221 ObsoletedIPMsField ::= SEQUENCE OF ObsoletedIPMsSubfield
223 ObsoletedIPMsSubfield ::= IPMIdentifier
225 -- Related IPMs heading field
226 RelatedIPMsField ::= SEQUENCE OF RelatedIPMsSubfield
228 RelatedIPMsSubfield ::= IPMIdentifier
230 -- Subject heading field
231 SubjectField ::= TeletexString(SIZE (0..ub-subject-field))
233 -- Expiry Time heading field
234 ExpiryTimeField ::= Time
236 -- Reply Time heading field
237 ReplyTimeField ::= Time
239 -- Reply Recipients heading field
240 ReplyRecipientsField ::= SEQUENCE OF ReplyRecipientsSubfield
242 ReplyRecipientsSubfield ::=
243 ORDescriptor --(WITH COMPONENTS {
245 -- formal-name PRESENT
248 -- Importance heading field
249 ImportanceField ::= ENUMERATED {low(0), normal(1), high(2)}
251 -- Sensitivity heading field
252 SensitivityField ::= ENUMERATED {
253 personal(1), private(2), company-confidential(3)}
255 -- Auto-forwarded heading field
256 AutoForwardedField ::= BOOLEAN
258 -- Extensions heading field
259 ExtensionsField ::= SET OF IPMSExtension --{{HeadingExtensions}}
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, ...}
269 Body ::= SEQUENCE OF BodyPart
271 -- asn2eth seems to have problems with this CHOICE CHOICE
272 BodyPart ::= CHOICE {
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}}
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
293 --(CONSTRAINED BY { - - must correspond to the ¶meters field and &data field of a member of --
294 -- IPMBodyPartTable})
296 --IPMBodyPartTable EXTENDED-BODY-PART-TYPE ::=
297 -- {StandardBodyParts | ApplicationSpecificBodyParts}
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, ...}
309 --ApplicationSpecificBodyParts EXTENDED-BODY-PART-TYPE ::=
310 -- {- -any body part defined in other Specifications, or for proprietary or private use
313 --EXTENDED-BODY-PART-TYPE ::= CLASS {
314 -- ¶meters TYPE-IDENTIFIER OPTIONAL,
315 -- &data TYPE-IDENTIFIER
316 --}WITH SYNTAX {[PARAMETERS ¶meters,]
320 -- IA5 Text body part
321 IA5TextBodyPart ::= SEQUENCE {
322 parameters IA5TextParameters,
326 IA5TextParameters ::= SET {repertoire [0] Repertoire DEFAULT ia5
329 IA5TextData ::= IA5String
331 Repertoire ::= ENUMERATED {ita2(2), ia5(5)}
333 -- G3 Facsimile body part
334 G3FacsimileBodyPart ::= SEQUENCE {
335 parameters G3FacsimileParameters,
339 G3FacsimileParameters ::= SET {
340 number-of-pages [0] INTEGER OPTIONAL,
341 non-basic-parameters [1] G3FacsimileNonBasicParameters OPTIONAL
344 G3FacsimileData ::= SEQUENCE OF BIT STRING
346 -- G4 Class 1 and Mixed-mode body parts
347 G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element
349 MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element
352 TeletexBodyPart ::= SEQUENCE {
353 parameters TeletexParameters,
357 TeletexParameters ::= SET {
358 number-of-pages [0] INTEGER OPTIONAL,
359 telex-compatible [1] BOOLEAN DEFAULT FALSE,
360 non-basic-parameters [2] TeletexNonBasicParameters OPTIONAL
363 TeletexData ::= SEQUENCE OF TeletexString
365 -- Videotex body part
366 VideotexBodyPart ::= SEQUENCE {
367 parameters VideotexParameters,
371 VideotexParameters ::= SET {syntax [0] VideotexSyntax OPTIONAL
374 VideotexSyntax ::= INTEGER {
375 ids(0), data-syntax1(1), data-syntax2(2), data-syntax3(3)}
377 VideotexData ::= VideotexString
379 -- Encrypted body part
380 EncryptedBodyPart ::= SEQUENCE {
381 parameters EncryptedParameters,
385 EncryptedParameters ::= SET {
386 algorithm-identifier AlgorithmIdentifier,
387 originator-certificates ExtendedCertificates OPTIONAL,
391 EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart})
394 MessageBodyPart ::= SEQUENCE {
395 parameters MessageParameters,
399 MessageParameters ::= SET {
400 delivery-time [0] MessageDeliveryTime OPTIONAL,
401 delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL
406 -- Bilaterally Defined body part
407 BilaterallyDefinedBodyPart ::= OCTET STRING
409 -- Nationally Defined body part
410 --NATIONAL-BODY-PARTS ::= CLASS {&Type
413 --NationallyDefinedBodyPart ::= NATIONAL-BODY-PARTS.&Type
415 -- Provided for Historic reasons. Use is strongly deprecated.
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,
425 [0] CHOICE {non-receipt-fields [0] NonReceiptFields,
426 receipt-fields [1] ReceiptFields,
427 other-notification-type-fields
428 [2] OtherNotificationTypeFields}
433 -- (WITH COMPONENTS {
435 -- choice (WITH COMPONENTS {
436 -- receipt-fields PRESENT
442 -- (WITH COMPONENTS {
444 -- choice (WITH COMPONENTS {
445 -- non-receipt-fields PRESENT
451 -- (WITH COMPONENTS {
453 -- choice (WITH COMPONENTS {
454 -- other-notification-type-fields PRESENT
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
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
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
483 SubjectIPMField ::= IPMIdentifier
485 IPNOriginatorField ::= ORDescriptor
487 IPMIntendedRecipientField ::= ORDescriptor
489 ConversionEITsField ::= EncodedInformationTypes
491 NotificationExtensionsField ::= SET OF IPMSExtension --{{NotificationExtensions}}
493 --NotificationExtensions IPMS-EXTENSION ::=
494 -- {ipn-security-response | PrivateIPMSExtensions, ...}
496 -- Non-receipt fields
497 NonReceiptReasonField ::= ENUMERATED {
498 ipm-discarded(0), ipm-auto-forwarded(1), ...
502 DiscardReasonField ::= ENUMERATED {
503 ipm-expired(0), ipm-obsoleted(1), user-subscription-terminated(2),
507 --DiscardReasonField ::= ENUMERATED {
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
514 AutoForwardCommentField ::=
517 AutoForwardComment ::= PrintableString(SIZE (0..ub-auto-forward-comment))
519 ReturnedIPMField ::= IPM
521 NRNExtensionsField ::= SET OF IPMSExtension --{{NRNExtensions}}
523 --NRNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
526 ReceiptTimeField ::= Time
528 AcknowledgmentModeField ::= ENUMERATED {manual(0), automatic(1)}
530 SupplReceiptInfoField ::= SupplementaryInformation
532 RNExtensionsField ::= SET OF IPMSExtension --{{RNExtensions}}
534 --RNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...}
536 -- Other Notification Type fields
537 OtherNotificationTypeFields ::= SET OF IPMSExtension --{{OtherNotifications}}
539 --OtherNotifications IPMS-EXTENSION ::=
540 -- {AdviceNotifications | PrivateIPMSExtensions, ...}
542 --AdviceNotifications IPMS-EXTENSION ::=
543 -- {absence-advice | change-of-address-advice, ...}
545 -- Advice Notification fields
546 --absence-advice IPMS-EXTENSION ::= {
547 -- VALUE AbsenceAdvice,
548 -- IDENTIFIED BY id-on-absence-advice
551 AbsenceAdvice ::= SEQUENCE {
552 advice BodyPart OPTIONAL,
553 next-available Time OPTIONAL
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
562 ChangeOfAddressAdvice ::= SEQUENCE {
564 [0] ORDescriptor --(WITH COMPONENTS {
566 -- formal-name PRESENT
568 effective-from [1] Time OPTIONAL
571 -- Message Store Realization
572 --prevent-nrn-generation MS-EXTENSION ::= {
574 -- IDENTIFIED BY id-mst-prevent-nrn-generation
577 --suspend-auto-acknowledgement MS-EXTENSION ::= {
579 -- IDENTIFIED BY id-mst-suspend-auto-acknowledgement
582 --assembly-capability MS-EXTENSION ::= {
584 -- IDENTIFIED BY id-mst-assembly-capability
587 --IPMSubmissionOptions MS-EXTENSION ::=
588 -- {ipm-assembly-instructions | originator-body-part-encryption-token |
589 -- originator-forwarded-content-token, ...} - - For future extension additions
591 --ipm-assembly-instructions MS-EXTENSION ::= {
592 -- IPMAssemblyInstructions
593 -- IDENTIFIED BY id-mst-assembly-instructions
596 IPMAssemblyInstructions ::= SET {assembly-instructions [0] BodyPartReferences
599 BodyPartReferences ::= SEQUENCE OF BodyPartReference
601 BodyPartReference ::= CHOICE {
602 stored-entry [0] SequenceNumber,
603 stored-content [1] SequenceNumber,
604 submitted-body-part [2] INTEGER(1..MAX),
606 [3] SEQUENCE {message-entry SequenceNumber,
607 body-part-number INTEGER(1..MAX)}
610 --originator-body-part-encryption-token MS-EXTENSION ::= {
612 -- IDENTIFIED BY id-mst-originator-body-part-encryption-token
615 --originator-forwarded-content-token MS-EXTENSION ::= {
616 -- ForwardedContentToken
617 -- IDENTIFIED BY id-mst-originator-forwarded-content-token
620 --IPMSubmissionErrors MS-EXTENSION ::=
621 -- {invalid-assembly-instructions | invalid-ipn, ...
622 -- } - - For future extension additions
624 --invalid-assembly-instructions MS-EXTENSION ::= {
625 -- BodyPartReferences
626 -- IDENTIFIED BY id-mst-invalid-assembly-instructions
629 --invalid-ipn MS-EXTENSION ::= {NULL
630 -- IDENTIFIED BY id-mst-invalid-ipn
633 SequenceNumber ::= INTEGER
634 Interchange-Data-Element ::= ANY
635 NationallyDefinedBodyPart ::= ANY
637 -- cannot refer to basic types in .cnf .#REGISTER - so we create an intermediate type
638 OriginatingUA ::= IA5String
640 END -- of IPMSInformationObjects
642 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D