aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/x420
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2008-01-02 09:34:34 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2008-01-02 09:34:34 +0000
commit0c7876ca395c94b2432193ed1830572d4817f3c2 (patch)
tree82117a1bb292744cca5f0329c3119116554c5366 /asn1/x420
parent8a0e3ffb37749cf664908db9198e0b368a735e91 (diff)
Revised X.420 dissector using separate ASN.1 modules and making the bare minimum changes to those modules that asn2wrs requires.
Also supports the X.420 message store attributes, used over P7. svn path=/trunk/; revision=23981
Diffstat (limited to 'asn1/x420')
-rw-r--r--asn1/x420/IPMSExtendedBodyPartTypes2.asn39
-rw-r--r--asn1/x420/IPMSExtendedVoiceBodyPartType.asn41
-rw-r--r--asn1/x420/IPMSFileTransferBodyPartType.asn (renamed from asn1/x420/ftbp.asn)48
-rw-r--r--asn1/x420/IPMSForwardedContentBodyPartType.asn55
-rw-r--r--asn1/x420/IPMSHeadingExtensions.asn268
-rw-r--r--asn1/x420/IPMSInformationObjects.asn644
-rw-r--r--asn1/x420/IPMSMessageStoreAttributes.asn1176
-rw-r--r--asn1/x420/IPMSObjectIdentifiers.asn509
-rw-r--r--asn1/x420/IPMSSecurityExtensions.asn150
-rw-r--r--asn1/x420/Makefile.common11
-rw-r--r--asn1/x420/packet-x420-template.c1
-rw-r--r--asn1/x420/x420.asn1056
-rw-r--r--asn1/x420/x420.cnf82
13 files changed, 2987 insertions, 1093 deletions
diff --git a/asn1/x420/IPMSExtendedBodyPartTypes2.asn b/asn1/x420/IPMSExtendedBodyPartTypes2.asn
new file mode 100644
index 0000000000..46f40a17f6
--- /dev/null
+++ b/asn1/x420/IPMSExtendedBodyPartTypes2.asn
@@ -0,0 +1,39 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- 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
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/IPMSExtendedVoiceBodyPartType.asn b/asn1/x420/IPMSExtendedVoiceBodyPartType.asn
new file mode 100644
index 0000000000..32a4347b29
--- /dev/null
+++ b/asn1/x420/IPMSExtendedVoiceBodyPartType.asn
@@ -0,0 +1,41 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- 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
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/ftbp.asn b/asn1/x420/IPMSFileTransferBodyPartType.asn
index 9a9bb4ac67..e29ddb1e18 100644
--- a/asn1/x420/ftbp.asn
+++ b/asn1/x420/IPMSFileTransferBodyPartType.asn
@@ -1,3 +1,5 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
-- Module IPMSFileTransferBodyPartType (X.420:06/1999)
IPMSFileTransferBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
file-transfer-body-part-type(9)} DEFINITIONS IMPLICIT TAGS ::=
@@ -14,7 +16,6 @@ IMPORTS
--==
FROM ISO8571-FTAM {iso standard 8571 application-context(1) iso-ftam(1)}
-- ACSE definitions of AP-title and AE-qualifier
- EXTERNALt,
AE-qualifier, AP-title
--==
FROM ACSE-1 {joint-iso-itu-t association-control(2) modules(0) apdus(0)
@@ -25,10 +26,10 @@ IMPORTS
FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
information-objects(2) version-1999(1)}
-- IPMS Object Identifiers
--- id-ep-file-transfer, id-et-file-transfer
+ id-ep-file-transfer, id-et-file-transfer
--==
--- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
--- object-identifiers(0) version-1999(1)}
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)}
-- MTS Abstract Service
ORName
--==
@@ -36,21 +37,22 @@ IMPORTS
mts-abstract-service(1) version-1999(1)};
-- File Transfer body part
---file-transfer-body-part EXTENDED-BODY-PART-TYPE ::= {
--- PARAMETERS {FileTransferParameters
--- IDENTIFIED BY id-ep-file-transfer},
--- DATA {FileTransferData
--- IDENTIFIED BY id-et-file-transfer}
---}
+file-transfer-body-part EXTENDED-BODY-PART-TYPE ::= {
+ PARAMETERS {FileTransferParameters
+ IDENTIFIED BY id-ep-file-transfer},
+ DATA {FileTransferData
+ IDENTIFIED BY id-et-file-transfer}
+}
FileTransferParameters ::= SEQUENCE {
related-stored-file [0] RelatedStoredFile OPTIONAL,
contents-type
- [1] ContentsTypeParameter OPTIONAL
+ [1] ContentsTypeParameter OPTIONAL,
+-- WS: asn2wrs does not handle DEFAULT, so we make the parameters OPTIONAL
-- DEFAULT
-- document-type:
-- {document-type-name
--- {iso standard 8571 document-type(5) unstructured-binary(3)}}--,
+-- {iso standard 8571 document-type(5) unstructured-binary(3)}},
environment [2] EnvironmentParameter OPTIONAL,
compression [3] CompressionParameter OPTIONAL,
file-attributes [4] FileAttributes OPTIONAL,
@@ -65,7 +67,7 @@ RelatedStoredFile ::=
SET OF
SEQUENCE {file-identifier FileIdentifier,
relationship
- Relationship OPTIONAL -- DEFAULT explicit-relationship:unspecified
+ Relationship DEFAULT explicit-relationship:unspecified
}
FileIdentifier ::= CHOICE {
@@ -100,10 +102,13 @@ ExplicitRelationship ::= INTEGER {
ContentsTypeParameter ::= Contents-Type-Attribute
+DOCUMENT-PARAMETER ::= CLASS {&Type
+}
+
Contents-Type-Attribute ::= CHOICE {
document-type
[0] SEQUENCE {document-type-name Document-Type-Name,
- parameter [0] --DOCUMENT-PARAMETER.&Type -- ANY OPTIONAL
+ parameter [0] DOCUMENT-PARAMETER.&Type OPTIONAL
},
-- The actual types to be used for values of the parameter field
-- are defined in the named document type.
@@ -114,6 +119,7 @@ Contents-Type-Attribute ::= CHOICE {
Document-Type-Name ::= OBJECT IDENTIFIER
+-- WS: Moved to before used
--DOCUMENT-PARAMETER ::= CLASS {&Type
--}
@@ -133,19 +139,21 @@ GeneralIdentifier ::= CHOICE {
descriptive-identifier [1] SEQUENCE OF GraphicString
}
+COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER
+
CompressionParameter ::= SEQUENCE {
compression-algorithm-id
- [0] -- COMPRESSION-ALGORITHM.&id({CompressionAlgorithmTable}) --OBJECT IDENTIFIER,
+ [0] COMPRESSION-ALGORITHM.&id({CompressionAlgorithmTable}),
compression-algorithm-param
- [1] --COMPRESSION-ALGORITHM.&Type
--- ({CompressionAlgorithmTable}{@compression-algorithm-id})
- ANY
+ [1] COMPRESSION-ALGORITHM.&Type
+ ({CompressionAlgorithmTable}{@compression-algorithm-id})
}
+-- WS: Moved to before where used
--COMPRESSION-ALGORITHM ::= TYPE-IDENTIFIER
---CompressionAlgorithmTable COMPRESSION-ALGORITHM ::=
--- {...}
+CompressionAlgorithmTable COMPRESSION-ALGORITHM ::=
+ {...}
FileAttributes ::= SEQUENCE {
pathname Pathname-Attribute OPTIONAL,
diff --git a/asn1/x420/IPMSForwardedContentBodyPartType.asn b/asn1/x420/IPMSForwardedContentBodyPartType.asn
new file mode 100644
index 0000000000..e8d095f84f
--- /dev/null
+++ b/asn1/x420/IPMSForwardedContentBodyPartType.asn
@@ -0,0 +1,55 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- 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
+
diff --git a/asn1/x420/IPMSHeadingExtensions.asn b/asn1/x420/IPMSHeadingExtensions.asn
new file mode 100644
index 0000000000..47e67dfd07
--- /dev/null
+++ b/asn1/x420/IPMSHeadingExtensions.asn
@@ -0,0 +1,268 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- 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,
+ BodyPartNumber
+ --==
+ 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-- Languages,
+ IDENTIFIED BY id-hex-languages
+}
+
+--WS: Support dissection of extension
+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
+}
+
+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)
+
+-- WS: Import Signature definition
+Signature ::= SEQUENCE {
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+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
+
+--WS: expand SIGNED MACRO manually
+CirculationSignatureData ::=
+-- SIGNED
+-- {-- SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier,
+ this-IPM ThisIPMField,
+ timestamp CirculationTime}--}
+
+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
+}
+
+--WS: Allow dissection.
+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
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/IPMSInformationObjects.asn b/asn1/x420/IPMSInformationObjects.asn
new file mode 100644
index 0000000000..c26beb0213
--- /dev/null
+++ b/asn1/x420/IPMSInformationObjects.asn
@@ -0,0 +1,644 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- 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
+ --==
+ 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)};
+
+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
+IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
+ &Type DEFAULT NULL
+}WITH SYNTAX {[VALUE &Type,]
+ IDENTIFIED BY &id
+}
+
+IPMSExtension{IPMS-EXTENSION:ChosenFrom} ::= SEQUENCE {
+ type IPMS-EXTENSION.&id({ChosenFrom}),
+ value IPMS-EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
+}
+
+-- WS: Moved earlier
+--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
+
+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] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
+ data INSTANCE OF TYPE-IDENTIFIER
+}
+(CONSTRAINED BY { -- must correspond to the &parameters 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 {
+ &parameters TYPE-IDENTIFIER OPTIONAL,
+ &data TYPE-IDENTIFIER
+}WITH SYNTAX {[PARAMETERS &parameters,]
+ 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 ::= SEQUENCE OF Interchange-Data-Element
+
+MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element
+
+--WS: We don't have an IMPORT for this, so we make it an ANY.
+Interchange-Data-Element ::= ANY
+
+-- 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,
+ 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 ::= 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
+
+-- WS: Manually import MACRO
+MS-EXTENSION ::= TYPE-IDENTIFIER
+
+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 BodyPartNumber}
+}
+
+BodyPartNumber ::= INTEGER(1..MAX)
+
+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
+}
+
+END -- of IPMSInformationObjects
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/IPMSMessageStoreAttributes.asn b/asn1/x420/IPMSMessageStoreAttributes.asn
new file mode 100644
index 0000000000..1c0d8462c3
--- /dev/null
+++ b/asn1/x420/IPMSMessageStoreAttributes.asn
@@ -0,0 +1,1176 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSMessageStoreAttributes (X.420:06/1999)
+IPMSMessageStoreAttributes {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ message-store-attributes(8) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS
+ -- IPMS Heading Extensions
+ AuthorizationTime, AutoSubmitted, --BodyPartNumber,-- BodyPartSecurityLabel,
+ BodyPartSignatures, CirculationMember, DistributionCode, ExtendedSubject,
+ IncompleteCopy, InformationCategory, IPMSecurityLabel, Language,
+ ManualHandlingInstruction, OriginatorsReference, Precedence,
+ PrecedencePolicyIdentifier
+ --==
+ FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ heading-extensions(6) version-1999(1)}
+ -- IPMS Security Extensions
+ BodyPartTokens, ForwardedContentToken
+ --==
+ FROM IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ ipm-security-extensions(14) version-1999(1)}
+ -- IPMS Information Objects
+ AcknowledgmentModeField, AuthorizingUsersSubfield, AutoForwardCommentField,
+ AutoForwardedField, BilaterallyDefinedBodyPart,
+ BlindCopyRecipientsSubfield, Body, BodyPartNumber, ConversionEITsField,
+ CopyRecipientsSubfield, DiscardReasonField, EncryptedBodyPart,
+ EncryptedData, EncryptedParameters, ExpiryTimeField,
+ EXTENDED-BODY-PART-TYPE, G3FacsimileBodyPart, G3FacsimileData,
+ G3FacsimileParameters, G4Class1BodyPart, Heading, IA5TextBodyPart,
+ IA5TextData, IA5TextParameters, ImportanceField, IPMIdentifier,
+ IPMIntendedRecipientField, IPMSExtension{}, IPNOriginatorField,
+ MessageBodyPart, MessageData, MessageParameters, MixedModeBodyPart,
+ NationallyDefinedBodyPart, NonReceiptReasonField, NotificationExtensions,
+ NRNExtensions, ObsoletedIPMsSubfield, ORDescriptor, OriginatorField,
+ OtherNotifications, PrimaryRecipientsSubfield, ReceiptTimeField,
+ RecipientSpecifier, RelatedIPMsSubfield, RepliedToIPMField,
+ ReplyRecipientsSubfield, ReplyTimeField, ReturnedIPMField, RNExtensions,
+ SensitivityField, SubjectField, SubjectIPMField, SupplReceiptInfoField,
+ TeletexBodyPart, TeletexData, TeletexParameters, ThisIPMField,
+ VideotexBodyPart, VideotexData, VideotexParameters
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+ id-bat-bilaterally-defined-body-parts, id-bat-body,
+ id-bat-encrypted-body-parts, id-bat-encrypted-data,
+ id-bat-encrypted-parameters, id-bat-extended-body-part-types,
+ id-bat-g3-facsimile-body-parts, id-bat-g3-facsimile-data,
+ id-bat-g3-facsimile-parameters, id-bat-g4-class1-body-parts,
+ id-bat-ia5-text-body-parts, id-bat-ia5-text-data,
+ id-bat-ia5-text-parameters, id-bat-message-body-parts, id-bat-message-data,
+ id-bat-message-parameters, id-bat-mixed-mode-body-parts,
+ id-bat-nationally-defined-body-parts, id-bat-teletex-body-parts,
+ id-bat-teletex-data, id-bat-teletex-parameters, id-bat-videotex-body-parts,
+ id-bat-videotex-data, id-bat-videotex-parameters,
+ id-cat-correlated-delivered-ipns, id-cat-correlated-delivered-replies,
+ id-cat-delivered-ipn-summary, id-cat-delivered-replies-summary,
+ id-cat-forwarded-ipms, id-cat-forwarding-ipms, id-cat-ipm-recipients,
+ id-cat-obsoleted-ipms, id-cat-obsoleting-ipms, id-cat-related-ipms,
+ id-cat-relating-ipms, id-cat-replied-to-ipm, id-cat-recipient-category,
+ id-cat-replying-ipms, id-cat-revised-reply-time, id-cat-subject-ipm,
+ id-cat-submitted-ipn-status, id-cat-submitted-ipns,
+ id-cat-submitted-reply-status, id-hat-authorization-time,
+ id-hat-authorizing-users, id-hat-auto-forwarded, id-hat-auto-submitted,
+ id-hat-blind-copy-recipients, id-hat-body-part-encryption-token,
+ id-hat-body-part-security-label,
+ id-hat-body-part-signature-verification-status,
+ id-hat-body-part-signatures, id-hat-circulation-list-recipients,
+ id-hat-copy-recipients, id-hat-distribution-codes, id-hat-expiry-time,
+ id-hat-extended-subject, id-hat-forwarded-content-token,
+ id-hat-forwarding-token, id-hat-heading, id-hat-importance,
+ id-hat-incomplete-copy, id-hat-information-category,
+ id-hat-ipm-security-label, id-hat-languages,
+ id-hat-manual-handling-instructions, id-hat-nrn-requestors,
+ id-hat-obsoleted-IPMs, id-hat-originator, id-hat-originators-reference,
+ id-hat-precedence, id-hat-precedence-policy-id, id-hat-primary-recipients,
+ id-hat-related-IPMs, id-hat-replied-to-IPM, id-hat-reply-recipients,
+ id-hat-reply-requestors, id-hat-reply-time, id-hat-rn-requestors,
+ id-hat-sensitivity, id-hat-subject, id-hat-this-ipm, id-mr-ipm-identifier,
+ id-mr-ipm-location, id-mr-or-descriptor, id-mr-or-descriptor-elements,
+ id-mr-or-descriptor-single-element, id-mr-or-descriptor-substring-elements,
+ id-mr-circulation-member, id-mr-circulation-member-checkmark,
+ id-mr-circulation-member-elements, id-mr-circulation-member-single-element,
+ id-mr-circulation-member-substring-elements, id-mr-distribution-code,
+ id-mr-information-category, id-mr-recipient-specifier,
+ id-mr-recipient-specifier-elements,
+ id-mr-recipient-specifier-single-element,
+ id-mr-recipient-specifier-substring-elements, id-nat-acknowledgment-mode,
+ id-nat-auto-forward-comment, id-nat-conversion-eits, id-nat-discard-reason,
+ id-nat-ipm-intended-recipient, id-nat-ipn-originator,
+ id-nat-non-receipt-reason, id-nat-notification-extensions,
+ id-nat-nrn-extensions, id-nat-other-notification-type-fields,
+ id-nat-receipt-time, id-nat-returned-ipm, id-nat-rn-extensions,
+ id-nat-subject-ipm, id-nat-suppl-receipt-info, id-sat-body-parts-summary,
+ id-sat-ipm-auto-discarded, id-sat-ipm-entry-type, id-sat-ipm-synopsis
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)}
+ -- MS Abstract Service
+ X413ATTRIBUTE, MS-EIT, SequenceNumber
+ --==
+ FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ abstract-service(1) version-1999(1)}
+ -- MS General Attribute Types
+ SignatureStatus
+ --==
+ FROM MSGeneralAttributeTypes {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-attribute-types(2) version-1999(1)}
+ -- MS matching-rules
+ MSString{}, mSStringMatch, mSSubstringsMatch
+ --==
+ FROM MSMatchingRules {joint-iso-itu-t mhs(6) ms(4) modules(0)
+ general-matching-rules(5) version-1999(1)}
+ -- MTS Abstract Service
+ EncodedInformationTypes, MessageToken
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+ -- Directory Information Framework
+ objectIdentifierMatch, MATCHING-RULE
+ --==
+ FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
+ informationFramework(1) 3}
+ -- Directory Abstract Service
+ booleanMatch, generalizedTimeMatch, generalizedTimeOrderingMatch,
+ integerMatch, integerOrderingMatch, uTCTimeMatch, uTCTimeOrderingMatch
+ --==
+ FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
+ selectedAttributeTypes(5) 3}
+ ub-msstring-match
+ FROM MSUpperBounds {joint-iso-itu-t mhs(6) ms(4) modules(0) upper-bounds(4)
+ version-1994(0)};
+
+-- IPMS attribute table information object set
+IPMSAttributeTable X413ATTRIBUTE ::=
+ {acknowledgment-mode | authorizing-users | auto-forward-comment |
+ auto-forwarded | auto-submitted | bilaterally-defined-body-parts |
+ blind-copy-recipients | body | conversion-eits | copy-recipients |
+ discard-reason | encrypted-body-parts | encrypted-data |
+ encrypted-parameters | expiry-time | extended-body-part-types |
+ g3-facsimile-body-parts | g3-facsimile-data | g3-facsimile-parameters |
+ g4-class1-body-parts | heading | ia5-text-body-parts | ia5-text-data |
+ ia5-text-parameters | importance | incomplete-copy | ipm-entry-type |
+ ipm-intended-recipient | ipm-synopsis | ipn-originator | languages |
+ message-body-parts | message-data | message-parameters |
+ mixed-mode-body-parts | nationally-defined-body-parts | non-receipt-reason |
+ nrn-requestors | obsoleted-IPMs | originator | primary-recipients |
+ receipt-time | related-IPMs | replied-to-IPM | reply-recipients |
+ reply-requestors | reply-time | returned-ipm | rn-requestors | sensitivity |
+ subject | subject-ipm | suppl-receipt-info | teletex-body-parts |
+ teletex-data | teletex-parameters | this-ipm | videotex-body-parts |
+ videotex-data | videotex-parameters, ... -- 1994 extension additions --,
+ ac-correlated-delivered-ipns | ac-correlated-delivered-replies |
+ ac-delivered-ipn-summary | ac-delivered-replies-summary | ac-forwarded-ipms
+ | ac-forwarding-ipms | ac-ipm-recipients | ac-obsoleted-ipms |
+ ac-obsoleting-ipms | ac-related-ipms | ac-relating-ipms | ac-replied-to-ipm
+ | ac-replying-ipms | ac-subject-ipm | ac-submitted-ipn-status |
+ ac-submitted-ipns | ac-submitted-reply-status | authorization-time |
+ body-part-encryption-token | body-part-security-label |
+ body-part-signature-verification-status | body-part-signatures |
+ body-parts-summary | circulation-list-recipients | distribution-codes |
+ extended-subject | forwarded-content-token | forwarding-token |
+ information-category | ipm-auto-discarded | ipm-security-label |
+ manual-handling-instructions | notification-extensions | nrn-extensions |
+ originators-reference | other-notification-type-fields | precedence |
+ precedence-policy-identifier | recipient-category | revised-reply-time |
+ rn-extensions}
+
+-- WS: asn2wrs does not import the macro definitions so we redeclare here
+-- X413ATTRIBUTE information object class
+X413ATTRIBUTE ::= CLASS {
+ &id AttributeType UNIQUE,
+ &Type ,
+ &equalityMatch MATCHING-RULE OPTIONAL,
+ &substringsMatch MATCHING-RULE OPTIONAL,
+ &orderingMatch MATCHING-RULE OPTIONAL,
+ &numeration ENUMERATED {single-valued(0), multi-valued(1)},
+ -- 1994 extension
+ &OtherMatches MATCHING-RULE OPTIONAL
+}
+WITH SYNTAX {
+ WITH ATTRIBUTE-SYNTAX &Type,
+ [EQUALITY MATCHING-RULE &equalityMatch,]
+ [SUBSTRINGS MATCHING-RULE &substringsMatch,]
+ [ORDERING MATCHING-RULE &orderingMatch,]
+ [OTHER MATCHING-RULES &OtherMatches,]
+ NUMERATION &numeration,
+ ID &id
+}
+
+-- MATCHING-RULE information object class specification
+MATCHING-RULE ::= CLASS {
+-- WS: asn2wrs cannot handle the self-reference (use before declaration)
+ &ParentMatchingRules --MATCHING-RULE.&id-- OBJECT IDENTIFIER OPTIONAL,
+ &AssertionType OPTIONAL,
+ &uniqueMatchIndicator AttributeId OPTIONAL,
+ &id OBJECT IDENTIFIER UNIQUE
+}
+WITH SYNTAX {
+ [PARENT &ParentMatchingRules]
+ [SYNTAX &AssertionType]
+ [UNIQUE-MATCH-INDICATOR &uniqueMatchIndicator]
+ ID &id
+}
+
+-- SUMMARY ATTRIBUTES
+-- IPM entry type
+ipm-entry-type X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMEntryType,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-sat-ipm-entry-type
+}
+
+IPMEntryType ::= ENUMERATED {ipm(0), rn(1), nrn(2), on(3)}
+
+-- IPM synopsis
+ipm-synopsis X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSynopsis,
+ NUMERATION single-valued,
+ ID id-sat-ipm-synopsis
+}
+
+IPMSynopsis ::= SEQUENCE OF BodyPartSynopsis
+
+BodyPartSynopsis ::= CHOICE {
+ message [0] MessageBodyPartSynopsis,
+ non-message [1] NonMessageBodyPartSynopsis
+}
+
+MessageBodyPartSynopsis ::= SEQUENCE {
+ number [0] SequenceNumber,
+ synopsis [1] IPMSynopsis
+}
+
+NonMessageBodyPartSynopsis ::= SEQUENCE {
+ type [0] OBJECT IDENTIFIER,
+ parameters [1] INSTANCE OF TYPE-IDENTIFIER OPTIONAL,
+ size [2] INTEGER,
+ processed [3] BOOLEAN DEFAULT FALSE
+}
+
+-- Body part summary
+body-parts-summary X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartDescriptor,
+ NUMERATION multi-valued,
+ ID id-sat-body-parts-summary
+}
+
+BodyPartDescriptor ::= SEQUENCE {
+ data [0] OBJECT IDENTIFIER,
+ parameters [1] OBJECT IDENTIFIER OPTIONAL,
+ this-child-entry [2] SequenceNumber OPTIONAL,
+ position [3] INTEGER,
+ size [4] INTEGER,
+ processed [5] BOOLEAN DEFAULT FALSE
+}
+
+-- IPM auto discarded
+ipm-auto-discarded X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BOOLEAN,
+ EQUALITY MATCHING-RULE booleanMatch,
+ NUMERATION single-valued,
+ ID id-sat-ipm-auto-discarded
+}
+
+-- Body part signature verification status
+body-part-signature-verification-status X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartSignatureVerification,
+ NUMERATION single-valued,
+ ID id-hat-body-part-signature-verification-status
+}
+
+BodyPartSignatureVerification ::=
+ SET OF
+ SET {body-part-sequence-number [0] BodyPartNumber,
+ body-part-signature [1] SignatureStatus}
+
+-- HEADING ATTRIBUTES
+-- Heading
+heading X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Heading,
+ NUMERATION single-valued,
+ ID id-hat-heading
+}
+
+-- Heading analyses
+rn-requestors X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ NUMERATION multi-valued,
+ ID id-hat-rn-requestors
+}
+
+nrn-requestors X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ NUMERATION multi-valued,
+ ID id-hat-nrn-requestors
+}
+
+reply-requestors X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ NUMERATION multi-valued,
+ ID id-hat-reply-requestors
+}
+
+-- Heading fields
+this-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ThisIPMField,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-hat-this-ipm
+}
+
+originator X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX OriginatorField,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION single-valued,
+ ID id-hat-originator
+}
+
+replied-to-IPM X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX RepliedToIPMField,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-hat-replied-to-IPM
+}
+
+subject X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubjectField,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-hat-subject
+}
+
+expiry-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ExpiryTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-hat-expiry-time
+}
+
+reply-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReplyTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-hat-reply-time
+}
+
+importance X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ImportanceField,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE
+ integerOrderingMatch, -- not defined for 1988 Application Contexts
+
+ NUMERATION single-valued,
+ ID id-hat-importance
+}
+
+sensitivity X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SensitivityField,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE
+ integerOrderingMatch, -- not defined for 1988 Application Contexts
+
+ NUMERATION single-valued,
+ ID id-hat-sensitivity
+}
+
+auto-forwarded X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AutoForwardedField,
+ EQUALITY MATCHING-RULE booleanMatch,
+ NUMERATION single-valued,
+ ID id-hat-auto-forwarded
+}
+
+-- Heading sub-fields
+authorizing-users X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AuthorizingUsersSubfield,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-authorizing-users
+}
+
+primary-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX PrimaryRecipientsSubfield,
+ EQUALITY MATCHING-RULE recipientSpecifierMatch,
+ OTHER MATCHING-RULES
+ {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
+ | recipientSpecifierSingleElementMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-primary-recipients
+}
+
+copy-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CopyRecipientsSubfield,
+ EQUALITY MATCHING-RULE recipientSpecifierMatch,
+ OTHER MATCHING-RULES
+ {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
+ | recipientSpecifierSingleElementMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-copy-recipients
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+blind-copy-recipients-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BlindCopyRecipientsSubfield,
+ EQUALITY MATCHING-RULE recipientSpecifierMatch,
+ OTHER MATCHING-RULES
+ {recipientSpecifierElementsMatch | recipientSpecifierSubstringElementsMatch
+ | recipientSpecifierSingleElementMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-blind-copy-recipients
+}
+
+obsoleted-IPMs X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ObsoletedIPMsSubfield,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-hat-obsoleted-IPMs
+}
+
+related-IPMs X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX RelatedIPMsSubfield,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-hat-related-IPMs
+}
+
+reply-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReplyRecipientsSubfield,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION multi-valued,
+ ID id-hat-reply-recipients
+}
+
+-- Heading extensions
+-- WS: added "-att" to prevent asn2wrs conflict
+incomplete-copy-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IncompleteCopy,
+ NUMERATION
+ single-valued, -- An equality match is specified for 1988
+
+
+ -- Application Contexts
+ ID id-hat-incomplete-copy
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+languages-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Language,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE
+ mSSubstringsMatch, -- Not defined for 1988 Application Contexts
+
+ NUMERATION multi-valued,
+ ID id-hat-languages
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+auto-submitted-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AutoSubmitted,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-hat-auto-submitted
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+body-part-signatures-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartSignatures,
+ NUMERATION single-valued,
+ ID id-hat-body-part-signatures
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+ipm-security-label-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSecurityLabel,
+ NUMERATION single-valued,
+ ID id-hat-ipm-security-label
+}
+
+body-part-security-label X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartSecurityLabel,
+ NUMERATION multi-valued,
+ ID id-hat-body-part-security-label
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+authorization-time-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AuthorizationTime,
+ EQUALITY MATCHING-RULE generalizedTimeMatch,
+ ORDERING MATCHING-RULE generalizedTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-hat-authorization-time
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+circulation-list-recipients-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CirculationMember,
+ EQUALITY MATCHING-RULE circulationMemberMatch,
+ OTHER MATCHING-RULES
+ {circulationMemberElementsMatch | circulationMemberSubstringElementsMatch |
+ circulationMemberSingleElementMatch | circulationMemberCheckmarkMatch,
+ ...},
+ NUMERATION multi-valued,
+ ID id-hat-circulation-list-recipients
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+distribution-codes-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DistributionCode,
+ EQUALITY MATCHING-RULE distributionCodeMatch,
+ NUMERATION multi-valued,
+ ID id-hat-distribution-codes
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+extended-subject-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ExtendedSubject,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-hat-extended-subject
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+information-category-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX InformationCategory,
+ EQUALITY MATCHING-RULE informationCategoryMatch,
+ NUMERATION multi-valued,
+ ID id-hat-information-category
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+manual-handling-instructions-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ManualHandlingInstruction,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ NUMERATION multi-valued,
+ ID id-hat-manual-handling-instructions
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+originators-reference-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX OriginatorsReference,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ NUMERATION single-valued,
+ ID id-hat-originators-reference
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+precedence-policy-identifier-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX PrecedencePolicyIdentifier,
+ EQUALITY MATCHING-RULE objectIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-hat-precedence-policy-id
+}
+
+-- Recipient extensions
+-- WS: added "-att" to prevent asn2wrs conflict
+precedence-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Precedence,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-hat-precedence
+}
+
+-- Envelope extensions
+-- WS: added "-att" to prevent asn2wrs conflict
+body-part-encryption-token-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BodyPartTokens,
+ NUMERATION single-valued,
+ ID id-hat-body-part-encryption-token
+}
+
+-- WS: added "-att" to prevent asn2wrs conflict
+forwarded-content-token-att X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ForwardedContentToken,
+ NUMERATION single-valued,
+ ID id-hat-forwarded-content-token
+}
+
+forwarding-token X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MessageToken,
+ NUMERATION single-valued,
+ ID id-hat-forwarding-token
+}
+
+-- BODY ATTRIBUTES
+-- Body
+body X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX Body,
+ NUMERATION single-valued,
+ ID id-bat-body
+}
+
+-- Extended body part types
+extended-body-part-types X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX OBJECT IDENTIFIER,
+ EQUALITY MATCHING-RULE objectIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-bat-extended-body-part-types
+}
+
+-- Extended body parts
+-- (These attributes cannot be enumerated. See 19.6.3.3.)
+-- (They may be derived using the following parameterized object assignments:)
+extended-body-part-data-attribute{EXTENDED-BODY-PART-TYPE:ebpt} X413ATTRIBUTE
+ ::= {
+ WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&data.&Type,
+ NUMERATION multi-valued,
+ ID ebpt.&data.&id
+}
+
+extended-body-part-parameters-attribute{EXTENDED-BODY-PART-TYPE:ebpt}
+ X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX [0] EXPLICIT ebpt.&parameters.&Type,
+ NUMERATION multi-valued,
+ ID ebpt.&parameters.&id
+}
+
+-- Basic body parts
+ia5-text-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IA5TextBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-ia5-text-body-parts
+}
+
+g3-facsimile-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G3FacsimileBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-g3-facsimile-body-parts
+}
+
+g4-class1-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G4Class1BodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-g4-class1-body-parts
+}
+
+teletex-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX TeletexBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-teletex-body-parts
+}
+
+videotex-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX VideotexBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-videotex-body-parts
+}
+
+encrypted-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX EncryptedBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-encrypted-body-parts
+}
+
+message-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ NUMERATION multi-valued,
+ ID id-bat-message-body-parts
+}
+
+mixed-mode-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MixedModeBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-mixed-mode-body-parts
+}
+
+bilaterally-defined-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX BilaterallyDefinedBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-bilaterally-defined-body-parts
+}
+
+nationally-defined-body-parts X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX NationallyDefinedBodyPart,
+ NUMERATION multi-valued,
+ ID id-bat-nationally-defined-body-parts
+}
+
+-- Basic body part parameters components
+ia5-text-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IA5TextParameters,
+ NUMERATION multi-valued,
+ ID id-bat-ia5-text-parameters
+}
+
+g3-facsimile-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G3FacsimileParameters,
+ NUMERATION multi-valued,
+ ID id-bat-g3-facsimile-parameters
+}
+
+teletex-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX TeletexParameters,
+ NUMERATION multi-valued,
+ ID id-bat-teletex-parameters
+}
+
+videotex-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX VideotexParameters,
+ NUMERATION multi-valued,
+ ID id-bat-videotex-parameters
+}
+
+encrypted-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX EncryptedParameters,
+ NUMERATION multi-valued,
+ ID id-bat-encrypted-parameters
+}
+
+message-parameters X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MessageParameters,
+ NUMERATION multi-valued,
+ ID id-bat-message-parameters
+}
+
+-- Basic body part data components
+ia5-text-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IA5TextData,
+ NUMERATION multi-valued,
+ ID id-bat-ia5-text-data
+}
+
+g3-facsimile-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX G3FacsimileData,
+ NUMERATION multi-valued,
+ ID id-bat-g3-facsimile-data
+}
+
+teletex-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX TeletexData,
+ NUMERATION multi-valued,
+ ID id-bat-teletex-data
+}
+
+videotex-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX VideotexData,
+ NUMERATION multi-valued,
+ ID id-bat-videotex-data
+}
+
+encrypted-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX EncryptedData,
+ NUMERATION multi-valued,
+ ID id-bat-encrypted-data
+}
+
+message-data X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MessageData,
+ NUMERATION multi-valued,
+ ID id-bat-message-data
+}
+
+-- NOTIFICATION ATTRIBUTES
+-- Common fields
+subject-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubjectIPMField,
+ EQUALITY MATCHING-RULE iPMIdentifierMatch,
+ NUMERATION single-valued,
+ ID id-nat-subject-ipm
+}
+
+ipn-originator X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPNOriginatorField,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION single-valued,
+ ID id-nat-ipn-originator
+}
+
+ipm-intended-recipient X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMIntendedRecipientField,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION single-valued,
+ ID id-nat-ipm-intended-recipient
+}
+
+conversion-eits X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX MS-EIT,
+ EQUALITY MATCHING-RULE objectIdentifierMatch,
+ NUMERATION multi-valued,
+ ID id-nat-conversion-eits
+}
+
+notification-extensions X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{NotificationExtensions}},
+ NUMERATION multi-valued,
+ ID id-nat-notification-extensions
+}
+
+-- Non-receipt fields
+non-receipt-reason X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX NonReceiptReasonField,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-nat-non-receipt-reason
+}
+
+discard-reason X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DiscardReasonField,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-nat-discard-reason
+}
+
+auto-forward-comment X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AutoForwardCommentField,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-nat-auto-forward-comment
+}
+
+returned-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReturnedIPMField,
+ NUMERATION single-valued,
+ ID id-nat-returned-ipm
+}
+
+nrn-extensions X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{NRNExtensions}},
+ NUMERATION multi-valued,
+ ID id-nat-nrn-extensions
+}
+
+-- Receipt fields
+receipt-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReceiptTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-nat-receipt-time
+}
+
+acknowledgment-mode X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX AcknowledgmentModeField,
+ EQUALITY MATCHING-RULE integerMatch,
+ NUMERATION single-valued,
+ ID id-nat-acknowledgment-mode
+}
+
+suppl-receipt-info X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SupplReceiptInfoField,
+ EQUALITY MATCHING-RULE mSStringMatch,
+ SUBSTRINGS MATCHING-RULE mSSubstringsMatch,
+ NUMERATION single-valued,
+ ID id-nat-suppl-receipt-info
+}
+
+rn-extensions X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{RNExtensions}},
+ NUMERATION multi-valued,
+ ID id-nat-rn-extensions
+}
+
+-- Other notification type fields
+other-notification-type-fields X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMSExtension {{OtherNotifications}},
+ NUMERATION multi-valued,
+ ID id-nat-other-notification-type-fields
+}
+
+-- CORRELATION ATTRIBUTES
+-- Common attributes
+ac-forwarding-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-forwarding-ipms
+}
+
+ac-forwarded-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-forwarded-ipms
+}
+
+ac-obsoleting-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-obsoleting-ipms
+}
+
+ac-obsoleted-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMLocation,
+ OTHER MATCHING-RULES {iPMLocationMatch, ...},
+ NUMERATION multi-valued,
+ ID id-cat-obsoleted-ipms
+}
+
+IPMLocation ::= CHOICE {stored SET OF SequenceNumber,
+ absent NULL,
+ ...
+}
+
+ac-relating-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-relating-ipms
+}
+
+ac-related-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX IPMLocation,
+ OTHER MATCHING-RULES {iPMLocationMatch, ...},
+ NUMERATION multi-valued,
+ ID id-cat-related-ipms
+}
+
+ac-replied-to-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-replied-to-ipm
+}
+
+ac-replying-ipms X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-replying-ipms
+}
+
+ac-subject-ipm X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-subject-ipm
+}
+
+-- Submitted message correlation
+ac-ipm-recipients X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ORDescriptor,
+ EQUALITY MATCHING-RULE oRDescriptorMatch,
+ OTHER MATCHING-RULES
+ {oRDescriptorElementsMatch | oRDescriptorSingleElementMatch |
+ oRDescriptorSubstringElementsMatch, ...},
+ NUMERATION multi-valued,
+ ID id-cat-ipm-recipients
+}
+
+ac-delivered-replies-summary X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DeliveredReplyStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-delivered-replies-summary
+}
+
+DeliveredReplyStatus ::= INTEGER {
+ no-reply-requested(0) -- reply not requested --,
+ reply-outstanding(1) -- reply requested --, reply-received(2)}
+
+ac-correlated-delivered-replies X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredReplies,
+ NUMERATION multi-valued,
+ ID id-cat-correlated-delivered-replies
+}
+
+CorrelatedDeliveredReplies ::= CHOICE {
+ no-reply-received [0] NULL,
+ received-replies [1] SEQUENCE OF SequenceNumber
+}
+
+ac-delivered-ipn-summary X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX DeliveredIPNStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-delivered-ipn-summary
+}
+
+DeliveredIPNStatus ::= INTEGER {
+ no-ipn-requested(0), an-requested(3), nrn-requested(5), rn-requested(10),
+ an-received(13), ipm-auto-forwarded(15), ipm-discarded(20), rn-received(25)
+}
+
+ac-correlated-delivered-ipns X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX CorrelatedDeliveredIPNs,
+ NUMERATION multi-valued,
+ ID id-cat-correlated-delivered-ipns
+}
+
+CorrelatedDeliveredIPNs ::= CHOICE {
+ no-ipn-received [0] NULL,
+ ipns-received [1] SEQUENCE OF SequenceNumber
+}
+
+-- Delivered message correlation
+ac-submitted-reply-status X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubmittedReplyStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-submitted-reply-status
+}
+
+SubmittedReplyStatus ::= INTEGER {
+ no-reply-requested(0), no-reply-intended(1), reply-pending(2), reply-sent(3)
+}
+
+ac-submitted-ipn-status X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SubmittedIPNStatus,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-submitted-ipn-status
+}
+
+SubmittedIPNStatus ::= INTEGER {
+ no-ipn-requested(0), nrn-requested(5), nrn-with-ipm-return-requested(10),
+ rn-requested(15), rn-with-ipm-return-requested(20), ipm-auto-forwarded(25),
+ ipm-discarded(30), rn-sent(35)}
+
+ac-submitted-ipns X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX SequenceNumber,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION multi-valued,
+ ID id-cat-submitted-ipns
+}
+
+recipient-category X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX RecipientCategory,
+ EQUALITY MATCHING-RULE integerMatch,
+ ORDERING MATCHING-RULE integerOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-recipient-category
+}
+
+RecipientCategory ::= INTEGER {
+ primary-recipient(0), copy-recipient(1), blind-copy-recipient(2),
+ category-unknown(3), circulation-list(4)}
+
+revised-reply-time X413ATTRIBUTE ::= {
+ WITH ATTRIBUTE-SYNTAX ReplyTimeField,
+ EQUALITY MATCHING-RULE uTCTimeMatch,
+ ORDERING MATCHING-RULE uTCTimeOrderingMatch,
+ NUMERATION single-valued,
+ ID id-cat-revised-reply-time
+}
+
+-- MATCHING-RULES
+IPMMatchingRuleTable MATCHING-RULE ::=
+ {iPMIdentifierMatch | oRDescriptorMatch | recipientSpecifierMatch,
+ ... -- 1994 extension additions --, circulationMemberCheckmarkMatch |
+ circulationMemberElementsMatch | circulationMemberMatch |
+ circulationMemberSingleElementMatch |
+ circulationMemberSubstringElementsMatch | distributionCodeMatch |
+ informationCategoryMatch | iPMLocationMatch | oRDescriptorElementsMatch |
+ oRDescriptorSingleElementMatch | oRDescriptorSubstringElementsMatch |
+ recipientSpecifierElementsMatch | recipientSpecifierSingleElementMatch |
+ recipientSpecifierSubstringElementsMatch}
+
+iPMIdentifierMatch MATCHING-RULE ::= {
+ SYNTAX IPMIdentifier
+ ID id-mr-ipm-identifier
+}
+
+iPMLocationMatch MATCHING-RULE ::= {
+ SYNTAX SequenceNumber
+ ID id-mr-ipm-location
+}
+
+oRDescriptorMatch MATCHING-RULE ::= {
+ SYNTAX ORDescriptor
+ ID id-mr-or-descriptor
+}
+
+oRDescriptorElementsMatch MATCHING-RULE ::= {
+ SYNTAX ORDescriptor
+ ID id-mr-or-descriptor-elements
+}
+
+oRDescriptorSubstringElementsMatch MATCHING-RULE ::= {
+ SYNTAX ORDescriptor
+ ID id-mr-or-descriptor-substring-elements
+}
+
+oRDescriptorSingleElementMatch MATCHING-RULE ::= {
+ SYNTAX MSString {ub-msstring-match}
+ ID id-mr-or-descriptor-single-element
+}
+
+recipientSpecifierMatch MATCHING-RULE ::= {
+ SYNTAX RecipientSpecifier
+ ID id-mr-recipient-specifier
+}
+
+recipientSpecifierElementsMatch MATCHING-RULE ::= {
+ SYNTAX RecipientSpecifier
+ ID id-mr-recipient-specifier-elements
+}
+
+recipientSpecifierSubstringElementsMatch MATCHING-RULE ::= {
+ SYNTAX RecipientSpecifier
+ ID id-mr-recipient-specifier-substring-elements
+}
+
+recipientSpecifierSingleElementMatch MATCHING-RULE ::= {
+ SYNTAX MSString {ub-msstring-match}
+ ID id-mr-recipient-specifier-single-element
+}
+
+circulationMemberMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member
+}
+
+circulationMemberElementsMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member-elements
+}
+
+circulationMemberSubstringElementsMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member-substring-elements
+}
+
+circulationMemberSingleElementMatch MATCHING-RULE ::= {
+ SYNTAX MSString {ub-msstring-match}
+ ID id-mr-circulation-member-single-element
+}
+
+circulationMemberCheckmarkMatch MATCHING-RULE ::= {
+ SYNTAX CirculationMember
+ ID id-mr-circulation-member-checkmark
+}
+
+distributionCodeMatch MATCHING-RULE ::= {
+ SYNTAX DistributionCode
+ ID id-mr-distribution-code
+}
+
+informationCategoryMatch MATCHING-RULE ::= {
+ SYNTAX InformationCategory
+ ID id-mr-information-category
+}
+
+END -- of IPMSMessageStoreAttributes
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/IPMSObjectIdentifiers.asn b/asn1/x420/IPMSObjectIdentifiers.asn
new file mode 100644
index 0000000000..ec7e3720a8
--- /dev/null
+++ b/asn1/x420/IPMSObjectIdentifiers.asn
@@ -0,0 +1,509 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSObjectIdentifiers (X.420:06/1999)
+IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything.
+IMPORTS -- nothing -- ;
+
+ID ::= OBJECT IDENTIFIER
+
+-- Interpersonal Messaging (not definitive)
+id-ipms ID ::=
+ {joint-iso-itu-t mhs(6) ipms(1)} -- not definitive
+
+-- Categories
+id-mod ID ::= {id-ipms 0} -- modules; not definitive
+
+id-ot ID ::= {id-ipms 1} -- object types
+
+id-pt ID ::= {id-ipms 2} -- port types
+
+id-et ID ::= {id-ipms 4} -- extended body part types
+
+id-hex ID ::= {id-ipms 5} -- heading extensions
+
+id-sat ID ::= {id-ipms 6} -- summary attributes
+
+id-hat ID ::= {id-ipms 7} -- heading attributes
+
+id-bat ID ::= {id-ipms 8} -- body attributes
+
+id-nat ID ::= {id-ipms 9} -- notification attributes
+
+id-mct ID ::= {id-ipms 10} -- message content types
+
+id-ep ID ::= {id-ipms 11} -- extended body part parameters
+
+id-eit ID ::= {id-ipms 12} -- encoded information types
+
+id-cat ID ::= {id-ipms 13} -- correlation attributes
+
+id-mr ID ::= {id-ipms 14} -- matching-rules
+
+id-aa ID ::= {id-ipms 15} -- auto-actions
+
+id-aae ID ::= {id-ipms 16} -- auto-action errors
+
+id-mst ID ::= {id-ipms 17} -- message store types
+
+id-sec ID ::= {id-ipms 18} -- ipm security extensions
+
+id-on ID ::= {id-ipms 19} -- other notification type extensions
+
+id-rex ID ::= {id-ipms 20} -- recipient extensions
+
+-- Modules
+id-mod-object-identifiers ID ::= {id-mod 0} -- not definitive
+
+id-mod-functional-objects ID ::= {id-mod 1} -- not definitive
+
+id-mod-information-objects ID ::= {id-mod 2} -- not definitive
+
+id-mod-abstract-service ID ::= {id-mod 3} -- not definitive
+
+id-mod-heading-extensions ID ::= {id-mod 6} -- not definitive
+
+id-mod-extended-body-part-types ID ::= {id-mod 7} -- not definitive
+
+id-mod-message-store-attributes ID ::= {id-mod 8} -- not definitive
+
+id-mod-file-transfer-body-part-type ID ::= {id-mod 9} -- not definitive
+
+id-mod-upper-bounds ID ::= {id-mod 10} -- not definitive
+
+id-mod-extended-voice-body-part-type ID ::= {id-mod 11} -- not definitive
+
+id-mod-forwarded-report-body-part-type ID ::= {id-mod 12} -- not definitive
+
+id-mod-auto-actions ID ::= {id-mod 13} -- not definitive
+
+id-mod-ipm-security-extensions ID ::= {id-mod 14} -- not definitive
+
+id-mod-forwarded-content-body-part-type ID ::= {id-mod 15} -- not definitive
+
+id-mod-pkcs7-body-part-type ID ::= {id-mod 16} -- not definitive
+
+-- Object types
+id-ot-ipms-user ID ::= {id-ot 1}
+
+id-ot-ipms ID ::= {id-ot 2}
+
+-- Port types
+id-pt-origination ID ::= {id-pt 0}
+
+id-pt-reception ID ::= {id-pt 1}
+
+id-pt-management ID ::= {id-pt 2}
+
+-- Extended body part types
+id-et-ia5-text ID ::= {id-et 0}
+
+id-et-g3-facsimile ID ::= {id-et 2}
+
+id-et-g4-class1 ID ::= {id-et 3}
+
+id-et-teletex ID ::= {id-et 4}
+
+id-et-videotex ID ::= {id-et 5}
+
+id-et-encrypted ID ::= {id-et 6}
+
+id-et-message ID ::= {id-et 7}
+
+id-et-mixed-mode ID ::= {id-et 8}
+
+id-et-bilaterally-defined ID ::= {id-et 9}
+
+id-et-nationally-defined ID ::= {id-et 10}
+
+id-et-general-text ID ::= {id-et 11}
+
+id-et-file-transfer ID ::= {id-et 12}
+
+-- Value {id-et 13} is no longer defined
+id-et-report ID ::= {id-et 14}
+
+id-et-notification ID ::= {id-et 15}
+
+id-et-voice ID ::= {id-et 16}
+
+id-et-content ID ::=
+ {id-et 17} -- This value is not used directly, only as a prefix
+
+id-et-pkcs7 ID ::= {id-et 18}
+
+-- Heading extensions
+id-hex-incomplete-copy ID ::= {id-hex 0}
+
+id-hex-languages ID ::= {id-hex 1}
+
+id-hex-auto-submitted ID ::= {id-hex 2}
+
+id-hex-body-part-signatures ID ::= {id-hex 3}
+
+id-hex-ipm-security-label ID ::= {id-hex 4}
+
+id-hex-authorization-time ID ::= {id-hex 5}
+
+id-hex-circulation-list-recipients ID ::= {id-hex 6}
+
+id-hex-distribution-codes ID ::= {id-hex 7}
+
+id-hex-extended-subject ID ::= {id-hex 8}
+
+id-hex-information-category ID ::= {id-hex 9}
+
+id-hex-manual-handling-instructions ID ::= {id-hex 10}
+
+id-hex-originators-reference ID ::= {id-hex 11}
+
+id-hex-precedence-policy-id ID ::= {id-hex 12}
+
+-- Summary attributes
+id-sat-ipm-entry-type ID ::= {id-sat 0}
+
+id-sat-ipm-synopsis ID ::= {id-sat 1}
+
+id-sat-body-parts-summary ID ::= {id-sat 2}
+
+id-sat-ipm-auto-discarded ID ::= {id-sat 3}
+
+-- Heading attributes
+id-hat-heading ID ::= {id-hat 0}
+
+id-hat-this-ipm ID ::= {id-hat 1}
+
+id-hat-originator ID ::= {id-hat 2}
+
+id-hat-replied-to-IPM ID ::= {id-hat 3}
+
+id-hat-subject ID ::= {id-hat 4}
+
+id-hat-expiry-time ID ::= {id-hat 5}
+
+id-hat-reply-time ID ::= {id-hat 6}
+
+id-hat-importance ID ::= {id-hat 7}
+
+id-hat-sensitivity ID ::= {id-hat 8}
+
+id-hat-auto-forwarded ID ::= {id-hat 9}
+
+id-hat-authorizing-users ID ::= {id-hat 10}
+
+id-hat-primary-recipients ID ::= {id-hat 11}
+
+id-hat-copy-recipients ID ::= {id-hat 12}
+
+id-hat-blind-copy-recipients ID ::= {id-hat 13}
+
+id-hat-obsoleted-IPMs ID ::= {id-hat 14}
+
+id-hat-related-IPMs ID ::= {id-hat 15}
+
+id-hat-reply-recipients ID ::= {id-hat 16}
+
+id-hat-incomplete-copy ID ::= {id-hat 17}
+
+id-hat-languages ID ::= {id-hat 18}
+
+id-hat-rn-requestors ID ::= {id-hat 19}
+
+id-hat-nrn-requestors ID ::= {id-hat 20}
+
+id-hat-reply-requestors ID ::= {id-hat 21}
+
+id-hat-auto-submitted ID ::= {id-hat 22}
+
+id-hat-body-part-signatures ID ::= {id-hat 23}
+
+id-hat-ipm-security-label ID ::= {id-hat 24}
+
+id-hat-body-part-security-label ID ::= {id-hat 25}
+
+id-hat-body-part-encryption-token ID ::= {id-hat 26}
+
+id-hat-authorization-time ID ::= {id-hat 27}
+
+id-hat-circulation-list-recipients ID ::= {id-hat 28}
+
+id-hat-distribution-codes ID ::= {id-hat 29}
+
+id-hat-extended-subject ID ::= {id-hat 30}
+
+id-hat-information-category ID ::= {id-hat 31}
+
+id-hat-manual-handling-instructions ID ::= {id-hat 32}
+
+id-hat-originators-reference ID ::= {id-hat 33}
+
+id-hat-precedence-policy-id ID ::= {id-hat 34}
+
+id-hat-forwarded-content-token ID ::= {id-hat 35}
+
+id-hat-forwarding-token ID ::= {id-hat 36}
+
+id-hat-precedence ID ::= {id-hat 37}
+
+id-hat-body-part-signature-verification-status ID ::= {id-hat 38}
+
+-- Body attributes
+id-bat-body ID ::= {id-bat 0}
+
+id-bat-ia5-text-body-parts ID ::= {id-bat 1}
+
+id-bat-g3-facsimile-body-parts ID ::= {id-bat 3}
+
+id-bat-g4-class1-body-parts ID ::= {id-bat 4}
+
+id-bat-teletex-body-parts ID ::= {id-bat 5}
+
+id-bat-videotex-body-parts ID ::= {id-bat 6}
+
+id-bat-encrypted-body-parts ID ::= {id-bat 7}
+
+id-bat-message-body-parts ID ::= {id-bat 8}
+
+id-bat-mixed-mode-body-parts ID ::= {id-bat 9}
+
+id-bat-bilaterally-defined-body-parts ID ::= {id-bat 10}
+
+id-bat-nationally-defined-body-parts ID ::= {id-bat 11}
+
+id-bat-extended-body-part-types ID ::= {id-bat 12}
+
+id-bat-ia5-text-parameters ID ::= {id-bat 13}
+
+id-bat-g3-facsimile-parameters ID ::= {id-bat 15}
+
+id-bat-teletex-parameters ID ::= {id-bat 16}
+
+id-bat-videotex-parameters ID ::= {id-bat 17}
+
+id-bat-encrypted-parameters ID ::= {id-bat 18}
+
+id-bat-message-parameters ID ::= {id-bat 19}
+
+id-bat-ia5-text-data ID ::= {id-bat 20}
+
+id-bat-g3-facsimile-data ID ::= {id-bat 22}
+
+id-bat-teletex-data ID ::= {id-bat 23}
+
+id-bat-videotex-data ID ::= {id-bat 24}
+
+id-bat-encrypted-data ID ::= {id-bat 25}
+
+id-bat-message-data ID ::= {id-bat 26}
+
+-- Notification attributes
+id-nat-subject-ipm ID ::= {id-nat 0}
+
+id-nat-ipn-originator ID ::= {id-nat 1}
+
+id-nat-ipm-intended-recipient ID ::= {id-nat 2}
+
+id-nat-conversion-eits ID ::= {id-nat 3}
+
+id-nat-non-receipt-reason ID ::= {id-nat 4}
+
+id-nat-discard-reason ID ::= {id-nat 5}
+
+id-nat-auto-forward-comment ID ::= {id-nat 6}
+
+id-nat-returned-ipm ID ::= {id-nat 7}
+
+id-nat-receipt-time ID ::= {id-nat 8}
+
+id-nat-acknowledgment-mode ID ::= {id-nat 9}
+
+id-nat-suppl-receipt-info ID ::= {id-nat 10}
+
+id-nat-notification-extensions ID ::= {id-nat 11}
+
+id-nat-nrn-extensions ID ::= {id-nat 12}
+
+id-nat-rn-extensions ID ::= {id-nat 13}
+
+id-nat-other-notification-type-fields ID ::= {id-nat 14}
+
+-- Correlation attributes
+id-cat-correlated-delivered-ipns ID ::= {id-cat 0}
+
+id-cat-correlated-delivered-replies ID ::= {id-cat 1}
+
+id-cat-delivered-ipn-summary ID ::= {id-cat 2}
+
+id-cat-delivered-replies-summary ID ::= {id-cat 3}
+
+id-cat-forwarded-ipms ID ::= {id-cat 4}
+
+id-cat-forwarding-ipms ID ::= {id-cat 5}
+
+id-cat-ipm-recipients ID ::= {id-cat 6}
+
+id-cat-obsoleted-ipms ID ::= {id-cat 7}
+
+id-cat-obsoleting-ipms ID ::= {id-cat 8}
+
+id-cat-related-ipms ID ::= {id-cat 9}
+
+id-cat-relating-ipms ID ::= {id-cat 10}
+
+id-cat-replied-to-ipm ID ::= {id-cat 11}
+
+id-cat-replying-ipms ID ::= {id-cat 12}
+
+id-cat-revised-reply-time ID ::= {id-cat 13}
+
+id-cat-submitted-ipn-status ID ::= {id-cat 14}
+
+id-cat-submitted-ipns ID ::= {id-cat 15}
+
+id-cat-submitted-reply-status ID ::= {id-cat 16}
+
+id-cat-subject-ipm ID ::= {id-cat 17}
+
+id-cat-recipient-category ID ::= {id-cat 18}
+
+-- Message content types (for use by MS and Directory)
+id-mct-p2-1984 ID ::=
+ {id-mct 0} -- P2 1984
+
+id-mct-p2-1988 ID ::= {id-mct 1} -- P2 1988
+
+-- Extended body part parameters
+id-ep-ia5-text ID ::= {id-ep 0}
+
+id-ep-g3-facsimile ID ::= {id-ep 2}
+
+id-ep-teletex ID ::= {id-ep 4}
+
+id-ep-videotex ID ::= {id-ep 5}
+
+id-ep-encrypted ID ::= {id-ep 6}
+
+id-ep-message ID ::= {id-ep 7}
+
+id-ep-general-text ID ::= {id-ep 11}
+
+id-ep-file-transfer ID ::= {id-ep 12}
+
+-- Value {id-ep 13} is no longer defined
+id-ep-notification ID ::= {id-ep 15}
+
+id-ep-voice ID ::= {id-ep 16}
+
+id-ep-content ID ::=
+ {id-ep 17} -- This value is not used directly, only as a prefix
+
+-- Encoded Information Types
+id-eit-file-transfer ID ::= {id-eit 0}
+
+id-eit-voice ID ::= {id-eit 1}
+
+-- Voice Encoded Information Types
+id-voice-11khz-sample ID ::=
+ {id-eit-voice 0}
+
+id-voice-22khz-sample ID ::= {id-eit-voice 1}
+
+id-voice-cd-quality ID ::= {id-eit-voice 2}
+
+id-voice-g711-mu-law ID ::= {id-eit-voice 3}
+
+id-voice-g726-32k-adpcm ID ::= {id-eit-voice 4}
+
+id-voice-g728-16k-ld-celp ID ::= {id-eit-voice 5}
+
+-- Matching-rules
+id-mr-ipm-identifier ID ::= {id-mr 0}
+
+id-mr-or-descriptor ID ::= {id-mr 1}
+
+id-mr-or-descriptor-elements ID ::= {id-mr 2}
+
+id-mr-or-descriptor-substring-elements ID ::= {id-mr 3}
+
+id-mr-recipient-specifier ID ::= {id-mr 4}
+
+id-mr-recipient-specifier-elements ID ::= {id-mr 5}
+
+id-mr-recipient-specifier-substring-elements ID ::= {id-mr 6}
+
+id-mr-ipm-location ID ::= {id-mr 7}
+
+id-mr-or-descriptor-single-element ID ::= {id-mr 8}
+
+id-mr-recipient-specifier-single-element ID ::= {id-mr 9}
+
+id-mr-circulation-member ID ::= {id-mr 10}
+
+id-mr-circulation-member-elements ID ::= {id-mr 11}
+
+id-mr-circulation-member-substring-elements ID ::= {id-mr 12}
+
+id-mr-circulation-member-single-element ID ::= {id-mr 13}
+
+id-mr-circulation-member-checkmark ID ::= {id-mr 14}
+
+id-mr-distribution-code ID ::= {id-mr 15}
+
+id-mr-information-category ID ::= {id-mr 16}
+
+-- Auto-actions
+id-aa-ipm-auto-acknowledgement ID ::= {id-aa 0}
+
+id-aa-ipm-auto-correlate ID ::= {id-aa 1}
+
+id-aa-ipm-auto-discard ID ::= {id-aa 2}
+
+id-aa-ipm-auto-advise ID ::= {id-aa 3}
+
+-- Auto-action-errors
+id-aae-auto-discard-error ID ::= {id-aae 0}
+
+id-aae-auto-forwarding-loop ID ::= {id-aae 1}
+
+id-aae-duplicate-ipn ID ::= {id-aae 2}
+
+-- Message Store types
+id-mst-invalid-assembly-instructions ID ::= {id-mst 0}
+
+id-mst-invalid-ipn ID ::= {id-mst 1}
+
+id-mst-assembly-instructions ID ::= {id-mst 2}
+
+id-mst-suspend-auto-acknowledgement ID ::= {id-mst 3}
+
+id-mst-prevent-nrn-generation ID ::= {id-mst 4}
+
+id-mst-originator-body-part-encryption-token ID ::= {id-mst 5}
+
+id-mst-originator-forwarded-content-token ID ::= {id-mst 6}
+
+id-mst-assembly-capability ID ::= {id-mst 7}
+
+-- Security extensions
+id-sec-ipm-security-request ID ::= {id-sec 0}
+
+id-sec-security-common-fields ID ::= {id-sec 1}
+
+-- Other notification types
+id-on-absence-advice ID ::= {id-on 0}
+
+id-on-change-of-address-advice ID ::= {id-on 1}
+
+-- Recipient extensions
+id-rex-circulation-list-indicator ID ::= {id-rex 0}
+
+id-rex-precedence ID ::= {id-rex 1}
+
+END -- of IPMSObjectIdentifiers
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/IPMSSecurityExtensions.asn b/asn1/x420/IPMSSecurityExtensions.asn
new file mode 100644
index 0000000000..ae3dbd6456
--- /dev/null
+++ b/asn1/x420/IPMSSecurityExtensions.asn
@@ -0,0 +1,150 @@
+-- $Id$
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/x/x420/1999/index.html
+-- Module IPMSSecurityExtensions (X.420:06/1999)
+IPMSSecurityExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ ipm-security-extensions(14) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+-- Prologue
+-- Exports everything
+IMPORTS
+ -- MTS Abstract Service
+ --Certificates,-- Content, ContentIntegrityCheck, ExtendedCertificates,
+ EXTENSION, MessageOriginAuthenticationCheck, MessageToken, EncryptionKey
+ --==
+ FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+ mts-abstract-service(1) version-1999(1)}
+--WS: asn2wrs can't import a type through a intermediate module - so we import directly
+ Certificates
+ --==
+ FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+ authenticationFramework(7) 3}
+ -- IPMS Information Objects
+ IPMS-EXTENSION, BodyPartNumber
+ --==
+ FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ information-objects(2) version-1999(1)}
+ -- IPMS Heading Extensions
+-- BodyPartNumber
+ --==
+-- FROM IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- heading-extensions(6) version-1999(1)}
+ -- Directory Authentication Framework
+ AlgorithmIdentifier, ENCRYPTED{}
+ --==
+ 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 Object Identifiers
+ id-sec-ipm-security-request, id-sec-security-common-fields
+ --==
+ FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+ object-identifiers(0) version-1999(1)};
+
+-- Recipient Security Request
+recipient-security-request IPMS-EXTENSION ::= {
+ VALUE RecipientSecurityRequest,
+ IDENTIFIED BY id-sec-ipm-security-request
+}
+
+RecipientSecurityRequest ::= BIT STRING {
+ content-non-repudiation(0), content-proof(1), ipn-non-repudiation(2),
+ ipn-proof(3)}
+
+-- IPN Security Response
+ipn-security-response IPMS-EXTENSION ::= {
+ VALUE IpnSecurityResponse,
+ IDENTIFIED BY id-sec-security-common-fields
+}
+
+IpnSecurityResponse ::= SET {
+ content-or-arguments
+ CHOICE {original-content OriginalContent,
+ original-security-arguments
+ SET {original-content-integrity-check
+ [0] OriginalContentIntegrityCheck OPTIONAL,
+ original-message-origin-authentication-check
+ [1] OriginalMessageOriginAuthenticationCheck OPTIONAL,
+ original-message-token
+ [2] OriginalMessageToken OPTIONAL}},
+ security-diagnostic-code SecurityDiagnosticCode OPTIONAL
+}
+
+-- MTS security fields
+OriginalContent ::= Content
+
+OriginalContentIntegrityCheck ::= ContentIntegrityCheck
+
+OriginalMessageOriginAuthenticationCheck ::= MessageOriginAuthenticationCheck
+
+OriginalMessageToken ::= MessageToken
+
+-- Security Diagnostic Codes
+SecurityDiagnosticCode ::= INTEGER {
+ integrity-failure-on-subject-message(0),
+ integrity-failure-on-forwarded-message(1),
+ moac-failure-on-subject-message(2), unsupported-security-policy(3),
+ unsupported-algorithm-identifier(4), decryption-failed(5), token-error(6),
+ unable-to-sign-notification(7), unable-to-sign-message-receipt(8),
+ authentication-failure-on-subject-message(9),
+ security-context-failure-message(10), message-sequence-failure(11),
+ message-security-labelling-failure(12), repudiation-failure-of-message(13),
+ failure-of-proof-of-message(14), signature-key-unobtainable(15),
+ decryption-key-unobtainable(16), key-failure(17),
+ unsupported-request-for-security-service(18),
+ inconsistent-request-for-security-service(19),
+ ipn-non-repudiation-provided-instead-of-content-proof(20),
+ token-decryption-failed(21), double-enveloping-message-restoring-failure(22),
+ unauthorised-dl-member(23), reception-security-failure(24),
+ unsuitable-alternate-recipient(25), security-services-refusal(26),
+ unauthorised-recipient(27), unknown-certification-authority-name(28),
+ unknown-dl-name(29), unknown-originator-name(30), unknown-recipient-name(31),
+ security-policy-violation(32)}
+
+-- Security Envelope Extensions
+body-part-encryption-token EXTENSION ::= {
+ BodyPartTokens,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:43
+}
+
+BodyPartTokens ::=
+ SET OF
+ SET {body-part-number BodyPartNumber,
+ body-part-choice
+ CHOICE {encryption-token EncryptionToken,
+ message-or-content-body-part [0] BodyPartTokens}
+ }
+
+EncryptionToken ::= SET {
+ encryption-algorithm-identifier AlgorithmIdentifier,
+ encrypted-key --ENCRYPTED{EncryptionKey}-- BIT STRING,
+ recipient-certificate-selector [0] CertificateAssertion OPTIONAL,
+ recipient-certificate [1] Certificates OPTIONAL,
+ originator-certificate-selector [2] CertificateAssertion OPTIONAL,
+ originator-certificates [3] ExtendedCertificates OPTIONAL,
+ ...
+}
+
+forwarded-content-token EXTENSION ::= {
+ ForwardedContentToken,
+ RECOMMENDED CRITICALITY {for-delivery},
+ IDENTIFIED BY standard-extension:44
+}
+
+ForwardedContentToken ::=
+ SET OF
+ SET {body-part-number BodyPartNumber,
+ body-part-choice
+ CHOICE {forwarding-token MessageToken,
+ message-or-content-body-part ForwardedContentToken
+ }}
+
+END -- of IPMSSecurityExtensions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/Makefile.common b/asn1/x420/Makefile.common
index f48b23ccd9..280788ebc6 100644
--- a/asn1/x420/Makefile.common
+++ b/asn1/x420/Makefile.common
@@ -32,8 +32,15 @@ EXPORT_FILES = $(PROTOCOL_NAME)-exp.cnf
EXT_ASN_FILE_LIST =
ASN_FILE_LIST = \
- $(PROTOCOL_NAME).asn \
- ftbp.asn
+ IPMSInformationObjects.asn \
+ IPMSHeadingExtensions.asn \
+ IPMSExtendedBodyPartTypes2.asn \
+ IPMSFileTransferBodyPartType.asn \
+ IPMSExtendedVoiceBodyPartType.asn \
+ IPMSForwardedContentBodyPartType.asn \
+ IPMSMessageStoreAttributes.asn \
+ IPMSSecurityExtensions.asn \
+ IPMSObjectIdentifiers.asn
# The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn
# files do not exist for all protocols: Please add/remove as required.
diff --git a/asn1/x420/packet-x420-template.c b/asn1/x420/packet-x420-template.c
index 9c10bf1d94..c81766c7fb 100644
--- a/asn1/x420/packet-x420-template.c
+++ b/asn1/x420/packet-x420-template.c
@@ -44,6 +44,7 @@
#include "packet-x509ce.h"
#include "packet-ftam.h"
#include "packet-x411.h"
+#include "packet-p7.h"
#include "packet-x420.h"
diff --git a/asn1/x420/x420.asn b/asn1/x420/x420.asn
deleted file mode 100644
index 92ba75b058..0000000000
--- a/asn1/x420/x420.asn
+++ /dev/null
@@ -1,1056 +0,0 @@
--- 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)} ; --
- CertificateAssertion
- --==
- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
- certificateExtensions(26) 0};
-
-EXTENDED-BODY-PART-TYPE ::= CLASS {
- &parameters TYPE-IDENTIFIER OPTIONAL,
- &data TYPE-IDENTIFIER
-}WITH SYNTAX {[PARAMETERS &parameters,]
- DATA &data
-}
-
-IPMS-EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
- &Type DEFAULT NULL
-}WITH SYNTAX {[VALUE &Type,]
- IDENTIFIED BY &id
-}
-
-NATIONAL-BODY-PARTS ::= CLASS {&Type
-}
-
-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
-
--- asn2wrs 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 &parameters 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 {
--- &parameters TYPE-IDENTIFIER OPTIONAL,
--- &data TYPE-IDENTIFIER
---}WITH SYNTAX {[PARAMETERS &parameters,]
--- 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
-
-
diff --git a/asn1/x420/x420.cnf b/asn1/x420/x420.cnf
index fc91688c67..0a8d2fd409 100644
--- a/asn1/x420/x420.cnf
+++ b/asn1/x420/x420.cnf
@@ -6,14 +6,11 @@ MTSAbstractService x411
#.IMPORT ../ftam/ftam-exp.cnf
#.IMPORT ../x411/x411-exp.cnf
+#.IMPORT ../p7/p7-exp.cnf
#.IMPORT ../x509af/x509af-exp.cnf
#.IMPORT ../x509ce/x509ce-exp.cnf
#.IMPORT ../acse/acse-exp.cnf
-#.MODULE
-x420 x420
-ftbp ftbp
-
#.EXPORTS
ORDescriptor
InformationObject
@@ -45,7 +42,6 @@ EncryptedBodyPart/parameters encrypted_parameters
TeletexParameters/non-basic-parameters teletex_non_basic_parameters
G3FacsimileParameters/non-basic-parameters g3facsimile_non_basic_parameters
-BodyPart/encrypted encrypted_bp
CirculationSignatureData/algorithm-identifier circulation-signature-algorithm-identifier
Account-Attribute/actual-values account-actual-values
@@ -53,16 +49,20 @@ User-Identity-Attribute/actual-values identity-actual-values
MessageReference/user-relative-identifier user-relative-identifier-ref
-#.PDU
-OriginatingUA
-AbsenceAdvice
-ChangeOfAddressAdvice
-IPMAssemblyInstructions
-FileTransferData
-FileTransferParameters
+BodyPartSignatureVerification/_item/body-part-signature body-part-signature-status
+BodyPart/basic/encrypted encrypted-bp
+BodyPartSynopsis/message message-synopsis
+NonMessageBodyPartSynopsis/type bp-type
+NonMessageBodyPartSynopsis/parameters bp-parameters
+
+ForwardedContentToken/_item/body-part-choice body-part-token-choice
+ForwardedContentToken/_item/body-part-choice/message-or-content-body-part forwarded-content-token
+
+#.TYPE_RENAME
+
+ForwardedContentToken/_item/body-part-choice T_body_part_token_choice
#.REGISTER
-OriginatingUA B "1.2.826.0.1004.10.1.1" "nexor-originating-ua"
AbsenceAdvice B "2.6.1.19.0" "id-on-absence-advice"
ChangeOfAddressAdvice B "2.6.1.19.1" "id-on-change-of-address-advice"
IPMAssemblyInstructions B "2.6.1.17.2" "id-mst-assembly-instructions"
@@ -87,7 +87,7 @@ IA5TextData B "2.6.1.4.0" "id-et-ia5-text"
IA5TextParameters B "2.6.1.11.0" "id-ep-ia5-text"
G3FacsimileData B "2.6.1.4.2" "id-et-g3-facsimile"
G3FacsimileParameters B "2.6.1.11.2" "id-ep-g3-facsimile"
-G4Class1Data B "2.6.1.4.3" "id-et-g4-class1"
+G4Class1BodyPart B "2.6.1.4.3" "id-et-g4-class1"
TeletexData B "2.6.1.4.4" "id-et-teletex"
TeletexParameters B "2.6.1.11.4" "id-ep-teletex"
VideotexData B "2.6.1.4.5" "id-et-videotex"
@@ -96,7 +96,7 @@ EncryptedData B "2.6.1.4.6" "id-et-encrypted"
EncryptedParameters B "2.6.1.11.6" "id-ep-encrypted"
MessageData B "2.6.1.4.7" "id-et-message"
MessageParameters B "2.6.1.11.7" "id-ep-message"
-MixedModeData B "2.6.1.4.8" "id-et-mixed-mode"
+MixedModeBodyPart B "2.6.1.4.8" "id-et-mixed-mode"
BilaterallyDefinedBodyPart B "2.6.1.4.9" "id-et-bilaterally-defined"
GeneralTextParameters B "2.6.1.11.11" "id-ep-general-text"
@@ -121,6 +121,55 @@ ForwardedContentParameters B "2.6.1.11.17.1.3.26.0.4406.0.4.1" "id-ep-content-
# PKCS#7Bodypart {id-et 18} defined in cms.cnf
+# Message Store Attributes
+IPMEntryType B "2.6.1.6.0" "id-sat-ipm-entry-type"
+IPMSynopsis B "2.6.1.6.1" "id-sat-ipm-synopsis"
+BodyPartDescriptor B "2.6.1.6.2" "id-sat-body-parts-summary"
+#Boolean B "2.6.1.6.3" "id-sat-ipm-auto-discarded" - see x509sat.cnf
+
+Heading B "2.6.1.7.0" "id-hat-heading"
+ThisIPMField B "2.6.1.7.1" "id-hat-this-ipm"
+OriginatorField B "2.6.1.7.2" "id-hat-originator"
+RepliedToIPMField B "2.6.1.7.3" "id-hat-replied-to-IPM"
+SubjectField B "2.6.1.7.4" "id-hat-subject"
+ExpiryTimeField B "2.6.1.7.5" "id-hat-expiry-time"
+ReplyTimeField B "2.6.1.7.6" "id-hat-reply-time"
+ImportanceField B "2.6.1.7.7" "id-hat-importance"
+SensitivityField B "2.6.1.7.8" "id-hat-sensitivity"
+AutoForwardedField B "2.6.1.7.9" "id-hat-auto-forwarded"
+AuthorizingUsersSubfield B "2.6.1.7.10" "id-hat-authorizing-users"
+PrimaryRecipientsSubfield B "2.6.1.7.11" "id-hat-primary-recipients"
+CopyRecipientsSubfield B "2.6.1.7.12" "id-hat-copy-recipients"
+BlindCopyRecipientsSubfield B "2.6.1.7.13" "id-hat-blind-copy-recipients"
+ObsoletedIPMsSubfield B "2.6.1.7.14" "id-hat-obsoleted-IPMs"
+RelatedIPMsSubfield B "2.6.1.7.15" "id-hat-related-IPMs"
+ReplyRecipientsSubfield B "2.6.1.7.16" "id-hat-reply-recipients"
+IncompleteCopy B "2.6.1.7.17" "id-hat-incomplete-copy"
+Language B "2.6.1.7.18" "id-hat-languages"
+ORDescriptor B "2.6.1.7.19" "id-hat-rn-requestors"
+ORDescriptor B "2.6.1.7.20" "id-hat-nrn-requestors"
+ORDescriptor B "2.6.1.7.21" "id-hat-reply-requestors"
+AutoSubmitted B "2.6.1.7.22" "id-hat-auto-submitted"
+BodyPartSignatures B "2.6.1.7.23" "id-hat-body-part-signatures"
+IPMSecurityLabel B "2.6.1.7.24" "id-hat-ipm-security-label"
+BodyPartSecurityLabel B "2.6.1.7.25" "id-hat-body-part-security-label"
+BodyPartTokens B "2.6.1.7.26" "id-hat-body-part-encryption-token"
+AuthorizationTime B "2.6.1.7.27" "id-hat-authorization-time"
+CirculationMember B "2.6.1.7.28" "id-hat-circulation-list-recipients"
+DistributionCode B "2.6.1.7.29" "id-hat-distribution-codes"
+ExtendedSubject B "2.6.1.7.30" "id-hat-extended-subject"
+InformationCategory B "2.6.1.7.31" "id-hat-information-category"
+ManualHandlingInstruction B "2.6.1.7.32" "id-hat-manual-handling-instructions"
+OriginatorsReference B "2.6.1.7.33" "id-hat-originators-reference"
+PrecedencePolicyIdentifier B "2.6.1.7.34" "id-hat-precedence-policy-id"
+ForwardedContentToken B "2.6.1.7.35" "id-hat-forwarded-content-token"
+#MessageToken B "2.6.1.7.36" "id-hat-forwarded-token" - see x411.cnf
+Precedence B "2.6.1.7.37" "id-hat-precedence"
+BodyPartSignatureVerification B "2.6.1.7.38" "id-hat-body-part-signature-verification-status"
+
+Body B "2.6.1.8.0" "id-bat-body"
+
+
#.FN_PARS IPMSExtension/type
FN_VARIANT = _str VAL_PTR = &object_identifier_id
@@ -182,6 +231,9 @@ ForwardedContentParameters B "2.6.1.11.17.1.3.26.0.4406.0.4.1" "id-ep-content-
#.FN_BODY Contents-Type-Attribute/document-type/parameter
/* XXX: Not implemented yet */
+#.FN_BODY CompressionParameter/compression-algorithm-id
+ offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
+
#.FN_BODY CompressionParameter/compression-algorithm-param
/* XXX: Not implemented yet */