|
|
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