-- Module IPMSInformationObjects (X.420:06/1999) IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) information-objects(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= BEGIN -- Prologue -- Exports everything. IMPORTS -- IPMS Extended Body Parts -- bilaterally-defined-body-part, encrypted-body-part, g3-facsimile-body-part, -- g4-class1-body-part, ia5-text-body-part, message-body-part, -- mixed-mode-body-part, nationally-defined-body-part, teletex-body-part, -- videotex-body-part --== -- FROM IPMSExtendedBodyPartTypes {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- extended-body-part-types(7) version-1994(0)} -- general-text-body-part --== -- FROM IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) -- modules(0) extended-body-part-types-2(1)} -- file-transfer-body-part --== -- FROM IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1) -- modules(0) file-transfer-body-part-type(9)} -- voice-body-part --== -- FROM IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) -- modules(0) extended-voice-body-part-type(11)} -- notification-body-part, report-body-part --== -- FROM IPMSForwardedReportBodyPartType {joint-iso-itu-t mhs(6) ipms(1) -- modules(0) forwarded-report-body-part-type(12)} -- content-body-part{} --== -- FROM IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) -- modules(0) forwarded-content-body-part-type(15)} -- pkcs7-body-part --== -- FROM PKCS7BodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- pkcs7-body-part-type(16)} -- IPMS Heading Extensions -- authorization-time, auto-submitted, body-part-signatures, -- circulation-list-indicator, circulation-list-recipients, -- distribution-codes, extended-subject, incomplete-copy, -- information-category, ipm-security-label, languages, -- manual-handling-instructions, originators-reference, precedence, -- precedence-policy-identifier --== -- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- heading-extensions(6) version-1999(1)} -- IPMS Security Extensions -- body-part-encryption-token, BodyPartTokens, forwarded-content-token, -- ForwardedContentToken, ipn-security-response, recipient-security-request --== -- FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- ipm-security-extensions(14) version-1999(1)} -- IPMS Upper bounds -- ub-auto-forward-comment, ub-free-form-name, ub-local-ipm-identifier, -- ub-subject-field, ub-telephone-number --== -- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- upper-bounds(10) version-1999(1)} -- ODIF -- Interchange-Data-Element --== -- FROM Interchange-Data-Elements {2 8 1 5 5} -- MTS Abstract Service EncodedInformationTypes, ExtendedCertificates, EXTENSION, G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName, OtherMessageDeliveryFields, SupplementaryInformation, TeletexNonBasicParameters, UniversalOrBMPString, SecurityLabel, MessageDeliveryIdentifier, ProofOfSubmission, OriginatingMTACertificate, MessageSubmissionEnvelope --== FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) mts-abstract-service(1) version-1999(1)} -- MS Abstract Service -- MS-EXTENSION, SequenceNumber --== -- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) -- abstract-service(1) version-1999(1)} -- Directory Authentication Framework AlgorithmIdentifier, ENCRYPTED{} --== FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 3} -- IPMS Object Identifiers -- id-mst-assembly-capability, id-mst-assembly-instructions, -- id-mst-invalid-assembly-instructions, id-mst-invalid-ipn, -- id-mst-originator-body-part-encryption-token, -- id-mst-originator-forwarded-content-token, -- id-mst-suspend-auto-acknowledgement, id-mst-prevent-nrn-generation, -- id-on-absence-advice, id-on-change-of-address-advice --== -- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- object-identifiers(0) version-1999(1)} ; -- EXTERNAL FROM ACSE-1 CertificateAssertion --== FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1) certificateExtensions(26) 0}; Time ::= UTCTime -- Information object InformationObject ::= CHOICE {ipm [0] IPM, ipn [1] IPN } -- IPM IPM ::= SEQUENCE {heading Heading, body Body } -- MTS Extensions --IPMPerRecipientEnvelopeExtensions EXTENSION ::= -- {blind-copy-recipients | body-part-encryption-token | -- forwarded-content-token, ...} -- IPMS Extensions IPMSExtension --{IPMS-EXTENSION:ChosenFrom}-- ::= SEQUENCE { type OBJECT IDENTIFIER, --IPMS-EXTENSION.&id({ChosenFrom}), value ANY --IPMS-EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL } --IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE, -- &Type DEFAULT NULL --}WITH SYNTAX {[VALUE &Type,] -- IDENTIFIED BY &id --} --PrivateIPMSExtensions IPMS-EXTENSION ::= -- {...} -- Heading Heading ::= SET { this-IPM ThisIPMField, originator [0] OriginatorField OPTIONAL, authorizing-users [1] AuthorizingUsersField OPTIONAL, primary-recipients [2] PrimaryRecipientsField DEFAULT {}, copy-recipients [3] CopyRecipientsField DEFAULT {}, blind-copy-recipients [4] BlindCopyRecipientsField OPTIONAL, replied-to-IPM [5] RepliedToIPMField OPTIONAL, obsoleted-IPMs [6] ObsoletedIPMsField DEFAULT {}, related-IPMs [7] RelatedIPMsField DEFAULT {}, subject [8] EXPLICIT SubjectField OPTIONAL, expiry-time [9] ExpiryTimeField OPTIONAL, reply-time [10] ReplyTimeField OPTIONAL, reply-recipients [11] ReplyRecipientsField OPTIONAL, importance [12] ImportanceField DEFAULT normal, sensitivity [13] SensitivityField OPTIONAL, auto-forwarded [14] AutoForwardedField DEFAULT FALSE, extensions [15] ExtensionsField DEFAULT {} } -- Heading component types IPMIdentifier ::= [APPLICATION 11] SET { user ORName OPTIONAL, user-relative-identifier LocalIPMIdentifier } LocalIPMIdentifier ::= PrintableString(SIZE (0..ub-local-ipm-identifier)) RecipientSpecifier ::= SET { recipient [0] ORDescriptor, notification-requests [1] NotificationRequests DEFAULT {}, reply-requested [2] BOOLEAN DEFAULT FALSE, recipient-extensions [3] RecipientExtensionsField OPTIONAL } ORDescriptor ::= SET { formal-name ORName OPTIONAL, free-form-name [0] FreeFormName OPTIONAL, telephone-number [1] TelephoneNumber OPTIONAL } FreeFormName ::= TeletexString(SIZE (0..ub-free-form-name)) TelephoneNumber ::= PrintableString(SIZE (0..ub-telephone-number)) NotificationRequests ::= BIT STRING { rn(0), nrn(1), ipm-return(2), an-supported(3), suppress-an(4)} RecipientExtensionsField ::= SET OF IPMSExtension --{{RecipientExtensions}} --RecipientExtensions IPMS-EXTENSION ::= -- {circulation-list-indicator | precedence | recipient-security-request | -- PrivateIPMSExtensions, ...} -- This IPM heading field ThisIPMField ::= IPMIdentifier -- Originator heading field OriginatorField ::= ORDescriptor -- Authorizing Users heading field AuthorizingUsersField ::= SEQUENCE OF AuthorizingUsersSubfield AuthorizingUsersSubfield ::= ORDescriptor -- Primary Recipients heading field PrimaryRecipientsField ::= SEQUENCE OF PrimaryRecipientsSubfield PrimaryRecipientsSubfield ::= RecipientSpecifier -- Copy Recipients heading field CopyRecipientsField ::= SEQUENCE OF CopyRecipientsSubfield CopyRecipientsSubfield ::= RecipientSpecifier -- Blind Copy Recipients heading field BlindCopyRecipientsField ::= SEQUENCE OF BlindCopyRecipientsSubfield BlindCopyRecipientsSubfield ::= RecipientSpecifier -- Blind Copy Recipients envelope field --blind-copy-recipients EXTENSION ::= { -- BlindCopyRecipientsField, -- IDENTIFIED BY standard-extension:41 --} -- Replied-to IPM heading field RepliedToIPMField ::= IPMIdentifier -- Obsoleted IPMs heading field ObsoletedIPMsField ::= SEQUENCE OF ObsoletedIPMsSubfield ObsoletedIPMsSubfield ::= IPMIdentifier -- Related IPMs heading field RelatedIPMsField ::= SEQUENCE OF RelatedIPMsSubfield RelatedIPMsSubfield ::= IPMIdentifier -- Subject heading field SubjectField ::= TeletexString(SIZE (0..ub-subject-field)) -- Expiry Time heading field ExpiryTimeField ::= Time -- Reply Time heading field ReplyTimeField ::= Time -- Reply Recipients heading field ReplyRecipientsField ::= SEQUENCE OF ReplyRecipientsSubfield ReplyRecipientsSubfield ::= ORDescriptor --(WITH COMPONENTS { -- ..., -- formal-name PRESENT -- }) -- Importance heading field ImportanceField ::= ENUMERATED {low(0), normal(1), high(2)} -- Sensitivity heading field SensitivityField ::= ENUMERATED { personal(1), private(2), company-confidential(3)} -- Auto-forwarded heading field AutoForwardedField ::= BOOLEAN -- Extensions heading field ExtensionsField ::= SET OF IPMSExtension --{{HeadingExtensions}} --HeadingExtensions IPMS-EXTENSION ::= -- {authorization-time | auto-submitted | body-part-signatures | -- circulation-list-recipients | distribution-codes | extended-subject | -- incomplete-copy | information-category | ipm-security-label | languages | -- manual-handling-instructions | originators-reference | -- precedence-policy-identifier | PrivateIPMSExtensions, ...} -- Body Body ::= SEQUENCE OF BodyPart -- asn2eth seems to have problems with this CHOICE CHOICE BodyPart ::= CHOICE { -- basic -- CHOICE { -- ia5-text [0] IA5TextBodyPart, g3-facsimile [3] G3FacsimileBodyPart, g4-class1 [4] G4Class1BodyPart, teletex [5] TeletexBodyPart, videotex [6] VideotexBodyPart, encrypted [8] EncryptedBodyPart, message [9] MessageBodyPart, mixed-mode [11] MixedModeBodyPart, bilaterally-defined [14] BilaterallyDefinedBodyPart, nationally-defined [7] NationallyDefinedBodyPart --} --, extended [15] ExtendedBodyPart --{{IPMBodyPartTable}} } -- Extended body part ExtendedBodyPart --{EXTENDED-BODY-PART-TYPE:IPMBodyPartTable}-- ::= SEQUENCE { parameters [0] EXTERNAL, --INSTANCE OF TYPE-IDENTIFIER OPTIONAL, data EXTERNAL -- INSTANCE OF TYPE-IDENTIFIER } --(CONSTRAINED BY { - - must correspond to the ¶meters field and &data field of a member of -- -- IPMBodyPartTable}) --IPMBodyPartTable EXTENDED-BODY-PART-TYPE ::= -- {StandardBodyParts | ApplicationSpecificBodyParts} --StandardBodyParts EXTENDED-BODY-PART-TYPE ::= -- {ia5-text-body-part | g3-facsimile-body-part | g4-class1-body-part | -- teletex-body-part | videotex-body-part | encrypted-body-part | -- message-body-part | mixed-mode-body-part | bilaterally-defined-body-part | -- nationally-defined-body-part | general-text-body-part | -- file-transfer-body-part | voice-body-part | report-body-part | -- notification-body-part | -- content-body-part{{1 2 3 - - RELATIVE-OID to be provided - -}} | -- pkcs7-body-part, ...} --ApplicationSpecificBodyParts EXTENDED-BODY-PART-TYPE ::= -- {- -any body part defined in other Specifications, or for proprietary or private use -- ...} --EXTENDED-BODY-PART-TYPE ::= CLASS { -- ¶meters TYPE-IDENTIFIER OPTIONAL, -- &data TYPE-IDENTIFIER --}WITH SYNTAX {[PARAMETERS ¶meters,] -- DATA &data --} -- IA5 Text body part IA5TextBodyPart ::= SEQUENCE { parameters IA5TextParameters, data IA5TextData } IA5TextParameters ::= SET {repertoire [0] Repertoire DEFAULT ia5 } IA5TextData ::= IA5String Repertoire ::= ENUMERATED {ita2(2), ia5(5)} -- G3 Facsimile body part G3FacsimileBodyPart ::= SEQUENCE { parameters G3FacsimileParameters, data G3FacsimileData } G3FacsimileParameters ::= SET { number-of-pages [0] INTEGER OPTIONAL, non-basic-parameters [1] G3FacsimileNonBasicParameters OPTIONAL } G3FacsimileData ::= SEQUENCE OF BIT STRING -- G4 Class 1 and Mixed-mode body parts G4Class1BodyPart ::= G4Class1Data G4Class1Data ::= SEQUENCE OF Interchange-Data-Element MixedModeBodyPart ::= MixedModeData MixedModeData ::= SEQUENCE OF Interchange-Data-Element -- Teletex body part TeletexBodyPart ::= SEQUENCE { parameters TeletexParameters, data TeletexData } TeletexParameters ::= SET { number-of-pages [0] INTEGER OPTIONAL, telex-compatible [1] BOOLEAN DEFAULT FALSE, non-basic-parameters [2] TeletexNonBasicParameters OPTIONAL } TeletexData ::= SEQUENCE OF TeletexString -- Videotex body part VideotexBodyPart ::= SEQUENCE { parameters VideotexParameters, data VideotexData } VideotexParameters ::= SET {syntax [0] VideotexSyntax OPTIONAL } VideotexSyntax ::= INTEGER { ids(0), data-syntax1(1), data-syntax2(2), data-syntax3(3)} VideotexData ::= VideotexString -- Encrypted body part EncryptedBodyPart ::= SEQUENCE { parameters EncryptedParameters, data EncryptedData } EncryptedParameters ::= SET { algorithm-identifier AlgorithmIdentifier, originator-certificates ExtendedCertificates OPTIONAL, ... } EncryptedData ::= BIT STRING --(CONSTRAINED BY {BodyPart}) -- Message body part MessageBodyPart ::= SEQUENCE { parameters MessageParameters, data MessageData } MessageParameters ::= SET { delivery-time [0] MessageDeliveryTime OPTIONAL, delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL } MessageData ::= IPM -- Bilaterally Defined body part BilaterallyDefinedBodyPart ::= OCTET STRING -- Nationally Defined body part --NATIONAL-BODY-PARTS ::= CLASS {&Type --} --NationallyDefinedBodyPart ::= NATIONAL-BODY-PARTS.&Type -- Provided for Historic reasons. Use is strongly deprecated. -- IPN IPN ::= SET { -- common-fields - -COMPONENTS OF CommonFields, subject-ipm SubjectIPMField, ipn-originator [1] IPNOriginatorField OPTIONAL, ipm-intended-recipient [2] IPMIntendedRecipientField OPTIONAL, conversion-eits ConversionEITsField OPTIONAL, notification-extensions [3] NotificationExtensionsField OPTIONAL, choice [0] CHOICE {non-receipt-fields [0] NonReceiptFields, receipt-fields [1] ReceiptFields, other-notification-type-fields [2] OtherNotificationTypeFields} } --RN ::= -- IPN -- (WITH COMPONENTS { -- ..., -- choice (WITH COMPONENTS { -- receipt-fields PRESENT -- }) -- }) --NRN ::= -- IPN -- (WITH COMPONENTS { -- ..., -- choice (WITH COMPONENTS { -- non-receipt-fields PRESENT -- }) -- }) --ON ::= -- IPN -- (WITH COMPONENTS { -- ..., -- choice (WITH COMPONENTS { -- other-notification-type-fields PRESENT -- }) -- }) -- CommonFields are always used with WITH COMPONENTS - which are manually expanded --CommonFields ::= SET { -- subject-ipm SubjectIPMField, -- ipn-originator [1] IPNOriginatorField OPTIONAL, -- ipm-intended-recipient [2] IPMIntendedRecipientField OPTIONAL, -- conversion-eits ConversionEITsField OPTIONAL, -- notification-extensions [3] NotificationExtensionsField OPTIONAL --} NonReceiptFields ::= SET { non-receipt-reason [0] NonReceiptReasonField, discard-reason [1] DiscardReasonField OPTIONAL, auto-forward-comment [2] AutoForwardCommentField OPTIONAL, returned-ipm [3] ReturnedIPMField OPTIONAL, nrn-extensions [4] NRNExtensionsField OPTIONAL } ReceiptFields ::= SET { receipt-time [0] ReceiptTimeField, acknowledgment-mode [1] AcknowledgmentModeField DEFAULT manual, suppl-receipt-info [2] SupplReceiptInfoField OPTIONAL, rn-extensions [3] RNExtensionsField OPTIONAL } -- Common fields SubjectIPMField ::= IPMIdentifier IPNOriginatorField ::= ORDescriptor IPMIntendedRecipientField ::= ORDescriptor ConversionEITsField ::= EncodedInformationTypes NotificationExtensionsField ::= SET OF IPMSExtension --{{NotificationExtensions}} --NotificationExtensions IPMS-EXTENSION ::= -- {ipn-security-response | PrivateIPMSExtensions, ...} -- Non-receipt fields NonReceiptReasonField ::= ENUMERATED { ipm-discarded(0), ipm-auto-forwarded(1), ... } -- ITU-T version: DiscardReasonField ::= ENUMERATED { ipm-expired(0), ipm-obsoleted(1), user-subscription-terminated(2), not-used(3)} -- ISO/IEC version: --DiscardReasonField ::= ENUMERATED { -- ipm-expired (0), -- ipm-obsoleted (1), -- user-subscription-terminated (2), -- The following value may not be supported by implementations of earlier versions of this Specification -- ipm-deleted (3), -- ... } AutoForwardCommentField ::= AutoForwardComment AutoForwardComment ::= PrintableString(SIZE (0..ub-auto-forward-comment)) ReturnedIPMField ::= IPM NRNExtensionsField ::= SET OF IPMSExtension --{{NRNExtensions}} --NRNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...} -- Receipt fields ReceiptTimeField ::= Time AcknowledgmentModeField ::= ENUMERATED {manual(0), automatic(1)} SupplReceiptInfoField ::= SupplementaryInformation RNExtensionsField ::= SET OF IPMSExtension --{{RNExtensions}} --RNExtensions IPMS-EXTENSION ::= {PrivateIPMSExtensions, ...} -- Other Notification Type fields OtherNotificationTypeFields ::= SET OF IPMSExtension --{{OtherNotifications}} --OtherNotifications IPMS-EXTENSION ::= -- {AdviceNotifications | PrivateIPMSExtensions, ...} --AdviceNotifications IPMS-EXTENSION ::= -- {absence-advice | change-of-address-advice, ...} -- Advice Notification fields --absence-advice IPMS-EXTENSION ::= { -- VALUE AbsenceAdvice, -- IDENTIFIED BY id-on-absence-advice --} AbsenceAdvice ::= SEQUENCE { advice BodyPart OPTIONAL, next-available Time OPTIONAL } -- at least one component shall be present --change-of-address-advice IPMS-EXTENSION ::= { -- VALUE ChangeOfAddressAdvice, -- IDENTIFIED BY id-on-change-of-address-advice --} ChangeOfAddressAdvice ::= SEQUENCE { new-address [0] ORDescriptor --(WITH COMPONENTS { -- ..., -- formal-name PRESENT -- }) --, effective-from [1] Time OPTIONAL } -- Message Store Realization --prevent-nrn-generation MS-EXTENSION ::= { -- NULL -- IDENTIFIED BY id-mst-prevent-nrn-generation --} --suspend-auto-acknowledgement MS-EXTENSION ::= { -- NULL -- IDENTIFIED BY id-mst-suspend-auto-acknowledgement --} --assembly-capability MS-EXTENSION ::= { -- NULL -- IDENTIFIED BY id-mst-assembly-capability --} --IPMSubmissionOptions MS-EXTENSION ::= -- {ipm-assembly-instructions | originator-body-part-encryption-token | -- originator-forwarded-content-token, ...} - - For future extension additions --ipm-assembly-instructions MS-EXTENSION ::= { -- IPMAssemblyInstructions -- IDENTIFIED BY id-mst-assembly-instructions --} IPMAssemblyInstructions ::= SET {assembly-instructions [0] BodyPartReferences } BodyPartReferences ::= SEQUENCE OF BodyPartReference BodyPartReference ::= CHOICE { stored-entry [0] SequenceNumber, stored-content [1] SequenceNumber, submitted-body-part [2] INTEGER--(1..MAX)--, stored-body-part [3] SEQUENCE {message-entry SequenceNumber, body-part-number --INTEGER(1..MAX)-- BodyPartNumber} } --originator-body-part-encryption-token MS-EXTENSION ::= { -- BodyPartTokens -- IDENTIFIED BY id-mst-originator-body-part-encryption-token --} --originator-forwarded-content-token MS-EXTENSION ::= { -- ForwardedContentToken -- IDENTIFIED BY id-mst-originator-forwarded-content-token --} --IPMSubmissionErrors MS-EXTENSION ::= -- {invalid-assembly-instructions | invalid-ipn, ... -- } - - For future extension additions --invalid-assembly-instructions MS-EXTENSION ::= { -- BodyPartReferences -- IDENTIFIED BY id-mst-invalid-assembly-instructions --} --invalid-ipn MS-EXTENSION ::= {NULL -- IDENTIFIED BY id-mst-invalid-ipn --} SequenceNumber ::= INTEGER Interchange-Data-Element ::= ANY NationallyDefinedBodyPart ::= ANY -- cannot refer to basic types in .cnf .#REGISTER - so we create an intermediate type OriginatingUA ::= IA5String -- END - - of IPMSInformationObjects -- Module IPMSHeadingExtensions (X.420:06/1999) --IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= --BEGIN -- Prologue -- Exports everything. --IMPORTS -- IPMS Information Objects -- IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart --== -- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- information-objects(2) version-1999(1)} -- MTS Abstract Service -- ExtendedCertificates, SecurityLabel, UniversalOrBMPString{} --== -- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) -- mts-abstract-service(1) version-1999(1)} -- Directory Authentication Framework -- AlgorithmIdentifier, SIGNATURE{}, SIGNED{} --== -- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) -- authenticationFramework(7) 3} -- Directory Certificate Extensions -- CertificateAssertion --== -- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1) -- certificateExtensions(26) 0} -- IPMS upper bounds -- ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes, -- ub-extended-subject-length, ub-information-categories, -- ub-information-category-length, ub-manual-handling-instruction-length, -- ub-manual-handling-instructions, ub-originators-reference-length, -- ub-precedence --== -- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- upper-bounds(10) version-1999(1)} -- IPMS Object Identifiers -- id-hex-authorization-time, id-hex-auto-submitted, -- id-hex-body-part-signatures, id-hex-circulation-list-recipients, -- id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy, -- id-hex-information-category, id-hex-ipm-security-label, id-hex-languages, -- id-hex-manual-handling-instructions, id-hex-originators-reference, -- id-hex-precedence-policy-id, id-rex-circulation-list-indicator, -- id-rex-precedence --== -- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- object-identifiers(0) version-1999(1)}; -- Incomplete Copy --incomplete-copy IPMS-EXTENSION ::= { -- VALUE IncompleteCopy, -- IDENTIFIED BY id-hex-incomplete-copy --} IncompleteCopy ::= NULL -- Languages --languages IPMS-EXTENSION ::= { -- VALUE SET OF Language, -- IDENTIFIED BY id-hex-languages --} Languages ::= SET OF Language Language ::= PrintableString --(SIZE (2 | 5)) -- Auto-submitted --auto-submitted IPMS-EXTENSION ::= { -- VALUE AutoSubmitted, -- IDENTIFIED BY id-hex-auto-submitted --} AutoSubmitted ::= ENUMERATED { not-auto-submitted(0), auto-generated(1), auto-replied(2)} --body-part-signatures IPMS-EXTENSION ::= { -- VALUE BodyPartSignatures, -- IDENTIFIED BY id-hex-body-part-signatures --} Signature ::= SEQUENCE { algorithmIdentifier AlgorithmIdentifier, encrypted BIT STRING } BodyPartSignatures ::= SET OF SET {body-part-number BodyPartNumber, body-part-signature BodyPartSignature, originator-certificate-selector [1] CertificateAssertion OPTIONAL, originator-certificates [0] ExtendedCertificates OPTIONAL --, -- ... --} BodyPartNumber ::= INTEGER --(1..MAX) BodyPartSignature ::= Signature -- SIGNATURE -- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier, -- body-part BodyPart, -- body-part-security-label SecurityLabel OPTIONAL -- }} --ipm-security-label IPMS-EXTENSION ::= { -- VALUE IPMSecurityLabel, -- IDENTIFIED BY id-hex-ipm-security-label --} IPMSecurityLabel ::= SEQUENCE { content-security-label [0] SecurityLabel, heading-security-label [1] SecurityLabel OPTIONAL, body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL } BodyPartSecurityLabel ::= CHOICE { body-part-unlabelled [0] NULL, body-part-security-label [1] SecurityLabel } -- Authorization Time --authorization-time IPMS-EXTENSION ::= { -- VALUE AuthorizationTime, -- IDENTIFIED BY id-hex-authorization-time --} AuthorizationTime ::= GeneralizedTime -- Circulation List --circulation-list-recipients IPMS-EXTENSION ::= { -- VALUE CirculationList, -- IDENTIFIED BY id-hex-circulation-list-recipients --} CirculationList ::= SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember CirculationMember ::= SET { circulation-recipient RecipientSpecifier -- (WITH COMPONENTS { -- ..., -- recipient (WITH COMPONENTS { -- ..., -- formal-name PRESENT -- }) -- })--, checked Checkmark OPTIONAL } Checkmark ::= CHOICE { simple NULL, timestamped CirculationTime, signed CirculationSignature } CirculationTime ::= GeneralizedTime CirculationSignatureData ::= -- SIGNED -- { --SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier, this-IPM ThisIPMField, timestamp CirculationTime} --} -- expand SIGNED macro CirculationSignature ::= SEQUENCE { circulation-signature-data CirculationSignatureData, algorithm-identifier AlgorithmIdentifier, encrypted BIT STRING } CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier -- Circulation List Indicator --circulation-list-indicator IPMS-EXTENSION ::= { -- VALUE NULL, -- IDENTIFIED BY id-rex-circulation-list-indicator --} CirculationListIndicator ::= NULL -- Distribution Codes --distribution-codes IPMS-EXTENSION ::= { -- VALUE DistributionCodes, -- IDENTIFIED BY id-hex-distribution-codes --} DistributionCodes ::= SEQUENCE --(SIZE (1..ub-distribution-codes))-- OF DistributionCode DistributionCode ::= SEQUENCE { oid-code OBJECT IDENTIFIER OPTIONAL, alphanumeric-code AlphaCode OPTIONAL, or-descriptor [0] ORDescriptor OPTIONAL } AlphaCode ::= UniversalOrBMPString --{ub-alpha-code-length} -- Extended Subject --extended-subject IPMS-EXTENSION ::= { -- VALUE ExtendedSubject, -- IDENTIFIED BY id-hex-extended-subject --} ExtendedSubject ::= UniversalOrBMPString--{ub-extended-subject-length} -- Information category --information-category IPMS-EXTENSION ::= { -- VALUE InformationCategories, -- IDENTIFIED BY id-hex-information-category --} InformationCategories ::= SEQUENCE --(SIZE (1..ub-information-categories))-- OF InformationCategory InformationCategory ::= SEQUENCE { reference [0] OBJECT IDENTIFIER OPTIONAL, description [1] DescriptionString OPTIONAL } DescriptionString ::= UniversalOrBMPString --{ub-information-category-length} -- Manual handling Instructions --manual-handling-instructions IPMS-EXTENSION ::= { -- VALUE ManualHandlingInstructions, -- IDENTIFIED BY id-hex-manual-handling-instructions --} ManualHandlingInstructions ::= SEQUENCE --(SIZE (1..ub-manual-handling-instructions))-- OF ManualHandlingInstruction ManualHandlingInstruction ::= UniversalOrBMPString --{ub-manual-handling-instruction-length} -- Originator's Reference --originators-reference IPMS-EXTENSION ::= { -- VALUE OriginatorsReference, -- IDENTIFIED BY id-hex-originators-reference --} OriginatorsReference ::= UniversalOrBMPString--{ub-originators-reference-length} -- Precedence Policy Identifier --precedence-policy-identifier IPMS-EXTENSION ::= { -- VALUE PrecedencePolicyIdentifier, -- IDENTIFIED BY id-hex-precedence-policy-id --} PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER -- Precedence --precedence IPMS-EXTENSION ::= { -- VALUE Precedence, -- IDENTIFIED BY id-rex-precedence --} Precedence ::= INTEGER(0..ub-precedence) -- END - - of IPMSHeadingExtensions -- Module IPMSExtendedBodyPartTypes2 (X.420:06/1999) -- IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) modules(0) -- extended-body-part-types-2(1)} DEFINITIONS IMPLICIT TAGS ::= --BEGIN -- Prologue -- Exports everything. --IMPORTS -- IPMS Information Objects -- EXTENDED-BODY-PART-TYPE --== -- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- information-objects(2) version-1999(1)} -- IPMS Object Identifiers -- id-ep-general-text, id-et-general-text --== -- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- object-identifiers(0) version-1999(1)}; -- General Text body part --general-text-body-part EXTENDED-BODY-PART-TYPE ::= { -- PARAMETERS {GeneralTextParameters -- IDENTIFIED BY id-ep-general-text}, -- DATA {GeneralTextData -- IDENTIFIED BY id-et-general-text} --} GeneralTextParameters ::= SET OF CharacterSetRegistration GeneralTextData ::= GeneralString CharacterSetRegistration ::= INTEGER(1..32767) --END - - of IPMSExtendedBodyPartTypes2 -- Module IPMSExtendedVoiceBodyPartType (X.420:06/1999) --IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- extended-voice-body-part-type(11)} DEFINITIONS IMPLICIT TAGS ::= --BEGIN -- Prologue -- Exports everything. --IMPORTS -- IPMS Information Objects -- EXTENDED-BODY-PART-TYPE --== -- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- information-objects(2) version-1999(1)} -- IPMS Object Identifiers -- id-ep-voice, id-et-voice --== -- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- object-identifiers(0) version-1999(1)}; -- Extended Voice body part --voice-body-part EXTENDED-BODY-PART-TYPE ::= { -- PARAMETERS {VoiceParameters -- IDENTIFIED BY id-ep-voice}, -- DATA {VoiceData -- IDENTIFIED BY id-et-voice} --} VoiceParameters ::= SEQUENCE { voice-message-duration [0] INTEGER OPTIONAL, -- In seconds voice-encoding-type [1] OBJECT IDENTIFIER, supplementary-information [2] IA5String OPTIONAL } VoiceData ::= OCTET STRING --END - - of IPMSExtendedVoiceBodyPartType -- Module IPMSForwardedContentBodyPartType (X.420:06/1999) --IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- forwarded-content-body-part-type(15)} DEFINITIONS IMPLICIT TAGS ::= --BEGIN -- Prologue -- Exports everything. --IMPORTS -- MTS Abstract Service -- Content, ExtendedContentType, MessageDeliveryIdentifier, MessageDeliveryTime, -- MessageSubmissionEnvelope, OriginatingMTACertificate, -- OtherMessageDeliveryFields, ProofOfSubmission --== -- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) -- mts-abstract-service(1) version-1999(1)} -- IPMS Information Objects -- EXTENDED-BODY-PART-TYPE --== -- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- information-objects(2) version-1999(1)} -- IPMS Object Identifiers -- id-ep-content, id-et-content --== -- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0) -- object-identifiers(0) version-1999(1)}; -- Forwarded Content body part --content-body-part{ExtendedContentType:content-type} EXTENDED-BODY-PART-TYPE ::= -- { -- PARAMETERS -- {ForwardedContentParameters -- IDENTIFIED BY {id-ep-content content-type}}, -- DATA {Content -- IDENTIFIED BY {id-et-content content-type}} --} ForwardedContentParameters ::= SET { delivery-time [0] MessageDeliveryTime OPTIONAL, delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL, mts-identifier [2] MessageDeliveryIdentifier OPTIONAL, submission-proof [3] SubmissionProof OPTIONAL } SubmissionProof ::= SET { proof-of-submission [0] ProofOfSubmission, originating-MTA-certificate [1] OriginatingMTACertificate, message-submission-envelope MessageSubmissionEnvelope } END -- of IPMSForwardedContentBodyPartType -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D