|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T m
Length: 31468 (0x7aec) Types: TextFile Names: »mta.py«
└─⟦2d1937cfd⟧ Bits:30007241 EUUGD22: P.P 5.0 └─⟦dc59850a2⟧ »EurOpenD22/pp5.0/pp-5.tar.Z« └─⟦e5a54fb17⟧ └─⟦this⟧ »pp-5.0/Chans/x40088/asn1/mta.py«
-- mta.py: -- @(#) $Header: /cs/research/pp/hubris/pp-beta/Chans/x40088/asn1/RCS/mta.py,v 5.0 90/09/20 15:59:17 pp Exp Locker: pp $ -- -- $Log: mta.py,v $ -- Revision 5.0 90/09/20 15:59:17 pp -- rcsforce : 5.0 public release -- -- MTA -- { joint-iso-ccitt mhs-motis(6) mts(3) modules(0) mta-abstract-service(2) } DEFINITIONS IMPLICIT TAGS ::= BEGIN IMPORTS Token, ProofOfDelivery, Certificates, SecurityContext, SecurityLabel FROM Tokens; ExtensionType ::= CHOICE { global INTEGER, local OBJECT IDENTIFIER} Criticality ::= BIT STRING { for-submission (0), for-transfer (1), for-delivery (2) } (SIZE (0..ub-bit-options)) ExtensionField ::= SEQUENCE { type [0] ExtensionType, criticality [1] Criticality OPTIONAL, value [2] EXPLICIT ANY OPTIONAL} Extensions ::= SET OF ExtensionField -- Extension Attributes ExtensionAttribute ::= SEQUENCE { type [0] INTEGER, value [1] ANY} ExtensionAttributes ::= SET OF ExtensionAttribute -- MTS-bind and MTS-unbind Password ::= CHOICE { IA5String, OCTET STRING } Credentials ::= CHOICE { simple Password, strong StrongCredentials} StrongCredentials ::= SET { bind-token [0] Token OPTIONAL, certificate [1] Certificates OPTIONAL} MTSBindArgument ::= SET { user-name ORAddressAndOptionalDirectoryName OPTIONAL, mta-name [0] MTAName OPTIONAL, messages-waiting [1] MessagesWaiting OPTIONAL, password [2] Password OPTIONAL, security-context [3] SecurityContext OPTIONAL, strong-credentials [4] StrongCredentials OPTIONAL, ms-name [5] MessageStoreName OPTIONAL} MTSBindResult ::= SET { user-name ORAddressAndOptionalDirectoryName OPTIONAL, mta-name [0] MTAName OPTIONAL, messages-waiting [1] MessagesWaiting OPTIONAL, password [2] Password OPTIONAL, security-context [3] SecurityContext OPTIONAL, strong-credentials [4] StrongCredentials OPTIONAL, ms-name [5] MessageStoreName OPTIONAL} MTSBindError ::= INTEGER { busy (0), authentication-error (2), unacceptable-dialogue-mode (3), unacceptable-security-context (4) } -- Association Control Parameters ObjectName ::= CHOICE { mTS-user ORAddressAndOptionalDirectoryName, mTA [0] MTAName, messageStore [5] MessageStoreName} -- The message store tag should be [1], but this causes conflict. MessageStoreName ::= SEQUENCE { mTS-user ORAddressAndOptionalDirectoryName, isMessageStore BOOLEAN } MessagesWaiting ::= SET { urgent [0] DeliveryQueue, normal [1] DeliveryQueue, non-urgent [2] DeliveryQueue } DeliveryQueue ::= SET { messages [0] INTEGER (0..ub-queue-size), octets [1] INTEGER DEFAULT 0 } InitiatorCredentials ::= CHOICE { simple Password, strong [0] StrongCredentials } ResponderCredentials ::= CHOICE { simple Password, strong[0] StrongCredentials } Context ::= OBJECT IDENTIFIER -- Submission Port MessageSubmissionArgument ::= SEQUENCE { envelope MessageSubmissionEnvelope, content Content } MessageSubmissionResult ::= SET { identifier MessageSubmissionIdentifier, time [0] MessageSubmissionTime, content-identifier ContentIdentifier OPTIONAL, extensions [1] Extensions DEFAULT { } } ProbeSubmissionArgument ::= ProbeSubmissionEnvelope ProbeSubmissionResult ::= SET { probe-submission-identifier ProbeSubmissionIdentifier, probe-submission-time [0] ProbeSubmissionTime, content-identifier ContentIdentifier OPTIONAL } RecipientImproperlySpecifiedParameter ::= SEQUENCE OF ORAddressAndOptionalDirectoryName SecurityProblem ::= INTEGER (0..ub-security-problems) -- Submission Port Parameters MessageSubmissionIdentifier ::= MTSIdentifier MessageSubmissionTime ::= Time ProbeSubmissionIdentifier ::= MTSIdentifier ProbeSubmissionTime ::= Time Waiting ::= SET { waiting-operations [0] Operations DEFAULT { }, waiting-messages [1] WaitingMessages DEFAULT { }, waiting-content-types [2] SET SIZE (0..ub-content-types) OF ContentType DEFAULT { }, waiting-encoded-information-types EncodedInformationTypes OPTIONAL } Operations ::= BIT STRING { probe-submission-or-report-delivery (0), message-submission-or-message-delivery (1) } (SIZE (0..ub-bit-options)) -- holding 'one', not-holding 'zero' WaitingMessages ::= BIT STRING { long-content (0), low-priority (1), other-security-labels (2) } (SIZE (0..ub-bit-options)) -- Delivery Port MessageDeliveryArgument ::= SEQUENCE { identifier MessageDeliveryIdentifier, time MessageDeliveryTime, other-fields OtherMessageDeliveryFields, content Content } MessageDeliveryResult ::= ProofOfDelivery ReportDeliveryArgument ::= SET { subject-submission-identifier SubjectSubmissionIdentifier, content-identifier ContentIdentifier OPTIONAL, content-type ContentType OPTIONAL, original-eits OriginalEncodedInformationTypes OPTIONAL, extensions [1] Extensions DEFAULT {}, per-recipient-fields SEQUENCE OF PerRecipientReportDeliveryFields, returned-content [0] Content OPTIONAL } DeliveryControls ::= Controls Controls ::= SET { restrict [0] BOOLEAN DEFAULT TRUE, -- update 'TRUE', remove 'FALSE' permissible-operations [1] Operations OPTIONAL, permissible-maximum-content-length [2] ContentLength OPTIONAL, permissible-lowest-priority Priority OPTIONAL, permissible-content-types [4] SET SIZE (1..ub-content-types) OF ContentType OPTIONAL, permissible-encoded-information-types EncodedInformationTypes OPTIONAL, permissible-security-context [5] SecurityContext OPTIONAL } -- Note[:| -] The Tags [0], [1] and [2] are altered for the Register operation only. RecipientCertificate ::= Certificates -- Administration Port RegisterArgument ::= SET { user-name UserName OPTIONAL, user-address [0] UserAddress OPTIONAL, deliverable-encoded-information-types EncodedInformationTypes OPTIONAL, deliverable-maximum-content-length [1] EXPLICIT ContentLength OPTIONAL, default-delivery-controls [2] EXPLICIT DefaultDeliveryControls OPTIONAL, deliverable-content-types [3] SET SIZE (1..ub-content-types) OF ContentType OPTIONAL, labels-and-redirections [4] SET SIZE (1..ub-labels-and-redirections) OF LabelAndRedirection OPTIONAL } ChangeCredentialsArgument ::= SET { old-credentials [0] Credentials, new-credentials [1] Credentials -- same CHOICE as for old-credentials -- } -- Administration Port Parameters UserName ::= ORAddressAndOptionalDirectoryName UserAddress ::= CHOICE { x121 [0] SEQUENCE { x121-address NumericString (SIZE (1..ub-x121-address-length)) OPTIONAL, tsap-id PrintableString (SIZE (1..ub-tsap-id-length)) OPTIONAL } -- , presentation [1] PSAPAddress -- } -- PSAPAddress ::= PresentationAddress DefaultDeliveryControls ::= Controls LabelAndRedirection ::= SET { user-security-label [0] SecurityLabel OPTIONAL, recipient-assigned-alternate-recipient [1] RecipientAssignedAlternateRecipient OPTIONAL } RecipientAssignedAlternateRecipient ::= ORAddressAndOptionalDirectoryName -- Message Submission Envelope MessageSubmissionEnvelope ::= SET { originator-name OriginatorName, original-eits OriginalEncodedInformationTypes OPTIONAL, content-type ContentType, content-identifier ContentIdentifier OPTIONAL, priority Priority DEFAULT normal, per-message-indicators PerMessageIndicators DEFAULT {}, deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL, extensions [2] Extensions DEFAULT {}, per-recipient-fields [1] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientMessageSubmissionFields } PerMessageSubmissionFields ::= SET { originator-name OriginatorName, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, content-type ContentType, content-identifier ContentIdentifier OPTIONAL, priority Priority DEFAULT normal, per-message-indicators PerMessageIndicators DEFAULT { }, deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL, extensions [2] PerMessageSubmissionExtensions DEFAULT { } } PerMessageSubmissionExtensions ::= Extensions PerRecipientMessageSubmissionFields ::= SET { recipient-name RecipientName, originator-report-request [0] OriginatorReportRequest, explicit-conversion [1] ExplicitConversion OPTIONAL, extensions [2] PerRecipientMessageSubmissionExtensions DEFAULT { } } PerRecipientMessageSubmissionExtensions ::= Extensions -- Probe Submission Envelope ProbeSubmissionEnvelope ::= SET { originator-name OriginatorName, original-eits OriginalEncodedInformationTypes OPTIONAL, content-type ContentType, content-identifier ContentIdentifier OPTIONAL, content-length [0] ContentLength DEFAULT 0, per-message-indicators PerMessageIndicators DEFAULT {}, extensions [2] Extensions DEFAULT {}, per-recipient-fields [3] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields } PerRecipientProbeSubmissionFields ::= SET { recipient-name RecipientName, originator-report-request [0] OriginatorReportRequest, explicit-conversion [1] ExplicitConversion OPTIONAL, extensions [2] Extensions DEFAULT { } } -- Message Delivery Envelope MessageDeliveryEnvelope ::= SEQUENCE { identifier MessageDeliveryIdentifier, time MessageDeliveryTime, fields OtherMessageDeliveryFields } OtherMessageDeliveryFields ::= SET { content-type DeliveredContentType, originator-name OriginatorName, original-encoded-information-types [1] OriginalEncodedInformationTypes OPTIONAL, priority Priority DEFAULT normal, delivery-flags [2] DeliveryFlags OPTIONAL, other-recipient-names [3] OtherRecipientNames OPTIONAL, this-recipient-name [4] ThisRecipientName, originally-intended-recipient-name [5] OriginallyIntendedRecipientName OPTIONAL, converted-encoded-information-types [6] ConvertedEncodedInformationTypes OPTIONAL, message-submission-time [7] MessageSubmissionTime, content-identifier [8] ContentIdentifier OPTIONAL, extensions [9] Extensions DEFAULT { } } -- Report Delivery Envelope ReportDeliveryEnvelope ::= SET { subject-submission-identifier SubjectSubmissionIdentifier, content-identifier ContentIdentifier OPTIONAL, content-type ContentType OPTIONAL, original-eits OriginalEncodedInformationTypes OPTIONAL, extensions [1] Extensions DEFAULT {}, per-recipient-fields SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportDeliveryFields } PerReportDeliveryFields ::= SET { subject-submission-identifier SubjectSubmissionIdentifier, content-identifier ContentIdentifier OPTIONAL, content-type ContentType OPTIONAL, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, extensions [1] Extensions DEFAULT { } } PerRecipientReportDeliveryFields ::= SET { actual-recipient-name [0] ActualRecipientName, report [1] Report, converted-encoded-information-types ConvertedEncodedInformationTypes OPTIONAL, originally-intended-recipient-name [2] OriginallyIntendedRecipientName OPTIONAL, supplementary-information [3] SupplementaryInformation OPTIONAL, extensions [4] Extensions DEFAULT { } } Report ::= CHOICE { delivery [0] DeliveryReport, non-delivery [1] NonDeliveryReport } DeliveryReport ::= SET { message-delivery-time [0] MessageDeliveryTime, type-of-MTS-user [1] TypeOfMTSUser DEFAULT public } NonDeliveryReport ::= SET { non-delivery-reason-code [0] NonDeliveryReasonCode, non-delivery-diagnostic-code [1] NonDeliveryDiagnosticCode OPTIONAL } -- Envelope Fields OriginatorName ::= ORAddressAndOrDirectoryName OriginalEncodedInformationTypes ::= EncodedInformationTypes -- Should really be a CHOICE ContentType ::= BuiltInContentType BuiltInContentType ::= [APPLICATION 6] INTEGER { unidentified (0), external (1), -- identified by the object-identifier of the EXTERNAL content interpersonal-messaging-1984 (2), interpersonal-messaging-1988 (22) } (0..ub-built-in-content-type) ExternalContentType ::= OBJECT IDENTIFIER DeliveredContentType ::= ContentType ContentIdentifier ::= [APPLICATION 10] PrintableString (SIZE (1..ub-content-id-length)) PerMessageIndicators ::= [APPLICATION 8] BIT STRING { disclosure-of-recipients (0), -- disclosure-of-recipients-allowed 'one', -- disclosure-of-recipient-prohibited 'zero'; -- ignored for Probe-submission implicit-conversion-prohibited (1), -- implicit-conversion-prohibited 'one', -- implicit-conversion-allowed 'zero' alternate-recipient-allowed (2), -- alternate-recipient-allowed 'one', -- alternate-recipient-prohibited 'zero' content-return-request (3) -- content-return-requested 'one', -- content-return-not-requested 'zero'; -- ignored for Probe-submission -- } (SIZE (0..ub-bit-options)) RecipientName ::= ORAddressAndOrDirectoryName OriginatorReportRequest ::= BIT STRING { report (3), non-delivery-report (4) -- at most one bit shall be 'one': -- report bit 'one' requests a 'report'; -- non-delivery-report bit 'one' requests a 'non-delivery-report'; -- both bits 'zero' requests 'no-report' -- } (SIZE (0..ub-bit-options)) ExplicitConversion ::= INTEGER { ia5-text-to-teletex (0), teletex-to-telex (1), telex-to-ia5-text (2), telex-to-teletex (3), telex-to-g4-class-1 (4), telex-to-videotex (5), ia5-text-to-telex (6), telex-to-g3-facsimile (7), ia5-text-to-g3-facsimile (8), ia5-text-to-g4-class-1 (9), ia5-text-to-videotex (10), teletex-to-ia5-text (11), teletex-to-g3-facsimile (12), teletex-to-g4-class-1 (13), teletex-to-videotex (14), videotex-to-telex (15), videotex-to-ia5-text (16), videotex-to-teletex (17) } (0..ub-integer-options) DeferredDeliveryTime ::= Time Priority ::= [APPLICATION 7] ENUMERATED { normal (0), non-urgent (1), urgent (2) } ContentLength ::= INTEGER (0..ub-content-length) MessageDeliveryIdentifier ::= MTSIdentifier MessageDeliveryTime ::= Time DeliveryFlags ::= BIT STRING { implicit-conversion-prohibited (1) -- implicit-conversion-prohibited 'one', -- implicit-conversion-allowed 'zero' -- } (SIZE (0..ub-bit-options)) OtherRecipientNames ::= SEQUENCE SIZE (1..ub-recipients) OF OtherRecipientName OtherRecipientName ::= ORAddressAndOrDirectoryName ThisRecipientName ::= ORAddressAndOrDirectoryName OriginallyIntendedRecipientName ::= ORAddressAndOrDirectoryName ConvertedEncodedInformationTypes ::= EncodedInformationTypes SubjectSubmissionIdentifier ::= MTSIdentifier TypeOfMTSUser ::= INTEGER { public (0), private (1), ms (2), dl (3), pdau (4), physical-recipient (5), other (6) } (0..ub-mts-user-types) NonDeliveryReasonCode ::= INTEGER { transfer-failure (0), unable-to-transfer (1), conversion-not-performed (2), physical-rendition-not-performed (3), physical-delivery-not-performed (4), restricted-delivery (5), directory-operation-unsuccessful (6) } (0..ub-reason-codes) NonDeliveryDiagnosticCode ::= INTEGER { unrecognised-OR-name (0), ambiguous-OR-name (1), mts-congestion (2), loop-detected (3), recipient-unavailable (4), maximum-time-expired (5), encoded-information-types-unsupported (6), content-too-long (7), conversion-impractical (8), implicit-conversion-prohibited (9), implicit-conversion-not-subscribed (10), invalid-arguments (11), content-syntax-error (12), size-constraint-violation (13), protocol-violation (14), content-type-not-supported (15), too-many-recipients (16), no-bilateral-agreement (17), unsupported-critical-function (18), conversion-with-loss-prohibited (19), line-too-long (20), page-split (21), pictorial-symbol-loss (22), punctuation-symbol-loss (23), alphabetic-character-loss (24), multiple-information-loss (25), recipient-reassignment-prohibited (26), redirection-loop-detected (27), dL-expansion-prohibited (28), no-DL-submit-permission (29), dl-expansion-failure (30), physical-rendition-attributes-not-supported (31), undeliverable-mail-physical-delivery-address-incorrect (32), undeliverable-mail-physical-delivery-office-incorrect-or-invalid (33), undeliverable-mail-physical-delivery-address-incomplete (34), undeliverable-mail-recipient-unknown (35), undeliverable-mail-recipient-deceased (36), undeliverable-mail-organization-expired (37), undeliverable-mail-recipient-refused-to-accept (38), undeliverable-mail-recipient-did-not-claim (39), undeliverable-mail-recipient-changed-address-permanently (40), undeliverable-mail-recipient-changed-address-temporarily (41), undeliverable-mail-recipient-changed-temporary-address (42), undeliverable-mail-new-address-unknown (43), undeliverable-mail-recipient-did-not-want-forwarding (44), undeliverable-mail-originator-prohibited-forwarding (45), secure-messaging-error (46), unable-to-downgrade (47) } (0..ub-diagnostic-codes) SupplementaryInformation ::= PrintableString (SIZE (1..ub-supplementary-info-length)) -- Common Parameter Types Content ::= OCTET STRING -- when the content-type has the integer value external, the value of the -- content octet string is the ASN.1 encoding of the external-content; -- an external-content is a data type EXTERNAL MTSIdentifier ::= [APPLICATION 4] SEQUENCE { global-domain-identifier GlobalDomainIdentifier, local-identifier LocalIdentifier } LocalIdentifier ::= IA5String (SIZE (1..ub-local-id-length)) GlobalDomainIdentifier ::= [APPLICATION 3] SEQUENCE { country-name CountryName, administration-domain-name AdministrationDomainName, private-domain-identifier PrivateDomainIdentifier OPTIONAL } PrivateDomainIdentifier ::= CHOICE { numeric NumericString (SIZE (1..ub-domain-name-length)), printable PrintableString (SIZE (1..ub-domain-name-length)) } MTAName ::= IA5String (SIZE (1..ub-mta-name-length)) Time ::= UTCTime -- OR Names ORAddressAndOrDirectoryName ::= ORName ORAddressAndOptionalDirectoryName ::= ORName ORName ::= [APPLICATION 0] SEQUENCE { standard-attributes StandardAttributes, domain-defined DomainDefinedAttributes OPTIONAL, extension-attributes ExtensionAttributes OPTIONAL, directory-name [0] Name OPTIONAL } ORAddress ::= SEQUENCE { standard-attributes StandardAttributes, domain-defined-attributes DomainDefinedAttributes OPTIONAL, -- see also teletex-domain-defined-attributes extension-attributes ExtensionAttributes OPTIONAL } -- Note[:| -] the OR-address is semantically absent from the OR-name if the standard-attribute sequence is -- empty and the domain-defined-attributes and extension-attributes are both omitted. -- Standard Attributes StandardAttributes ::= SEQUENCE { country-name CountryName OPTIONAL, administration-domain-name AdministrationDomainName OPTIONAL, network-address [0] NetworkAddress OPTIONAL, -- see also extended-network-address terminal-identifier [1] TerminalIdentifier OPTIONAL, private-domain-name [2] PrivateDomainName OPTIONAL, organization-name [3] OrganizationName OPTIONAL, -- see also teletex-organization-name numeric-user-identifier [4] NumericUserIdentifier OPTIONAL, personal-name [5] PersonalName OPTIONAL, organizational-unit-names [6] OrganizationalUnitNames OPTIONAL -- see also teletex-organizational-unit-names -- } CountryName ::= [APPLICATION 1] CHOICE { x121-dcc-code NumericString (SIZE (ub-country-name-numeric-length)), iso-3166-alpha2-code PrintableString (SIZE (ub-country-name-alpha-length)) } AdministrationDomainName ::= [APPLICATION 2] CHOICE { numeric NumericString (SIZE (0..ub-domain-name-length)), printable PrintableString (SIZE (0..ub-domain-name-length)) } NetworkAddress ::= X121Address X121Address ::= NumericString (SIZE (1..ub-x121-address-length)) TerminalIdentifier ::= PrintableString (SIZE (1..ub-terminal-id-length)) PrivateDomainName ::= CHOICE { numeric NumericString (SIZE (1..ub-domain-name-length)), printable PrintableString (SIZE (1..ub-domain-name-length)) } OrganizationName ::= PrintableString (SIZE (1..ub-organization-name-length)) NumericUserIdentifier ::= NumericString (SIZE (1..ub-numeric-user-id-length)) PersonalName ::= SET { surname [0] PrintableString (SIZE (1..ub-surname-length)), given-name [1] PrintableString (SIZE (1..ub-given-name-length)) OPTIONAL, initials [2] PrintableString (SIZE (1..ub-initials-length)) OPTIONAL, generation-qualifier [3] PrintableString (SIZE (1..ub-generation-qualifier-length)) OPTIONAL } OrganizationalUnitNames ::= SEQUENCE SIZE (1..ub-organizational-units) OF OrganizationUnitName OrganizationUnitName ::= PrintableString (SIZE (1..ub-organizational-unit-name-length)) -- Domain-defined Attributes DomainDefinedAttributes ::= SEQUENCE SIZE (1..ub-domain-defined-attributes) OF DomainDefinedAttribute DomainDefinedAttribute ::= SEQUENCE { type PrintableString (SIZE (1..ub-domain-defined-attribute-type-length)), value PrintableString (SIZE (1..ub-domain-defined-attribute-value-length)) } -- Encoded Information Types EncodedInformationTypes ::= [APPLICATION 5] SET { built-in-encoded-information-types [0] BuiltInEncodedInformationTypes, -- non-basic-parameters COMPONENTS OF NonBasicParameters, external-encoded-information-types [4] ExternalEncodedInformationTypes OPTIONAL } -- Built-in Encoded Information Types BuiltInEncodedInformationTypes ::= BIT STRING { undefined (0), telex (1), ia5-text (2), g3-facsimile (3), g4-class-1 (4), teletex (5), videotex (6), voice (7), sfd (8), mixed-mode (9) } (SIZE (0..ub-built-in-encoded-information-types)) -- Non-basic Parameters NonBasicParameters ::= SET { g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT { }, teletex [2] TeletexNonBasicParameters DEFAULT { }, g4-class-1-and-mixed-mode [3] G4Class1AndMixedModeNonBasicParameters OPTIONAL } G3FacsimileNonBasicParameters ::= BIT STRING { two-dimensional (8), fine-resolution (9), unlimited-length (20), b4-length (21), a3-width (22), b4-width (23), uncompressed (30) } -- as defined in [|CCITT] Recommendation T.30 TeletexNonBasicParameters ::= SET { graphic-character-sets [0] TeletexString OPTIONAL, control-character-sets [1] TeletexString OPTIONAL, page-formats [2] OCTET STRING OPTIONAL, miscellaneous-terminal-capabilities [3] TeletexString OPTIONAL, private-use [4] OCTET STRING OPTIONAL -- maximum ub-teletex-private-use-length octets -- } -- as defined in [|CCITT] Recommendation T.62 G4Class1AndMixedModeNonBasicParameters ::= PresentationCapabilities PresentationCapabilities ::= ANY -- as defined in [|CCITT] Recommendations T.400, T.503 and T.501 -- External Encoded Information Types ExternalEncodedInformationTypes ::= SET SIZE (1..ub-encoded-information-types) OF ExternalEncodedInformationType ExternalEncodedInformationType ::= OBJECT IDENTIFIER -- END OF MTS MTABindArgument ::= CHOICE { NULL, -- if no authentication is required [1] SET { -- if authentication is required initiator-name [0] MTAName, initiator-credentials[1] EXPLICIT InitiatorCredentials, security-context [2] SecurityContext OPTIONAL } } MTABindResult ::= CHOICE { NULL, -- if no authentication is required [1] SET { -- if authentication is required responder-name [0] MTAName, responder-credentials[1] EXPLICIT ResponderCredentials } } MTABindError ::= INTEGER { busy (0), authentication-error (2), unacceptable-dialogue-mode (3), unacceptable-security-context (4) } (0..ub-integer-options) -- Transfer Port MessageTransferArgument ::= SEQUENCE { envelope MessageTransferEnvelope, content Content } ReportTransferArgument ::= SEQUENCE { envelope ReportTransferEnvelope, content ReportTransferContent } -- Message Transfer Envelope MessageTransferEnvelope ::= SET { message-identifier MessageIdentifier, originator-name OriginatorName, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, content-type ContentType, content-identifier ContentIdentifier OPTIONAL, priority Priority DEFAULT normal, per-message-indicators PerMessageIndicators DEFAULT { }, deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL, per-domain-bilateral-information [1] SEQUENCE OF PerDomainBilateralInformation OPTIONAL, trace-information TraceInformation, extensions [3] Extensions DEFAULT { } , per-recipient-fields [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientMessageTransferFields } PerMessageTransferFields ::= SET { message-identifier MessageIdentifier, originator-name OriginatorName, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, content-type ContentType, content-identifier ContentIdentifier OPTIONAL, priority Priority DEFAULT normal, per-message-indicators PerMessageIndicators DEFAULT { }, deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL, per-domain-bilateral-information [1] SEQUENCE OF PerDomainBilateralInformation OPTIONAL, trace-information TraceInformation, extensions [3] Extensions DEFAULT { } } PerRecipientMessageTransferFields ::= SET { recipient-name RecipientName, originally-specified-recipient-number [0] OriginallySpecifiedRecipientNumber, per-recipient-indicators [1] PerRecipientIndicators, explicit-conversion [2] ExplicitConversion OPTIONAL, extensions [3] Extensions DEFAULT { } } -- Probe Transfer Envelope ProbeTransferEnvelope ::= SET { probe-identifier ProbeIdentifier, originator-name OriginatorName, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, content-type ContentType, content-identifier ContentIdentifier OPTIONAL, content-length [0] ContentLength OPTIONAL, per-message-indicators PerMessageIndicators DEFAULT { }, per-domain-bilateral-information [1] SEQUENCE SIZE (1..ub-transfer) OF PerDomainBilateralInformation OPTIONAL, trace-information TraceInformation, extensions [3] Extensions DEFAULT { }, per-recipient-fields [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeTransferFields } PerProbeTransferFields ::= SET { probe-identifier ProbeIdentifier, originator-name OriginatorName, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, content-type ContentType, content-identifier ContentIdentifier OPTIONAL, content-length [0] ContentLength OPTIONAL, per-message-indicators PerMessageIndicators DEFAULT { }, per-domain-bilateral-information [1] SEQUENCE SIZE (1..ub-transfer) OF PerDomainBilateralInformation OPTIONAL, trace-information TraceInformation, extensions [3] Extensions DEFAULT { } } PerRecipientProbeTransferFields ::= SET { recipient-name RecipientName, originally-specified-recipient-number [0] OriginallySpecifiedRecipientNumber, per-recipient-indicators [1] PerRecipientIndicators, explicit-conversion [2] ExplicitConversion OPTIONAL, extensions [3] Extensions DEFAULT { } } -- Report Transfer Envelope ReportTransferEnvelope ::= SET { report-identifier ReportIdentifier, report-destination-name ReportDestinationName, trace-information TraceInformation, extensions [1] Extensions DEFAULT { } } -- Report Transfer Content ReportTransferContent ::= SET { subject-identifier SubjectIdentifier, subject-intermediate-trace-information SubjectIntermediateTraceInformation OPTIONAL, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, content-type ContentType OPTIONAL, content-identifier ContentIdentifier OPTIONAL, returned-content [1] Content OPTIONAL, additional-information [2] AdditionalInformation OPTIONAL, extensions [3] Extensions DEFAULT { }, per-recipient-fields [0] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportTransferFields } PerReportTransferFields ::= SET { subject-identifier SubjectIdentifier, subject-intermediate-trace-information SubjectIntermediateTraceInformation OPTIONAL, original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, content-type ContentType OPTIONAL, content-identifier ContentIdentifier OPTIONAL, returned-content [1] Content OPTIONAL, additional-information [2] AdditionalInformation OPTIONAL, extensions [3] Extensions DEFAULT { } } PerRecipientReportTransferFields ::= SET { actual-recipient-name [0] ActualRecipientName, originally-specified-recipient-number [1] OriginallySpecifiedRecipientNumber, per-recipient-indicators [2] PerRecipientIndicators, last-trace-information [3] LastTraceInformation, originally-intended-recipient-name [4] OriginallyIntendedRecipientName OPTIONAL, supplementary-information [5] SupplementaryInformation OPTIONAL, extensions [6] Extensions DEFAULT { } } -- Envelope & Report Content Fields MessageIdentifier ::= MTSIdentifier PerDomainBilateralInformation ::= SEQUENCE { country-name CountryName, domain-information DomainInformation, bilateral-information BilateralInformation} DomainInformation ::= CHOICE { administration-domain-name AdministrationDomainName, private-domain-name AdministrationAndPrivateDomainName} AdministrationAndPrivateDomainName ::= SEQUENCE { administration-domain-name [0] AdministrationDomainName, private-domain-identifier [1] PrivateDomainIdentifier OPTIONAL} BilateralInformation ::= ANY -- maximum ub-bilateral-info octets including all encoding OriginallySpecifiedRecipientNumber ::= INTEGER (SIZE (1..ub-recipients)) PerRecipientIndicators ::= BIT STRING { responsibility (0), -- responsible 'one', not-responsible 'zero' originating-MTA-report (1), originating-MTA-non-delivery-report (2), -- either originating-MTA-report, or originating-MTA-non-delivery-report, or both, shall be 'one': -- originating-MTA-report bit 'one' requests a 'report'; -- originating-MTA-non-delivery-report bit 'one' requests a 'non-delivery-report'; -- both bits 'one' requests an 'audited-report'; -- bits 0 - 2 'don't care' for Report Transfer Content originator-report (3), originator-non-delivery-report (4), -- at most one bit shall be 'one': -- originator-report bit 'one' requests a 'report'; -- originator-non-delivery-report bit 'one' requests a 'non-delivery-report'; -- both bits 'zero' requests 'no-report' reserved-5 (5), reserved-6 (6), reserved-7 (7) -- reserved- bits 5 - 7 shall be 'zero' -- } (SIZE (8..ub-bit-options)) ProbeIdentifier ::= MTSIdentifier ReportIdentifier ::= MTSIdentifier ReportDestinationName ::= ORAddressAndOptionalDirectoryName SubjectIdentifier ::= MessageOrProbeIdentifier MessageOrProbeIdentifier ::= MTSIdentifier SubjectIntermediateTraceInformation ::= TraceInformation AdditionalInformation ::= ANY -- maximum ub-additional-info octets including all encoding ActualRecipientName ::= ORAddressAndOptionalDirectoryName LastTraceInformation ::= SET { arrival-time [0] ArrivalTime, converted-encoded-information-types ConvertedEncodedInformationTypes OPTIONAL, report [1] EXPLICIT Report } -- Common Parameter Types TraceInformation ::= [APPLICATION 9] SEQUENCE SIZE (1..ub-transfers) OF TraceInformationElement TraceInformationElement ::= SEQUENCE { global-domain-identifier GlobalDomainIdentifier, domain-supplied-information DomainSuppliedInformation } DomainSuppliedInformation ::= SET { arrival-time [0] ArrivalTime, routing-action [2] RoutingAction, attempted-domain GlobalDomainIdentifier OPTIONAL, deferred-time [1] DeferredTime OPTIONAL, converted-encoded-information-types ConvertedEncodedInformationTypes OPTIONAL, other-actions [3] OtherActions DEFAULT { } } AdditionalActions ::= SET { deferred-time [1] DeferredTime OPTIONAL, converted-encoded-information-types ConvertedEncodedInformationTypes OPTIONAL, other-actions [3] OtherActions DEFAULT { } } RoutingAction ::= ENUMERATED { relayed (0), rerouted (1) } DeferredTime ::= Time ArrivalTime ::= Time OtherActions ::= BIT STRING { redirected (0), dl-operation (1) } (SIZE (0..ub-bit-options)) Name ::= ANY -- for now... END