wireshark/asn1/x411/x411.asn
Anders Broman d9e1a9c0bb From Graeme Lunt
I attach my RTSE dissector (in tar file) which requires the included ROS dissector, as well as a patch to the latest pres.{cnf,asn}. The ROS dissector uses a new field in the SESSION_DATA_STRUCTURE to pass the ROS operation to the sub-dissector, though this is also set by other dissectors (RTSE uses it in X.410 mode). 

Note that X.400 P1 in X.410 mode doesn't use ROS, so it is useful not to explicitly include ROS in my X411 dissector. However, the inclusion of a ROS dissector won't effect any dissectors that currently implement their own ROS.

I also include dissectors for:

X.411 	(P1) 		X.400 OSI Message Transfer Service
X.420 	(P22) 	X.400 OSI Information Object
STANAG 4406	(P772)	STANAG 4406 Military Message Extensions (to P22)

These rely on the RTSE and ROS dissectors.

svn path=/trunk/; revision=15679
2005-09-04 16:22:12 +00:00

2933 lines
104 KiB
Groff

-- Module MTAAbstractService (X.411:06/1999)
MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
mta-abstract-service(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- Prologue
-- Exports everything
IMPORTS
-- Remote Operations
-- CONNECTION-PACKAGE, CONTRACT
--==
-- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
-- remote-operations(4) informationObjects(5) version1(0)}
emptyUnbind
--==
FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
remote-operations(4) useful-definitions(7) version1(0)}
-- MTS Abstract Service Parameters
-- ABSTRACT-ERROR, ABSTRACT-OPERATION, administration,
-- AdministrationDomainName,
-- certificate-selectors, certificate-selectors-override, Content,
-- ContentIdentifier, ContentLength, ContentType,
-- content-confidentiality-algorithm-identifier, content-correlator,
-- content-integrity-check, conversion-with-loss-prohibited,
-- ConvertedEncodedInformationTypes, CountryName, DeferredDeliveryTime,
-- delivery, dl-exempted-recipients, dl-expansion-history,
-- dl-expansion-prohibited, ExplicitConversion, EXTENSION, ExtensionField{},
-- GlobalDomainIdentifier, InitiatorCredentials, latest-delivery-time,
-- message-origin-authentication-check, message-security-label, message-token,
-- MHS-OBJECT, MTAName, MTSIdentifier, multiple-originator-certificates,
-- ORAddressAndOptionalDirectoryName, OriginalEncodedInformationTypes,
-- originator-and-DL-expansion-history, originator-certificate,
-- originator-return-address, PerMessageIndicators, physical-delivery-modes,
-- physical-delivery-report-request, physical-forwarding-address,
-- physical-forwarding-address-request, physical-forwarding-prohibited,
-- physical-rendition-attributes, PORT, Priority, PrivateDomainIdentifier,
-- PrivateExtensions, probe-origin-authentication-check, proof-of-delivery,
-- proof-of-delivery-request, recipient-certificate,
-- recipient-number-for-advice, recipient-reassignment-prohibited,
-- redirection-history, registered-mail-type, reporting-DL-name,
-- reporting-MTA-certificate, reporting-MTA-name, ReportType,
-- report-origin-authentication-check, requested-delivery-method,
-- ResponderCredentials, SecurityContext, submission,
-- SupplementaryInformation, Time
--==
-- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
-- mts-abstract-service(1) version-1999(1)}
-- IPM Information Objects
IPMPerRecipientEnvelopeExtensions
--==
FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
information-objects(2) version-1999(1)}
-- Object Identifiers
-- id-cp-mta-connect, id-ct-mta-transfer, id-ot-mta, id-pt-transfer
--==
-- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
-- object-identifiers(0) version-1999(1)}
-- Upper Bounds
ub-bit-options, ub-integer-options, ub-recipients, ub-transfers
--==
FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
upper-bounds(3) version-1999(1)}
Name
--==
FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
informationFramework(1) 3}
PresentationAddress
--==
FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
selectedAttributeTypes(5) 3}
CertificateAssertion
--==
FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
certificateExtensions(26) 0}
Certificates, AlgorithmIdentifier
--==
FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
authenticationFramework(7) 3};
-- Objects
--mta MHS-OBJECT ::= {BOTH {mta-transfer}
-- ID id-ot-mta
--}
-- Contracts
--mta-transfer CONTRACT ::= {
-- CONNECTION mta-connect
-- OPERATIONS OF {transfer}
-- ID id-ct-mta-transfer
--}
-- Connection package
--mta-connect CONNECTION-PACKAGE ::= {
-- BIND mta-bind
-- UNBIND mta-unbind
-- ID id-cp-mta-connect
--}
-- Ports
--transfer PORT ::= {
-- OPERATIONS {message-transfer | probe-transfer | report-transfer}
-- ID id-pt-transfer
--}
-- MTA-bind and MTA-unbind
--mta-bind ABSTRACT-OPERATION ::= {
-- ARGUMENT MTABindArgument
-- RESULT MTABindResult
-- ERRORS {mta-bind-error}
--}
-- mta-unbind ABSTRACT-OPERATION ::= emptyUnbind
MTABindArgument ::= CHOICE {
unauthenticated NULL, -- if no authentication is required
authenticated
[1] SET {-- if authentication is required--initiator-name
[0] MTAName,
initiator-credentials
[1] InitiatorCredentials
(WITH COMPONENTS {
...,
protected ABSENT
}),
security-context
[2] SecurityContext OPTIONAL
}
}
MTABindResult ::= CHOICE {
unauthenticated NULL, -- if no authentication is required
authenticated
[1] SET {-- if authentication is required--responder-name
[0] MTAName,
responder-credentials
[1] ResponderCredentials
-- (WITH COMPONENTS {
-- ...,
-- protected ABSENT
-- })--}
}
--mta-bind-error ABSTRACT-ERROR -- MTABindError ::= -- {
-- PARAMETER
INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
unacceptable-security-context(4),
inadequate-association-confidentiality(5)}(0..ub-integer-options)
--}
-- Transfer Port
--message-transfer ABSTRACT-OPERATION ::= {ARGUMENT Message
--}
--probe-transfer ABSTRACT-OPERATION ::= {ARGUMENT Probe
--}
--report-transfer ABSTRACT-OPERATION ::= {ARGUMENT Report
--}
-- taken from X.419
MTS-APDU ::= CHOICE {
message [0] Message,
probe [2] Probe,
report [1] Report
}
Message ::= SEQUENCE {envelope MessageTransferEnvelope,
content Content
}
Probe ::= ProbeTransferEnvelope
Report ::= SEQUENCE {
envelope ReportTransferEnvelope,
content ReportTransferContent
}
-- Message Transfer Envelope
MessageTransferEnvelope ::= SET {
-- COMPONENTS OF PerMessageTransferFields,
-- per-recipient-fields
-- [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientMessageTransferFields
--}
--PerMessageTransferFields ::= SET {
message-identifier MessageIdentifier,
originator-name MTAOriginatorName,
original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
content-type ContentType,
-- asn2eth seems to have a problem with untagged choices - so we will expand 'in situ' for now
-- it's not the greatest solution - but should be OK
-- built-in-content-type BuiltInContentType OPTIONAL,
-- extended-content-type ExtendedContentType OPTIONAL,
-- end of workaround
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 -- SIZE (1..ub-transfers) -- OF PerDomainBilateralInformation
OPTIONAL,
trace-information TraceInformation,
extensions
[3] SET OF ExtensionField --{{MessageTransferExtensions}}-- DEFAULT {}
,per-recipient-fields
[2] SEQUENCE --SIZE (1..ub-recipients) -- OF PerRecipientMessageTransferFields
}
--MessageTransferExtensions EXTENSION ::=
--{- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- recipient-reassignment-prohibited | dl-expansion-prohibited |
-- conversion-with-loss-prohibited | latest-delivery-time |
-- originator-return-address | originator-certificate |
-- content-confidentiality-algorithm-identifier |
-- message-origin-authentication-check | message-security-label |
-- content-correlator | dl-exempted-recipients | certificate-selectors |
-- multiple-originator-certificates | dl-expansion-history |
-- internal-trace-information | PrivateExtensions, ...}
PerRecipientMessageTransferFields ::= SET {
recipient-name MTARecipientName,
originally-specified-recipient-number
[0] OriginallySpecifiedRecipientNumber,
per-recipient-indicators [1] PerRecipientIndicators,
explicit-conversion [2] ExplicitConversion OPTIONAL,
extensions
[3] SET OF ExtensionField --{{PerRecipientMessageTransferExtensions}}
DEFAULT {}
}
--PerRecipientMessageTransferExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- originator-requested-alternate-recipient | requested-delivery-method |
-- physical-forwarding-prohibited | physical-forwarding-address-request |
-- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
-- | physical-rendition-attributes | physical-delivery-report-request |
-- message-token | content-integrity-check | proof-of-delivery-request |
-- certificate-selectors-override | recipient-certificate | redirection-history
-- | IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-- Probe Transfer Envelope
ProbeTransferEnvelope ::= SET {
-- COMPONENTS OF PerProbeTransferFields,
-- per-recipient-fields
-- [2] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeTransferFields
--}
--PerProbeTransferFields ::= SET {
probe-identifier ProbeIdentifier,
originator-name MTAOriginatorName,
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-transfers) -- OF PerDomainBilateralInformation
OPTIONAL,
trace-information TraceInformation,
extensions
[3] SET OF ExtensionField --{{ProbeTransferExtensions}}-- DEFAULT {}
,per-recipient-fields
[2] SEQUENCE -- SIZE (1..ub-recipients) -- OF PerRecipientProbeTransferFields
}
--ProbeTransferExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- recipient-reassignment-prohibited | dl-expansion-prohibited |
-- conversion-with-loss-prohibited | originator-certificate |
-- message-security-label | content-correlator |
-- probe-origin-authentication-check | internal-trace-information |
-- PrivateExtensions, ...}
PerRecipientProbeTransferFields ::= SET {
recipient-name MTARecipientName,
originally-specified-recipient-number
[0] OriginallySpecifiedRecipientNumber,
per-recipient-indicators [1] PerRecipientIndicators,
explicit-conversion [2] ExplicitConversion OPTIONAL,
extensions
[3] SET OF ExtensionField --{{PerRecipientProbeTransferExtensions}}
DEFAULT {}
}
--PerRecipientProbeTransferExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- originator-requested-alternate-recipient | requested-delivery-method |
-- physical-rendition-attributes | redirection-history | PrivateExtensions,
-- ...}
-- Report Transfer Envelope
ReportTransferEnvelope ::= SET {
report-identifier ReportIdentifier,
report-destination-name ReportDestinationName,
trace-information TraceInformation,
extensions
[1] SET OF ExtensionField --{{ReportTransferEnvelopeExtensions}}-- DEFAULT {}
}
--ReportTransferEnvelopeExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- message-security-label | redirection-history |
-- originator-and-DL-expansion-history | reporting-DL-name |
-- reporting-MTA-certificate | report-origin-authentication-check |
-- internal-trace-information | reporting-MTA-name | PrivateExtensions,
-- ...}
-- Report Transfer Content
ReportTransferContent ::= SET {
-- COMPONENTS OF PerReportTransferFields,
-- 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] SET OF ExtensionField --{{ReportTransferContentExtensions}}-- DEFAULT {}
,per-recipient-fields
[0] SEQUENCE -- SIZE (1..ub-recipients) -- OF PerRecipientReportTransferFields
}
--ReportTransferContentExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- content-correlator | PrivateExtensions, ...}
PerRecipientReportTransferFields ::= SET {
actual-recipient-name [0] MTAActualRecipientName,
originally-specified-recipient-number
[1] OriginallySpecifiedRecipientNumber,
per-recipient-indicators [2] PerRecipientIndicators,
last-trace-information [3] LastTraceInformation,
originally-intended-recipient-name
[4] MTAOriginallyIntendedRecipientName OPTIONAL,
supplementary-information [5] SupplementaryInformation OPTIONAL,
extensions
[6] SET OF ExtensionField --{{PerRecipientReportTransferExtensions}}
DEFAULT {}
}
--PerRecipientReportTransferExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- redirection-history | physical-forwarding-address | recipient-certificate |
-- proof-of-delivery | PrivateExtensions, ...}
-- Envelope & Report Content Fields
MessageIdentifier ::= MTSIdentifier
MTAOriginatorName ::= ORAddressAndOptionalDirectoryName
PerDomainBilateralInformation ::= SEQUENCE {
-- COMPONENTS OF BILATERAL.&id,
-- bilateral-information BILATERAL.&Type
--}
--BILATERAL ::= CLASS {&id BilateralDomain UNIQUE,
-- &Type
--}WITH SYNTAX {&Type,
-- IDENTIFIED BY &id
--}
--BilateralDomain ::= SEQUENCE {
country-name CountryName,
domain
CHOICE {administration-domain-name AdministrationDomainName,
private-domain
SEQUENCE {administration-domain-name
[0] AdministrationDomainName,
private-domain-identifier
[1] PrivateDomainIdentifier}}
}
MTARecipientName ::= ORAddressAndOptionalDirectoryName
OriginallySpecifiedRecipientNumber ::= INTEGER --(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 is retained for backwards compatibility only,
-- and use in new systems is strongly deprecated
--ADDITIONAL ::= CLASS {&Type
--}
AdditionalInformation ::=
ANY --ADDITIONAL.&Type - - maximum ub-additional-info octets including all encoding
MTAActualRecipientName ::= ORAddressAndOptionalDirectoryName
LastTraceInformation ::= SET {
arrival-time [0] ArrivalTime,
converted-encoded-information-types
ConvertedEncodedInformationTypes OPTIONAL,
report-type [1] ReportType
}
MTAOriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
-- Extension Fields
--originator-requested-alternate-recipient EXTENSION ::= {
-- OriginatorRequestedAlternateRecipient,
-- IDENTIFIED BY standard-extension:2
--}
MTAOriginatorRequestedAlternateRecipient ::= ORAddressAndOptionalDirectoryName
--trace-information EXTENSION ::= {
-- TraceInformation,
-- IDENTIFIED BY standard-extension:37
--}
--internal-trace-information EXTENSION ::= {
-- InternalTraceInformation,
-- IDENTIFIED BY standard-extension:38
--}
InternalTraceInformation ::=
SEQUENCE -- SIZE (1..ub-transfers)-- OF InternalTraceInformationElement
InternalTraceInformationElement ::= SEQUENCE {
global-domain-identifier GlobalDomainIdentifier,
mta-name MTAName,
mta-supplied-information MTASuppliedInformation
}
MTASuppliedInformation ::= SET {
arrival-time [0] ArrivalTime,
routing-action [2] RoutingAction,
attempted CHOICE {mta MTAName,
domain GlobalDomainIdentifier} OPTIONAL,
-- additional-actions - -COMPONENTS OF InternalAdditionalActions
deferred-time [1] DeferredTime OPTIONAL,
converted-encoded-information-types
ConvertedEncodedInformationTypes OPTIONAL,
other-actions [3] OtherActions DEFAULT {}
}
--InternalAdditionalActions ::= AdditionalActions
-- 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,
-- additional-actions - -COMPONENTS OF AdditionalActions
--}
--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))--
-- END - - of MTA Abstract Service
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-- Module MTSAbstractService (X.411:06/1999)
--MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
-- mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
--BEGIN
-- Prologue
-- Exports everything
--IMPORTS
-- Remote Operations
-- CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE,
-- ROS-OBJECT-CLASS
--==
-- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
-- remote-operations(4) informationObjects(5) version1(0)}
-- emptyUnbind
--==
-- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t
-- remote-operations(4) useful-definitions(7) version1(0)}
-- MTA Abstract Service
-- internal-trace-information, trace-information
--==
-- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
-- mta-abstract-service(2) version-1999(1)}
-- MS Abstract Service Extension
-- forwarding-request
--==
-- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0)
-- abstract-service(1) version-1999(1)}
-- IPM Information Objects
-- IPMPerRecipientEnvelopeExtensions
--==
-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
-- information-objects(2) version-1999(1)}
-- Object Identifiers
-- id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access,
-- id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration,
-- id-pt-delivery, id-pt-submission, id-tok-asymmetricToken
--==
-- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0)
-- object-identifiers(0) version-1999(1)}
-- Operation and Error Codes
-- err-control-violates-registration,
-- err-deferred-delivery-cancellation-rejected, err-delivery-control-violated,
-- err-element-of-service-not-subscribed, err-inconsistent-request,
-- err-message-submission-identifier-invalid,
-- err-new-credentials-unacceptable,
-- err-old-credentials-incorrectly-specified, err-operation-refused,
-- err-originator-invalid, err-recipient-improperly-specified,
-- err-register-rejected, err-remote-bind-error, err-security-error,
-- err-submission-control-violated, err-unsupported-critical-function,
-- op-cancel-deferred-delivery, op-change-credentials, op-delivery-control,
-- op-message-delivery, op-message-submission, op-probe-submission,
-- op-register, op-report-delivery, op-submission-control
--==
-- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
-- mts-access-protocol(1) version-1999(1)}
-- Directory Definitions
-- Name
--==
-- FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
-- informationFramework(1) 3}
-- PresentationAddress
--==
-- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
-- selectedAttributeTypes(5) 3}
-- ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{},
-- SIGNED{}
--==
-- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
-- authenticationFramework(7) 3}
-- Certificate Extensions
-- CertificateAssertion
--==
-- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
-- certificateExtensions(26) 0}
-- Upper Bounds
-- ub-bit-options, ub-built-in-content-type,
-- ub-built-in-encoded-information-types, ub-certificates,
-- ub-common-name-length, ub-content-id-length, ub-content-length,
-- ub-content-types, ub-country-name-alpha-length,
-- ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes,
-- ub-dl-expansions, ub-domain-defined-attributes,
-- ub-domain-defined-attribute-type-length,
-- ub-domain-defined-attribute-value-length, ub-domain-name-length,
-- ub-encoded-information-types, ub-extension-attributes, ub-extension-types,
-- ub-e163-4-number-length, ub-e163-4-sub-address-length,
-- ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
-- ub-integer-options, ub-local-id-length, ub-mta-name-length,
-- ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length,
-- ub-organizational-units, ub-organizational-unit-name-length,
-- ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length,
-- ub-pds-parameter-length, ub-pds-physical-address-lines,
-- ub-postal-code-length, ub-privacy-mark-length, ub-queue-size,
-- ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length,
-- ub-redirections, ub-redirection-classes, ub-restrictions,
-- ub-security-categories, ub-security-labels, ub-security-problems,
-- ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length,
-- ub-tsap-id-length, ub-unformatted-address-length,
-- ub-universal-generation-qualifier-length, ub-universal-given-name-length,
-- ub-universal-initials-length, ub-universal-surname-length,
-- ub-x121-address-length
--==
-- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
-- upper-bounds(3) version-1999(1)};
--operationObject1 OPERATION ::= {LINKED {operationObject2}
--}
--operationObject2 OPERATION ::= {LINKED {operationObject3}
--}
--operationObject3 OPERATION ::= {LINKED {operationObject4}
--}
--operationObject4 OPERATION ::= {LINKED {...}
--}
-- Objects
--MHS-OBJECT ::= ROS-OBJECT-CLASS
--mts MHS-OBJECT ::= {
-- INITIATES {mts-forced-access-contract}
-- RESPONDS {mts-access-contract}
-- ID id-ot-mts
--}
--mts-user MHS-OBJECT ::= {
-- INITIATES {mts-access-contract}
-- RESPONDS {mts-forced-access-contract}
-- ID id-ot-mts-user
--}
-- Contracts
--mts-access-contract CONTRACT ::= {
-- CONNECTION mts-connect
-- INITIATOR CONSUMER OF {submission | delivery | administration}
-- ID id-ct-mts-access
--}
--mts-forced-access-contract CONTRACT ::= {
-- CONNECTION mts-connect
-- RESPONDER CONSUMER OF {submission | delivery | administration}
-- ID id-ct-mts-forced-access
--}
-- Connection package
--mts-connect CONNECTION-PACKAGE ::= {
-- BIND mts-bind
-- UNBIND mts-unbind
-- ID id-cp-mts-connect
--}
-- Ports
--PORT ::= OPERATION-PACKAGE
--submission PORT ::= {
-- OPERATIONS {operationObject1, ...}
-- CONSUMER INVOKES
-- {message-submission | probe-submission | cancel-deferred-delivery, ...}
-- SUPPLIER INVOKES {submission-control, ...}
-- ID id-pt-submission
--}
--delivery PORT ::= {
-- OPERATIONS {operationObject1, ...}
-- CONSUMER INVOKES {delivery-control, ...}
-- SUPPLIER INVOKES {message-delivery | report-delivery, ...}
-- ID id-pt-delivery
--}
--administration PORT ::= {
-- OPERATIONS {change-credentials, ...}
-- CONSUMER INVOKES {register, ...}
-- SUPPLIER INVOKES {operationObject1, ...}
-- ID id-pt-administration
--}
-- MTS-bind and MTS-unbind
--ABSTRACT-OPERATION ::= OPERATION
--ABSTRACT-ERROR ::= ERROR
--mts-bind ABSTRACT-OPERATION ::= {
-- ARGUMENT MTSBindArgument
-- RESULT MTSBindResult
-- ERRORS {mts-bind-error}
--}
MTSBindArgument ::= SET {
initiator-name ObjectName,
messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
initiator-credentials [2] InitiatorCredentials,
security-context [3] SecurityContext OPTIONAL,
-- ...,
extensions
[5] SET OF ExtensionField --{{MTSBindExtensions}}-- DEFAULT {}
}
--MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
MTSBindResult ::= SET {
responder-name ObjectName,
messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL,
responder-credentials [2] ResponderCredentials,
...,
extensions
[5] SET OF ExtensionField --{{MTSBindResultExtensions}}-- DEFAULT {}
}
--MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
MTSBindError --mts-bind-error ABSTRACT-ERROR-- ::= --{
-- PARAMETER
INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3),
unacceptable-security-context(4),
inadequate-association-confidentiality(5)}--(0..ub-integer-options)
--}
--mts-unbind ABSTRACT-OPERATION ::= emptyUnbind
-- Association Control Parameters
ObjectName ::= CHOICE {
user-agent ORAddressAndOptionalDirectoryName,
mTA [0] MTAName,
message-store [4] ORAddressAndOptionalDirectoryName
}
MessagesWaiting ::= SET {
urgent [0] DeliveryQueue,
normal [1] DeliveryQueue,
non-urgent [2] DeliveryQueue
}
DeliveryQueue ::= SET {
messages [0] INTEGER --(0..ub-queue-size)--,
octets [1] INTEGER --(0..ub-content-length)-- OPTIONAL
}
InitiatorCredentials ::= Credentials
ResponderCredentials ::= Credentials
Credentials ::= CHOICE {
simple Password
-- strong [0] StrongCredentials,
-- ...,
-- protected [1] ProtectedPassword
}
Password ::= CHOICE {
ia5-string IA5String --(SIZE (0..ub-password-length))--,
octet-string OCTET STRING --(SIZE (0..ub-password-length))
}
--StrongCredentials ::= SET {
-- bind-token [0] Token OPTIONAL,
-- certificate [1] Certificates OPTIONAL,
-- ...,
-- certificate-selector [2] CertificateAssertion OPTIONAL
--}
--ProtectedPassword ::= SET {
-- signature
-- SIGNATURE{SET {password Password,
-- time1 [0] UTCTime OPTIONAL,
-- time2 [1] UTCTime OPTIONAL,
-- random1 [2] BIT STRING OPTIONAL,
-- random2 [3] BIT STRING OPTIONAL}},
-- time1 [0] UTCTime OPTIONAL,
-- time2 [1] UTCTime OPTIONAL,
-- random1 [2] BIT STRING OPTIONAL,
-- random2 [3] BIT STRING OPTIONAL
--}
SecurityContext ::= SET --SIZE (1..ub-security-labels)-- OF SecurityLabel
-- Submission Port
--message-submission ABSTRACT-OPERATION ::= {
-- ARGUMENT MessageSubmissionArgument
-- RESULT MessageSubmissionResult
-- ERRORS
-- {submission-control-violated | element-of-service-not-subscribed |
-- originator-invalid | recipient-improperly-specified |
-- inconsistent-request | security-error | unsupported-critical-function |
-- remote-bind-error}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {4 | 6 | 7}
-- CODE op-message-submission
--}
MessageSubmissionArgument ::= SEQUENCE {
envelope MessageSubmissionEnvelope,
content Content
}
MessageSubmissionResult ::= SET {
message-submission-identifier MessageSubmissionIdentifier,
message-submission-time [0] MessageSubmissionTime,
content-identifier ContentIdentifier OPTIONAL,
extensions
[1] SET OF ExtensionField --{{MessageSubmissionResultExtensions}}-- DEFAULT {}
}
--MessageSubmissionResultExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- - - at most one instance of each extension type:
-- originating-MTA-certificate | proof-of-submission | PrivateExtensions,
-- ...}
--probe-submission ABSTRACT-OPERATION ::= {
-- ARGUMENT ProbeSubmissionArgument
-- RESULT ProbeSubmissionResult
-- ERRORS
-- {submission-control-violated | element-of-service-not-subscribed |
-- originator-invalid | recipient-improperly-specified |
-- inconsistent-request | security-error | unsupported-critical-function |
-- remote-bind-error}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {5}
-- CODE op-probe-submission
--}
ProbeSubmissionArgument ::= ProbeSubmissionEnvelope
ProbeSubmissionResult ::= SET {
probe-submission-identifier ProbeSubmissionIdentifier,
probe-submission-time [0] ProbeSubmissionTime,
content-identifier ContentIdentifier OPTIONAL,
extensions
[1] SET OF ExtensionField --{{ProbeResultExtensions}}-- DEFAULT {}
}
--ProbeResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions,
-- at most one instance of each extension type
--cancel-deferred-delivery ABSTRACT-OPERATION ::= {
-- ARGUMENT CancelDeferredDeliveryArgument
-- RESULT CancelDeferredDeliveryResult
-- ERRORS
-- {deferred-delivery-cancellation-rejected |
-- message-submission-identifier-invalid | remote-bind-error}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {3}
-- CODE op-cancel-deferred-delivery
--}
CancelDeferredDeliveryArgument ::= MessageSubmissionIdentifier
CancelDeferredDeliveryResult ::= NULL
--submission-control ABSTRACT-OPERATION ::= {
-- ARGUMENT SubmissionControlArgument
-- RESULT SubmissionControlResult
-- ERRORS {security-error | remote-bind-error}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {3}
-- CODE op-submission-control
--}
SubmissionControlArgument ::= SubmissionControls
SubmissionControlResult ::= Waiting
--submission-control-violated ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-submission-control-violated
--}
--element-of-service-not-subscribed ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-element-of-service-not-subscribed
--}
--deferred-delivery-cancellation-rejected ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-deferred-delivery-cancellation-rejected
--}
--originator-invalid ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-originator-invalid
--}
--recipient-improperly-specified ABSTRACT-ERROR ::= {
-- PARAMETER ImproperlySpecifiedRecipients
-- CODE err-recipient-improperly-specified
--}
ImproperlySpecifiedRecipients ::=
SEQUENCE --SIZE (1..ub-recipients)-- OF MTSRecipientName
--message-submission-identifier-invalid ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-message-submission-identifier-invalid
--}
--inconsistent-request ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-inconsistent-request
--}
--security-error ABSTRACT-ERROR ::= {
-- PARAMETER SecurityProblem
-- CODE err-security-error
--}
SecurityProblem ::= INTEGER {
assemby-instructions-conflict-with-security-services(0),
authentication-problem(1), authentication-failure-on-subject-message(2),
confidentiality-association-problem(3), decryption-failed(4),
decryption-key-unobtainable(5), failure-of-proof-of-message(6),
forbidden-user-security-label-register(7),
incompatible-change-with-original-security-context(8),
integrity-failure-on-subject-message(9), invalid-security-label(10),
invalid-security-label-update(11), key-failure(12),
mandatory-parameter-absence(13), operation-security-failure(14),
redirection-prohibited(15), refused-alternate-recipient-name(16),
repudiation-failure-of-message(17),
responder-credentials-checking-problem(18), security-context-failure(19),
security-context-problem(20), security-policy-violation(21),
security-services-refusal(22), token-decryption-failed(23), token-error(24),
unable-to-aggregate-security-labels(25), unauthorised-dl-name(26),
unauthorised-entry-class(27),
unauthorised-originally-intended-recipient-name(28),
unauthorised-originator-name(29), unauthorised-recipient-name(30),
unauthorised-security-label-update(31), unauthorised-user-name(32),
unknown-security-label(33), unsupported-algorithm-identifier(34),
unsupported-security-policy(35)}(0..ub-security-problems)
--unsupported-critical-function ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-unsupported-critical-function
--}
--remote-bind-error ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-remote-bind-error
--}
-- Submission Port Parameters
MessageSubmissionIdentifier ::= MTSIdentifier
MessageSubmissionTime ::= Time
ProbeSubmissionIdentifier ::= MTSIdentifier
ProbeSubmissionTime ::= Time
SubmissionControls ::=
Controls
(WITH COMPONENTS {
...,
permissible-content-types ABSENT,
permissible-encoded-information-types ABSENT
})
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
--message-delivery ABSTRACT-OPERATION ::= {
-- ARGUMENT MessageDeliveryArgument
-- RESULT MessageDeliveryResult
-- ERRORS
-- {delivery-control-violated | security-error |
-- unsupported-critical-function}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {4 | 6 | 7}
-- CODE op-message-delivery
--}
MessageDeliveryArgument ::= SEQUENCE {
-- COMPONENTS OF MessageDeliveryEnvelope,
message-delivery-identifier MessageDeliveryIdentifier,
message-delivery-time MessageDeliveryTime,
other-fields OtherMessageDeliveryFields,
content Content
}
MessageDeliveryResult ::= SET {
recipient-certificate [0] RecipientCertificate OPTIONAL,
-- proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
...,
extensions
[2] SET OF ExtensionField --{{MessageDeliveryResultExtensions}}-- DEFAULT {}
}
--MessageDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
--report-delivery ABSTRACT-OPERATION ::= {
-- ARGUMENT ReportDeliveryArgument
-- RESULT ReportDeliveryResult
-- ERRORS
-- {delivery-control-violated | security-error |
-- unsupported-critical-function}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {5}
-- CODE op-report-delivery
--}
ReportDeliveryArgument ::= SET {
-- COMPONENTS OF ReportDeliveryEnvelope
subject-submission-identifier SubjectSubmissionIdentifier,
content-identifier ContentIdentifier OPTIONAL,
content-type ContentType OPTIONAL,
original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
extensions
[1] SET OF ExtensionField --{{ReportDeliveryExtensions}}-- DEFAULT {},
per-recipient-fields
SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientReportDeliveryFields,
returned-content [0] Content OPTIONAL
}
ReportDeliveryResult ::= CHOICE {
empty-result NULL,
...,
extensions
SET --SIZE (1..MAX)-- OF ExtensionField --{{ReportDeliveryResultExtensions}}--
}
--ReportDeliveryResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
--delivery-control ABSTRACT-OPERATION ::= {
-- ARGUMENT DeliveryControlArgument
-- RESULT DeliveryControlResult
-- ERRORS
-- {control-violates-registration | security-error | operation-refused}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {3}
-- CODE op-delivery-control
--}
DeliveryControlArgument ::= SET {
-- COMPONENTS OF DeliveryControls,
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] ContentTypes OPTIONAL,
permissible-encoded-information-types
PermissibleEncodedInformationTypes OPTIONAL,
permissible-security-context [5] SecurityContext OPTIONAL,
extensions
[6] SET OF ExtensionField --{{DeliveryControlExtensions}}-- DEFAULT {}
}
--DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
DeliveryControlResult ::= SET {
-- COMPONENTS OF Waiting,
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,
extensions
[6] SET OF ExtensionField --{{DeliveryControlResultExtensions}}-- DEFAULT {}
}
--DeliveryControlResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
--delivery-control-violated ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-delivery-control-violated
--}
--control-violates-registration ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-control-violates-registration
--}
--operation-refused ABSTRACT-ERROR ::= {
-- PARAMETER RefusedOperation
-- CODE err-operation-refused
--}
RefusedOperation ::= SET {
refused-argument
CHOICE {built-in-argument [1] RefusedArgument,
refused-extension ANY --EXTENSION.&id --},
refusal-reason [2] RefusalReason
}
RefusedArgument ::= INTEGER {
user-name(0), user-address(1), deliverable-content-types(2),
deliverable-maximum-content-length(3),
deliverable-encoded-information-types-constraints(4),
deliverable-security-labels(5), recipient-assigned-redirections(6),
restricted-delivery(7),
retrieve-registrations(8), -- value 9 reserved for possible future extension to Register arguments
restrict(10), permissible-operations(11), permissible-lowest-priority(12),
permissible-encoded-information-types(13), permissible-content-types(14),
permissible-maximum-content-length(15), permissible-security-context(16)
}(0..ub-integer-options)
RefusalReason ::= INTEGER {
facility-unavailable(0), facility-not-subscribed(1),
parameter-unacceptable(2)}(0..ub-integer-options)
-- Delivery Port Parameters
RecipientCertificate ::= Certificates
--ProofOfDelivery ::=
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ProofOfDeliveryAlgorithmIdentifier,
-- delivery-time MessageDeliveryTime,
-- this-recipient-name ThisRecipientName,
-- originally-intended-recipient-name
-- MTSOriginallyIntendedRecipientName OPTIONAL,
-- content Content,
-- content-identifier ContentIdentifier OPTIONAL,
-- message-security-label
-- MessageSecurityLabel OPTIONAL}}
ProofOfDeliveryAlgorithmIdentifier ::= AlgorithmIdentifier
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] ContentTypes OPTIONAL,
permissible-encoded-information-types
PermissibleEncodedInformationTypes OPTIONAL,
permissible-security-context [5] SecurityContext OPTIONAL
}
-- Note - The Tags [0], [1] and [2] are altered for the Register operation only.
PermissibleEncodedInformationTypes ::=
EncodedInformationTypesConstraints
-- Administration Port
--register ABSTRACT-OPERATION ::= {
-- ARGUMENT RegisterArgument
-- RESULT RegisterResult
-- ERRORS
-- {register-rejected | remote-bind-error | operation-refused |
-- security-error}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {5}
-- CODE op-register
--}
RegisterArgument ::= SET {
user-name UserName OPTIONAL,
user-address [0] UserAddress OPTIONAL,
deliverable-class
SET --SIZE (1..ub-deliverable-class)-- OF DeliverableClass OPTIONAL,
default-delivery-controls [2] EXPLICIT DefaultDeliveryControls OPTIONAL,
redirections [3] Redirections OPTIONAL,
restricted-delivery [4] RestrictedDelivery OPTIONAL,
retrieve-registrations [5] RegistrationTypes OPTIONAL,
extensions
[6] SET OF ExtensionField --{{RegisterExtensions}}-- DEFAULT {}
}
--RegisterExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
RegisterResult ::= CHOICE {
empty-result NULL,
non-empty-result
SET {registered-information
[0] RegisterArgument
-- (WITH COMPONENTS {
-- ...,
-- retrieve-registrations ABSENT
-- }) OPTIONAL--,
extensions
[1] SET OF ExtensionField --{{RegisterResultExtensions}}-- DEFAULT {}
}
}
--RegisterResultExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
--change-credentials ABSTRACT-OPERATION ::= {
-- ARGUMENT ChangeCredentialsArgument
-- RESULT NULL
-- ERRORS
-- {new-credentials-unacceptable | old-credentials-incorrectly-specified |
-- remote-bind-error | security-error}
-- LINKED {operationObject1, ...}
-- INVOKE PRIORITY {5}
-- CODE op-change-credentials
--}
ChangeCredentialsArgument ::= SET {
old-credentials [0] Credentials(WITH COMPONENTS {
simple
}),
new-credentials [1] Credentials(WITH COMPONENTS {
simple
})
}
--register-rejected ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-register-rejected
--}
--new-credentials-unacceptable ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-new-credentials-unacceptable
--}
--old-credentials-incorrectly-specified ABSTRACT-ERROR ::= {
-- PARAMETER NULL
-- CODE err-old-credentials-incorrectly-specified
--}
-- 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
DeliverableClass ::=
MessageClass
(WITH COMPONENTS {
...,
priority ABSENT,
-- The 'objects' component shall always be defaulted.
-- objects ABSENT,
-- A component with a DEFAULT clause cannot be ABSENT
applies-only-to ABSENT
})
DefaultDeliveryControls ::=
Controls
(WITH COMPONENTS {
...,
-- The 'restrict' component shall always be defaulted.
-- restrict ABSENT,
-- A component with a DEFAULT clause cannot be ABSENT
permissible-security-context ABSENT
})
Redirections ::= SEQUENCE SIZE (1..ub-redirections) OF RecipientRedirection
RecipientRedirection ::= SET {
redirection-classes
[0] SET --SIZE (1..ub-redirection-classes)-- OF RedirectionClass OPTIONAL,
recipient-assigned-alternate-recipient
[1] RecipientAssignedAlternateRecipient OPTIONAL
}
RedirectionClass ::= MessageClass
MessageClass ::= SET {
content-types [0] ContentTypes OPTIONAL,
maximum-content-length [1] ContentLength OPTIONAL,
encoded-information-types-constraints
[2] EncodedInformationTypesConstraints OPTIONAL,
security-labels [3] SecurityContext OPTIONAL,
priority [4] SET OF Priority OPTIONAL,
objects
[5] ENUMERATED {messages(0), reports(1), both(2), ...
} DEFAULT both,
applies-only-to [6] SEQUENCE OF Restriction OPTIONAL, -- Not considered in the case of Reports
extensions
[7] SET OF ExtensionField --{{MessageClassExtensions}}-- DEFAULT {}
}
EncodedInformationTypesConstraints ::= SEQUENCE {
unacceptable-eits [0] ExtendedEncodedInformationTypes OPTIONAL,
acceptable-eits [1] ExtendedEncodedInformationTypes OPTIONAL,
exclusively-acceptable-eits [2] ExtendedEncodedInformationTypes OPTIONAL
}
--MessageClassExtensions EXTENSION ::= {PrivateExtensions, ...}
-- May contain private extensions and future standardised extensions
RecipientAssignedAlternateRecipient ::=
ORAddressAndOrDirectoryName
RestrictedDelivery ::= SEQUENCE SIZE (1..ub-restrictions) OF Restriction
Restriction ::= SET {
permitted BOOLEAN DEFAULT TRUE,
source-type
BIT STRING {originated-by(0), redirected-by(1), dl-expanded-by(2)}
-- DEFAULT {originated-by, redirected-by, dl-expanded-by}--,
source-name ExactOrPattern OPTIONAL
}
ExactOrPattern ::= CHOICE {
exact-match [0] ORName,
pattern-match [1] ORName
}
RegistrationTypes ::= SEQUENCE {
standard-parameters
[0] BIT STRING {user-name(0), user-address(1), deliverable-class(2),
default-delivery-controls(3), redirections(4),
restricted-delivery(5)} OPTIONAL,
extensions [1] SET OF ANY --EXTENSION.&id({RegisterExtensions})-- OPTIONAL
}
-- Message Submission Envelope
MessageSubmissionEnvelope ::= SET {
-- COMPONENTS OF PerMessageSubmissionFields,
-- per-recipient-fields
-- [1] SEQUENCE SIZE (1..ub-recipients) OF
-- PerRecipientMessageSubmissionFields
--}
--PerMessageSubmissionFields ::= SET {
originator-name MTSOriginatorName,
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] SET OF ExtensionField --{{PerMessageSubmissionExtensions}}-- DEFAULT {}
,per-recipient-fields
[1] SEQUENCE --SIZE (1..ub-recipients)-- OF
PerRecipientMessageSubmissionFields
}
--PerMessageSubmissionExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- recipient-reassignment-prohibited | dl-expansion-prohibited |
-- conversion-with-loss-prohibited | latest-delivery-time |
-- originator-return-address | originator-certificate |
-- content-confidentiality-algorithm-identifier |
-- message-origin-authentication-check | message-security-label |
-- proof-of-submission-request | content-correlator | dl-exempted-recipients |
-- certificate-selectors | multiple-originator-certificates |
-- forwarding-request - - for MS Abstract Service only - - | PrivateExtensions,
-- ...}
PerRecipientMessageSubmissionFields ::= SET {
recipient-name MTSRecipientName,
originator-report-request [0] OriginatorReportRequest,
explicit-conversion [1] ExplicitConversion OPTIONAL,
extensions
[2] SET OF ExtensionField --{{PerRecipientMessageSubmissionExtensions}}--
DEFAULT {}
}
--PerRecipientMessageSubmissionExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- originator-requested-alternate-recipient | requested-delivery-method |
-- physical-forwarding-prohibited | physical-forwarding-address-request |
-- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
-- | physical-rendition-attributes | physical-delivery-report-request |
-- message-token | content-integrity-check | proof-of-delivery-request |
-- certificate-selectors-override | recipient-certificate |
-- IPMPerRecipientEnvelopeExtensions | PrivateExtensions, ...}
-- Probe Submission Envelope
ProbeSubmissionEnvelope ::= SET {
-- COMPONENTS OF PerProbeSubmissionFields,
-- per-recipient-fields
-- [3] SEQUENCE SIZE (1..ub-recipients) OF PerRecipientProbeSubmissionFields
--}
--PerProbeSubmissionFields ::= SET {
originator-name MTSOriginatorName,
original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL,
content-type ContentType,
content-identifier ContentIdentifier OPTIONAL,
content-length [0] ContentLength OPTIONAL,
per-message-indicators PerMessageIndicators DEFAULT {},
extensions
[2] SET OF ExtensionField --{{PerProbeSubmissionExtensions}}-- DEFAULT {}
,per-recipient-fields
[3] SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientProbeSubmissionFields
}
--PerProbeSubmissionExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- recipient-reassignment-prohibited | dl-expansion-prohibited |
-- conversion-with-loss-prohibited | originator-certificate |
-- message-security-label | content-correlator |
-- probe-origin-authentication-check | PrivateExtensions, ...}
PerRecipientProbeSubmissionFields ::= SET {
recipient-name MTSRecipientName,
originator-report-request [0] OriginatorReportRequest,
explicit-conversion [1] ExplicitConversion OPTIONAL,
extensions
[2] SET OF ExtensionField --{{PerRecipientProbeSubmissionExtensions}}
DEFAULT {}
}
--PerRecipientProbeSubmissionExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- originator-requested-alternate-recipient | requested-delivery-method |
-- physical-rendition-attributes | PrivateExtensions, ...}
-- Message Delivery Envelope
MessageDeliveryEnvelope ::= SEQUENCE {
message-delivery-identifier MessageDeliveryIdentifier,
message-delivery-time MessageDeliveryTime,
other-fields OtherMessageDeliveryFields
}
OtherMessageDeliveryFields ::= SET {
content-type DeliveredContentType,
originator-name DeliveredOriginatorName,
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] MTSOriginallyIntendedRecipientName OPTIONAL,
converted-encoded-information-types
[6] ConvertedEncodedInformationTypes OPTIONAL,
message-submission-time [7] MessageSubmissionTime,
content-identifier [8] ContentIdentifier OPTIONAL,
extensions
[9] SET OF ExtensionField --{{MessageDeliveryExtensions}}-- DEFAULT {}
}
--MessageDeliveryExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- conversion-with-loss-prohibited | requested-delivery-method |
-- physical-forwarding-prohibited | physical-forwarding-address-request |
-- physical-delivery-modes | registered-mail-type | recipient-number-for-advice
-- | physical-rendition-attributes | originator-return-address |
-- physical-delivery-report-request | originator-certificate | message-token |
-- content-confidentiality-algorithm-identifier | content-integrity-check |
-- message-origin-authentication-check | message-security-label |
-- proof-of-delivery-request | dl-exempted-recipients | certificate-selectors |
-- certificate-selectors-override | multiple-originator-certificates |
-- recipient-certificate | IPMPerRecipientEnvelopeExtensions |
-- redirection-history | dl-expansion-history | trace-information |
-- internal-trace-information | PrivateExtensions, ...}
-- Report Delivery Envelope
ReportDeliveryEnvelope ::= SET {
-- COMPONENTS OF PerReportDeliveryFields,
-- 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] SET OF ExtensionField --{{ReportDeliveryExtensions}}-- DEFAULT {}
,per-recipient-fields
SEQUENCE --SIZE (1..ub-recipients)-- OF PerRecipientReportDeliveryFields
}
--ReportDeliveryExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- message-security-label | content-correlator | redirection-history |
-- originator-and-DL-expansion-history | reporting-DL-name |
-- reporting-MTA-certificate | report-origin-authentication-check |
-- trace-information | internal-trace-information | reporting-MTA-name |
-- PrivateExtensions, ...}
PerRecipientReportDeliveryFields ::= SET {
actual-recipient-name [0] MTSActualRecipientName,
report-type [1] ReportType,
converted-encoded-information-types
ConvertedEncodedInformationTypes OPTIONAL,
originally-intended-recipient-name
[2] MTSOriginallyIntendedRecipientName OPTIONAL,
supplementary-information [3] SupplementaryInformation OPTIONAL,
extensions
[4] SET OF ExtensionField --{{PerRecipientReportDeliveryExtensions}}--
DEFAULT {}
}
--PerRecipientReportDeliveryExtensions EXTENSION ::=
-- {- - May contain the following extensions, private extensions, and future standardised extensions,
-- at most one instance of each extension type:
-- redirection-history | physical-forwarding-address | recipient-certificate |
-- proof-of-delivery | PrivateExtensions, ...}
ReportType ::= 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
MTSOriginatorName ::= ORAddressAndOrDirectoryName
DeliveredOriginatorName ::= ORAddressAndOptionalDirectoryName
OriginalEncodedInformationTypes ::= EncodedInformationTypes
ContentTypes ::= SET --SIZE (1..ub-content-types)-- OF ContentType
ContentType ::= CHOICE {
built-in BuiltInContentType,
extended ExtendedContentType
}
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),
edi-messaging(35), voice-messaging(40)} --(0..ub-built-in-content-type)
ExtendedContentType ::= OBJECT IDENTIFIER -- RELATIVE-OID
DeliveredContentType ::= CHOICE {
built-in [0] BuiltInContentType,
extended ExtendedContentType
}
ContentIdentifier ::=
[APPLICATION 10] PrintableString --(SIZE (1..ub-content-id-length))
PerMessageIndicators ::= [APPLICATION 8] BIT STRING {
disclosure-of-other-recipients(0), -- disclosure-of-other-recipients-requested 'one',
-- disclosure-of-other-recipients-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
reserved(4), -- bit reserved by MOTIS 1986
bit-5(5),
bit-6(6), -- notification type-1 : bit 5 'zero' and bit 6 'one'
-- notification type-2 : bit 5 'one' and bit 6 'zero'
-- notification type-3 : bit 5 'one' and bit 6 'one'
-- the mapping between notification type 1, 2, 3
-- and the content specific notification types are defined
-- in relevant content specifications
service-message(7) -- the message content is for service purposes;
-- it may be a notification related to a service message;
-- used only by bilateral agreement --}(SIZE (0..ub-bit-options))
MTSRecipientName ::= 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),
-- values 1 to 7 are no longer defined
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),
-- value 15 is no longer defined
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 ::= ORAddressAndOptionalDirectoryName
ThisRecipientName ::= ORAddressAndOptionalDirectoryName
MTSOriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName
ConvertedEncodedInformationTypes ::= EncodedInformationTypes
SubjectSubmissionIdentifier ::= MTSIdentifier
MTSActualRecipientName ::= ORAddressAndOrDirectoryName
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),
deferred-delivery-not-performed(7), transfer-failure-for-security-reason(8)
}(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),
unable-to-complete-transfer(48), transfer-attempts-limit-reached(49),
incorrect-notification-type(50),
dl-expansion-prohibited-by-security-policy(51),
forbidden-alternate-recipient(52), security-policy-violation(53),
security-services-refusal(54), unauthorised-dl-member(55),
unauthorised-dl-name(56),
unauthorised-originally-intended-recipient-name(57),
unauthorised-originator-name(58), unauthorised-recipient-name(59),
unreliable-system(60), authentication-failure-on-subject-message(61),
decryption-failed(62), decryption-key-unobtainable(63),
double-envelope-creation-failure(64),
double-enveloping-message-restoring-failure(65),
failure-of-proof-of-message(66), integrity-failure-on-subject-message(67),
invalid-security-label(68), key-failure(69), mandatory-parameter-absence(70),
operation-security-failure(71), repudiation-failure-of-message(72),
security-context-failure(73), token-decryption-failed(74), token-error(75),
unknown-security-label(76), unsupported-algorithm-identifier(77),
unsupported-security-policy(78)}(0..ub-diagnostic-codes)
SupplementaryInformation ::=
PrintableString(SIZE (1..ub-supplementary-info-length))
-- Extension Fields
--EXTENSION ::= CLASS {
-- &id ExtensionType UNIQUE,
-- &Type OPTIONAL,
-- &absent &Type OPTIONAL,
-- &recommended Criticality DEFAULT {}
--}
--WITH SYNTAX {
-- [&Type
-- [IF ABSENT &absent],]
-- [RECOMMENDED CRITICALITY &recommended,]
-- IDENTIFIED BY &id
--}
ExtensionType ::= CHOICE {
standard-extension [0] INTEGER --(0..ub-extension-types)--,
private-extension [3] OBJECT IDENTIFIER
}
Criticality ::= BIT STRING {for-submission(0), for-transfer(1), for-delivery(2)
} -- (SIZE (0..ub-bit-options)) - - critical 'one', non-critical 'zero'
ExtensionField --{EXTENSION:ChosenFrom}-- ::= SEQUENCE {
type ExtensionType --EXTENSION.&id({ChosenFrom})--,
criticality [1] Criticality DEFAULT {},
value [2] ANY --EXTENSION.&Type({ChosenFrom}{@type}) DEFAULT NULL:NULL
}
--PrivateExtensions EXTENSION ::=
-- {- - Any value shall be relayed and delivered if not Critical (see Table 27)
-- except those values whose semantics the MTA obeys which are defined to be removed when obeyed.
-- - - Shall be IDENTIFIED BY ExtensionType.private-extension - -...}
--recipient-reassignment-prohibited EXTENSION ::= {
-- RecipientReassignmentProhibited
-- IF ABSENT recipient-reassignment-allowed,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:1
--}
RecipientReassignmentProhibited ::= ENUMERATED {
recipient-reassignment-allowed(0), recipient-reassignment-prohibited(1)
}
--originator-requested-alternate-recipient EXTENSION ::= {
-- OriginatorRequestedAlternateRecipient,
-- RECOMMENDED CRITICALITY {for-submission},
-- IDENTIFIED BY standard-extension:2
--}
MTSOriginatorRequestedAlternateRecipient ::= ORAddressAndOrDirectoryName
-- OriginatorRequestedAlternateRecipient as defined here differs from the field of the same name
-- defined in Figure 4, since on submission the OR-address need not be present, but on
-- transfer the OR-address must be present.
--dl-expansion-prohibited EXTENSION ::= {
-- DLExpansionProhibited
-- IF ABSENT dl-expansion-allowed,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:3
--}
DLExpansionProhibited ::= ENUMERATED {
dl-expansion-allowed(0), dl-expansion-prohibited(1)}
--conversion-with-loss-prohibited EXTENSION ::= {
-- ConversionWithLossProhibited
-- IF ABSENT conversion-with-loss-allowed,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:4
--}
ConversionWithLossProhibited ::= ENUMERATED {
conversion-with-loss-allowed(0), conversion-with-loss-prohibited(1)
}
--latest-delivery-time EXTENSION ::= {
-- LatestDeliveryTime,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:5
--}
LatestDeliveryTime ::= Time
--requested-delivery-method EXTENSION ::= {
-- RequestedDeliveryMethod
-- IF ABSENT {any-delivery-method},
-- IDENTIFIED BY standard-extension:6
--}
RequestedDeliveryMethod ::=
SEQUENCE OF INTEGER { -- each different in order of preference,
-- most preferred first
any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
g4-facsimile-delivery(6), ia5-terminal-delivery(7), videotex-delivery(8),
telephone-delivery(9)}(0..ub-integer-options)
--physical-forwarding-prohibited EXTENSION ::= {
-- PhysicalForwardingProhibited
-- IF ABSENT physical-forwarding-allowed,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:7
--}
PhysicalForwardingProhibited ::= ENUMERATED {
physical-forwarding-allowed(0), physical-forwarding-prohibited(1)}
--physical-forwarding-address-request EXTENSION ::= {
-- PhysicalForwardingAddressRequest
-- IF ABSENT physical-forwarding-address-not-requested,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:8
--}
PhysicalForwardingAddressRequest ::= ENUMERATED {
physical-forwarding-address-not-requested(0),
physical-forwarding-address-requested(1)}
--physical-delivery-modes EXTENSION ::= {
-- PhysicalDeliveryModes
-- IF ABSENT {ordinary-mail},
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:9
--}
PhysicalDeliveryModes ::= BIT STRING {
ordinary-mail(0), special-delivery(1), express-mail(2),
counter-collection(3), counter-collection-with-telephone-advice(4),
counter-collection-with-telex-advice(5),
counter-collection-with-teletex-advice(6), bureau-fax-delivery(7)
-- bits 0 to 6 are mutually exclusive
-- bit 7 can be set independently of any of bits 0 to 6 --}
--(SIZE (0..ub-bit-options))
--registered-mail-type EXTENSION ::= {
-- RegisteredMailType
-- IF ABSENT non-registered-mail,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:10
--}
RegisteredMailType ::= INTEGER {
non-registered-mail(0), registered-mail(1),
registered-mail-to-addressee-in-person(2)}(0..ub-integer-options)
--recipient-number-for-advice EXTENSION ::= {
-- RecipientNumberForAdvice,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:11
--}
RecipientNumberForAdvice ::=
TeletexString --(SIZE (1..ub-recipient-number-for-advice-length))
--physical-rendition-attributes EXTENSION ::= {
-- PhysicalRenditionAttributes
-- IF ABSENT id-att-physicalRendition-basic,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:12
--}
PhysicalRenditionAttributes ::= OBJECT IDENTIFIER
--originator-return-address EXTENSION ::= {
-- OriginatorReturnAddress,
-- IDENTIFIED BY standard-extension:13
--}
OriginatorReturnAddress ::= ORAddress
--physical-delivery-report-request EXTENSION ::= {
-- PhysicalDeliveryReportRequest
-- IF ABSENT return-of-undeliverable-mail-by-PDS,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:14
--}
PhysicalDeliveryReportRequest ::= INTEGER {
return-of-undeliverable-mail-by-PDS(0), return-of-notification-by-PDS(1),
return-of-notification-by-MHS(2), return-of-notification-by-MHS-and-PDS(3)
} -- (0..ub-integer-options)
--originator-certificate EXTENSION ::= {
-- OriginatorCertificate,
-- IDENTIFIED BY standard-extension:15
--}
OriginatorCertificate ::= Certificates
--message-token EXTENSION ::= {
-- MessageToken,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:16
--}
--MessageToken ::= Token
--content-confidentiality-algorithm-identifier EXTENSION ::= {
-- ContentConfidentialityAlgorithmIdentifier,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:17
--}
ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
--content-integrity-check EXTENSION ::= {
-- ContentIntegrityCheck,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:18
--}
--ContentIntegrityCheck ::=
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ContentIntegrityAlgorithmIdentifier OPTIONAL,
-- content Content}}
ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
--message-origin-authentication-check EXTENSION ::= {
-- MessageOriginAuthenticationCheck,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:19
--}
--MessageOriginAuthenticationCheck ::=
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- MessageOriginAuthenticationAlgorithmIdentifier,
-- content Content,
-- content-identifier ContentIdentifier OPTIONAL,
-- message-security-label MessageSecurityLabel OPTIONAL}}
MessageOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
--message-security-label EXTENSION ::= {
-- MessageSecurityLabel,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:20
--}
MessageSecurityLabel ::= SecurityLabel
--proof-of-submission-request EXTENSION ::= {
-- ProofOfSubmissionRequest
-- IF ABSENT proof-of-submission-not-requested,
-- RECOMMENDED CRITICALITY {for-submission},
-- IDENTIFIED BY standard-extension:21
--}
ProofOfSubmissionRequest ::= ENUMERATED {
proof-of-submission-not-requested(0), proof-of-submission-requested(1)
}
--proof-of-delivery-request EXTENSION ::= {
-- ProofOfDeliveryRequest
-- IF ABSENT proof-of-delivery-not-requested,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:22
--}
ProofOfDeliveryRequest ::= ENUMERATED {
proof-of-delivery-not-requested(0), proof-of-delivery-requested(1)}
--content-correlator EXTENSION ::= {
-- ContentCorrelator,
-- IDENTIFIED BY standard-extension:23
--}
ContentCorrelator ::= CHOICE {ia5text IA5String,
octets OCTET STRING
}
--probe-origin-authentication-check EXTENSION ::= {
-- ProbeOriginAuthenticationCheck,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:24
--}
--ProbeOriginAuthenticationCheck ::=
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ProbeOriginAuthenticationAlgorithmIdentifier,
-- content-identifier ContentIdentifier OPTIONAL,
-- message-security-label MessageSecurityLabel OPTIONAL}}
ProbeOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
--redirection-history EXTENSION ::= {
-- RedirectionHistory,
-- IDENTIFIED BY standard-extension:25
--}
RedirectionHistory ::= SEQUENCE SIZE (1..ub-redirections) OF Redirection
Redirection ::= SEQUENCE {
intended-recipient-name IntendedRecipientName,
redirection-reason RedirectionReason
}
IntendedRecipientName ::= SEQUENCE {
intended-recipient ORAddressAndOptionalDirectoryName,
redirection-time Time
}
RedirectionReason ::= ENUMERATED {
recipient-assigned-alternate-recipient(0),
originator-requested-alternate-recipient(1),
recipient-MD-assigned-alternate-recipient(2),
-- The following values may not be supported by implementations of earlier versions of this Service Definition
directory-look-up(3), alias(4), ...
}
--dl-expansion-history EXTENSION ::= {
-- DLExpansionHistory,
-- IDENTIFIED BY standard-extension:26
--}
DLExpansionHistory ::= SEQUENCE -- SIZE (1..ub-dl-expansions)-- OF DLExpansion
DLExpansion ::= SEQUENCE {
dl ORAddressAndOptionalDirectoryName,
dl-expansion-time Time
}
--physical-forwarding-address EXTENSION ::= {
-- PhysicalForwardingAddress,
-- IDENTIFIED BY standard-extension:27
--}
PhysicalForwardingAddress ::= ORAddressAndOptionalDirectoryName
--recipient-certificate EXTENSION ::= {
-- RecipientCertificate,
-- IDENTIFIED BY standard-extension:28
--}
--proof-of-delivery EXTENSION ::= {
-- ProofOfDelivery,
-- IDENTIFIED BY standard-extension:29
--}
--originator-and-DL-expansion-history EXTENSION ::= {
-- OriginatorAndDLExpansionHistory,
-- IDENTIFIED BY standard-extension:30
--}
OriginatorAndDLExpansionHistory ::=
SEQUENCE --SIZE (2..ub-orig-and-dl-expansions)-- OF OriginatorAndDLExpansion
OriginatorAndDLExpansion ::= SEQUENCE {
originator-or-dl-name ORAddressAndOptionalDirectoryName,
origination-or-expansion-time Time
}
--reporting-DL-name EXTENSION ::= {
-- ReportingDLName,
-- IDENTIFIED BY standard-extension:31
--}
ReportingDLName ::= ORAddressAndOptionalDirectoryName
--reporting-MTA-certificate EXTENSION ::= {
-- ReportingMTACertificate,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:32
--}
ReportingMTACertificate ::= Certificates
--report-origin-authentication-check EXTENSION ::= {
-- ReportOriginAuthenticationCheck,
-- RECOMMENDED CRITICALITY {for-delivery},
-- IDENTIFIED BY standard-extension:33
--}
--ReportOriginAuthenticationCheck ::=
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ReportOriginAuthenticationAlgorithmIdentifier,
-- content-identifier ContentIdentifier OPTIONAL,
-- message-security-label MessageSecurityLabel OPTIONAL,
-- per-recipient
-- SEQUENCE SIZE (1..ub-recipients) OF PerRecipientReportFields
-- }}
ReportOriginAuthenticationAlgorithmIdentifier ::= AlgorithmIdentifier
PerRecipientReportFields ::= SEQUENCE {
actual-recipient-name MTSActualRecipientName,
originally-intended-recipient-name MTSOriginallyIntendedRecipientName OPTIONAL,
report-type
CHOICE {delivery [0] PerRecipientDeliveryReportFields,
non-delivery [1] PerRecipientNonDeliveryReportFields}
}
PerRecipientDeliveryReportFields ::= SEQUENCE {
message-delivery-time MessageDeliveryTime,
type-of-MTS-user TypeOfMTSUser,
recipient-certificate [0] RecipientCertificate OPTIONAL
-- proof-of-delivery [1] ProofOfDelivery OPTIONAL
}
PerRecipientNonDeliveryReportFields ::= SEQUENCE {
non-delivery-reason-code NonDeliveryReasonCode,
non-delivery-diagnostic-code NonDeliveryDiagnosticCode OPTIONAL
}
--originating-MTA-certificate EXTENSION ::= {
-- OriginatingMTACertificate,
-- IDENTIFIED BY standard-extension:34
--}
OriginatingMTACertificate ::= Certificates
--proof-of-submission EXTENSION ::= {
-- ProofOfSubmission,
-- IDENTIFIED BY standard-extension:35
--}
--ProofOfSubmission ::=
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ProofOfSubmissionAlgorithmIdentifier,
-- message-submission-envelope MessageSubmissionEnvelope,
-- content Content,
-- message-submission-identifier MessageSubmissionIdentifier,
-- message-submission-time MessageSubmissionTime}}
ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
--reporting-MTA-name EXTENSION ::= {
-- ReportingMTAName,
-- IDENTIFIED BY standard-extension:39
--}
ReportingMTAName ::= SEQUENCE {
domain GlobalDomainIdentifier,
mta-name MTAName,
mta-directory-name [0] Name OPTIONAL
}
--multiple-originator-certificates EXTENSION ::= {
-- ExtendedCertificates,
-- IDENTIFIED BY standard-extension:40
--}
ExtendedCertificates ::= SET --SIZE (1..ub-certificates)-- OF ExtendedCertificate
ExtendedCertificate ::= CHOICE {
directory-entry [0] Name, -- Name of a Directory entry where the certificate can be found
certificate [1] Certificates
}
--dl-exempted-recipients EXTENSION ::= {
-- DLExemptedRecipients,
-- IDENTIFIED BY standard-extension:42
--}
DLExemptedRecipients ::= SET OF ORAddressAndOrDirectoryName
--certificate-selectors EXTENSION ::= {
-- CertificateSelectors,
-- IDENTIFIED BY standard-extension:45
--}
CertificateSelectors ::= SET {
encryption-recipient [0] CertificateAssertion OPTIONAL,
encryption-originator [1] CertificateAssertion OPTIONAL,
content-integrity-check [2] CertificateAssertion OPTIONAL,
token-signature [3] CertificateAssertion OPTIONAL,
message-origin-authentication [4] CertificateAssertion OPTIONAL
}
--certificate-selectors-override EXTENSION ::= {
-- CertificateSelectors
-- (WITH COMPONENTS {
-- ...,
-- message-origin-authentication ABSENT
-- }),
-- IDENTIFIED BY standard-extension:46
--}
-- Some standard-extensions are defined elsewhere:
-- 36 (forwarding-request) in ITU-T Rec. X.413 | ISO/IEC 10021-5;
-- 37 (trace-information), and 38 (internal-trace-information) in Figure 4;
-- 41 (blind-copy-recipients), 43 (body-part-encryption-token), and 44 (forwarded-content-token) in
-- ITU-T Rec. X.420 | ISO/IEC 10021-7
-- 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 {
-- address - -COMPONENTS OF ORAddress,
built-in-standard-attributes BuiltInStandardAttributes,
built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL,
-- see also teletex-domain-defined-attributes
extension-attributes ExtensionAttributes OPTIONAL,
directory-name [0] Name OPTIONAL
}
ORAddress ::= SEQUENCE {
built-in-standard-attributes BuiltInStandardAttributes,
built-in-domain-defined-attributes BuiltInDomainDefinedAttributes OPTIONAL,
-- see also teletex-domain-defined-attributes
extension-attributes ExtensionAttributes OPTIONAL
}
-- The OR-address is semantically absent from the OR-name if the built-in-standard-attribute
-- sequence is empty and the built-in-domain-defined-attributes and extension-attributes are both omitted.
-- Built-in Standard Attributes
BuiltInStandardAttributes ::= 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,
-- see also teletex-personal-name
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
-- see also extended-network-address
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))
-- see also teletex-organization-name
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
}
-- see also teletex-personal-name
OrganizationalUnitNames ::=
SEQUENCE --SIZE (1..ub-organizational-units)-- OF OrganizationalUnitName
-- see also teletex-organizational-unit-names
OrganizationalUnitName ::=
PrintableString --(SIZE (1..ub-organizational-unit-name-length))
-- Built-in Domain-defined Attributes
BuiltInDomainDefinedAttributes ::=
SEQUENCE --SIZE (1..ub-domain-defined-attributes)-- OF
BuiltInDomainDefinedAttribute
BuiltInDomainDefinedAttribute ::= SEQUENCE {
type PrintableString--(SIZE (1..ub-domain-defined-attribute-type-length))--,
value PrintableString --(SIZE (1..ub-domain-defined-attribute-value-length))
}
-- Extension Attributes
ExtensionAttributes ::=
SET --SIZE (1..ub-extension-attributes)-- OF ExtensionAttribute
ExtensionAttribute ::= SEQUENCE {
extension-attribute-type
[0] INTEGER --EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}) --,
extension-attribute-value
[1] ANY --EXTENSION-ATTRIBUTE.&Type
-- ({ExtensionAttributeTable}{@extension-attribute-type})
}
--EXTENSION-ATTRIBUTE ::= CLASS {
-- &id INTEGER(0..ub-extension-attributes) UNIQUE,
-- &Type
--}WITH SYNTAX {&Type
-- IDENTIFIED BY &id
--}
--ExtensionAttributeTable EXTENSION-ATTRIBUTE ::=
-- {common-name | teletex-common-name | universal-common-name |
-- teletex-organization-name | universal-organization-name |
-- teletex-personal-name | universal-personal-name |
-- teletex-organizational-unit-names | universal-organizational-unit-names |
-- teletex-domain-defined-attributes | universal-domain-defined-attributes |
-- pds-name | physical-delivery-country-name | postal-code |
-- physical-delivery-office-name | universal-physical-delivery-office-name |
-- physical-delivery-office-number | universal-physical-delivery-office-number
-- | extension-OR-address-components |
-- universal-extension-OR-address-components | physical-delivery-personal-name
-- | universal-physical-delivery-personal-name |
-- physical-delivery-organization-name |
-- universal-physical-delivery-organization-name |
-- extension-physical-delivery-address-components |
-- universal-extension-physical-delivery-address-components |
-- unformatted-postal-address | universal-unformatted-postal-address |
-- street-address | universal-street-address | post-office-box-address |
-- universal-post-office-box-address | poste-restante-address |
-- universal-poste-restante-address | unique-postal-name |
-- universal-unique-postal-name | local-postal-attributes |
-- universal-local-postal-attributes | extended-network-address | terminal-type
-- }
-- Extension Standard Attributes
--common-name EXTENSION-ATTRIBUTE ::= {CommonName
-- IDENTIFIED BY 1
--}
CommonName ::= PrintableString --(SIZE (1..ub-common-name-length))
--teletex-common-name EXTENSION-ATTRIBUTE ::= {TeletexCommonName
-- IDENTIFIED BY 2
--}
TeletexCommonName ::= TeletexString --(SIZE (1..ub-common-name-length))
--universal-common-name EXTENSION-ATTRIBUTE ::= {
-- UniversalCommonName
-- IDENTIFIED BY 24
--}
UniversalCommonName ::= UniversalOrBMPString --{ub-common-name-length}
--teletex-organization-name EXTENSION-ATTRIBUTE ::= {
-- TeletexOrganizationName
-- IDENTIFIED BY 3
--}
TeletexOrganizationName ::=
TeletexString --(SIZE (1..ub-organization-name-length))
--universal-organization-name EXTENSION-ATTRIBUTE ::= {
-- UniversalOrganizationName
-- IDENTIFIED BY 25
--}
UniversalOrganizationName ::= UniversalOrBMPString --{ub-organization-name-length}
--teletex-personal-name EXTENSION-ATTRIBUTE ::= {
-- TeletexPersonalName
-- IDENTIFIED BY 4
--}
TeletexPersonalName ::= SET {
surname [0] TeletexString --(SIZE (1..ub-surname-length))--,
given-name
[1] TeletexString --(SIZE (1..ub-given-name-length))-- OPTIONAL,
initials
[2] TeletexString --(SIZE (1..ub-initials-length))-- OPTIONAL,
generation-qualifier
[3] TeletexString --(SIZE (1..ub-generation-qualifier-length))-- OPTIONAL
}
--universal-personal-name EXTENSION-ATTRIBUTE ::= {
-- UniversalPersonalName
-- IDENTIFIED BY 26
--}
UniversalPersonalName ::= SET {
surname [0] UniversalOrBMPString --{ub-universal-surname-length}--,
-- If a language is specified within surname, then that language applies to each of the following
-- optional components unless the component specifies another language.
given-name
[1] UniversalOrBMPString --{ub-universal-given-name-length}-- OPTIONAL,
initials
[2] UniversalOrBMPString --{ub-universal-initials-length}-- OPTIONAL,
generation-qualifier
[3] UniversalOrBMPString --{ub-universal-generation-qualifier-length}
OPTIONAL
}
--teletex-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
-- TeletexOrganizationalUnitNames
-- IDENTIFIED BY 5
--}
TeletexOrganizationalUnitNames ::=
SEQUENCE --SIZE (1..ub-organizational-units)-- OF TeletexOrganizationalUnitName
TeletexOrganizationalUnitName ::=
TeletexString --(SIZE (1..ub-organizational-unit-name-length))
--universal-organizational-unit-names EXTENSION-ATTRIBUTE ::= {
-- UniversalOrganizationalUnitNames
-- IDENTIFIED BY 27
--}
UniversalOrganizationalUnitNames ::=
SEQUENCE --SIZE (1..ub-organizational-units)-- OF UniversalOrganizationalUnitName
-- If a unit name specifies a language, then that language applies to subordinate unit names unless
-- the subordinate specifies another language.
UniversalOrganizationalUnitName ::=
UniversalOrBMPString --{ub-organizational-unit-name-length}
UniversalOrBMPString --{INTEGER:ub-string-length}-- ::= SET {
character-encoding
CHOICE {two-octets BMPString --(SIZE (1..ub-string-length))--,
four-octets UniversalString --(SIZE (1..ub-string-length))-- },
iso-639-language-code PrintableString --(SIZE (2 | 5))-- OPTIONAL
}
--pds-name EXTENSION-ATTRIBUTE ::= {PDSName
-- IDENTIFIED BY 7
--}
PDSName ::= PrintableString --(SIZE (1..ub-pds-name-length))
--physical-delivery-country-name EXTENSION-ATTRIBUTE ::= {
-- PhysicalDeliveryCountryName
-- IDENTIFIED BY 8
--}
PhysicalDeliveryCountryName ::= CHOICE {
x121-dcc-code NumericString --(SIZE (ub-country-name-numeric-length)) --,
iso-3166-alpha2-code PrintableString --(SIZE (ub-country-name-alpha-length))
}
--postal-code EXTENSION-ATTRIBUTE ::= {PostalCode
-- IDENTIFIED BY 9
--}
PostalCode ::= CHOICE {
numeric-code NumericString --(SIZE (1..ub-postal-code-length))--,
printable-code PrintableString --(SIZE (1..ub-postal-code-length))
}
--physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
-- PhysicalDeliveryOfficeName
-- IDENTIFIED BY 10
--}
PhysicalDeliveryOfficeName ::= PDSParameter
--universal-physical-delivery-office-name EXTENSION-ATTRIBUTE ::= {
-- UniversalPhysicalDeliveryOfficeName
-- IDENTIFIED BY 29
--}
UniversalPhysicalDeliveryOfficeName ::= UniversalPDSParameter
--physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
-- PhysicalDeliveryOfficeNumber
-- IDENTIFIED BY 11
--}
PhysicalDeliveryOfficeNumber ::= PDSParameter
--universal-physical-delivery-office-number EXTENSION-ATTRIBUTE ::= {
-- UniversalPhysicalDeliveryOfficeNumber
-- IDENTIFIED BY 30
--}
UniversalPhysicalDeliveryOfficeNumber ::= UniversalPDSParameter
--extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
-- ExtensionORAddressComponents
-- IDENTIFIED BY 12
--}
ExtensionORAddressComponents ::= PDSParameter
--universal-extension-OR-address-components EXTENSION-ATTRIBUTE ::= {
-- UniversalExtensionORAddressComponents
-- IDENTIFIED BY 31
--}
UniversalExtensionORAddressComponents ::= UniversalPDSParameter
--physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
-- PhysicalDeliveryPersonalName
-- IDENTIFIED BY 13
--}
PhysicalDeliveryPersonalName ::= PDSParameter
--universal-physical-delivery-personal-name EXTENSION-ATTRIBUTE ::= {
-- UniversalPhysicalDeliveryPersonalName
-- IDENTIFIED BY 32
--}
UniversalPhysicalDeliveryPersonalName ::= UniversalPDSParameter
--physical-delivery-organization-name EXTENSION-ATTRIBUTE ::= {
-- PhysicalDeliveryOrganizationName
-- IDENTIFIED BY 14
--}
PhysicalDeliveryOrganizationName ::= PDSParameter
--universal-physical-delivery-organization-name EXTENSION-ATTRIBUTE ::=
--{UniversalPhysicalDeliveryOrganizationName
-- IDENTIFIED BY 33
--}
UniversalPhysicalDeliveryOrganizationName ::= UniversalPDSParameter
--extension-physical-delivery-address-components EXTENSION-ATTRIBUTE ::=
--{ExtensionPhysicalDeliveryAddressComponents
-- IDENTIFIED BY 15
--}
ExtensionPhysicalDeliveryAddressComponents ::= PDSParameter
--universal-extension-physical-delivery-address-components EXTENSION-ATTRIBUTE
-- ::= {UniversalExtensionPhysicalDeliveryAddressComponents
-- IDENTIFIED BY 34
--}
UniversalExtensionPhysicalDeliveryAddressComponents ::= UniversalPDSParameter
--unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
-- UnformattedPostalAddress
-- IDENTIFIED BY 16
--}
UnformattedPostalAddress ::= SET {
printable-address
SEQUENCE --SIZE (1..ub-pds-physical-address-lines)-- OF
PrintableString --(SIZE (1..ub-pds-parameter-length))-- OPTIONAL,
teletex-string
TeletexString --(SIZE (1..ub-unformatted-address-length))-- OPTIONAL
}
--universal-unformatted-postal-address EXTENSION-ATTRIBUTE ::= {
-- UniversalUnformattedPostalAddress
-- IDENTIFIED BY 35
--}
UniversalUnformattedPostalAddress ::=
UniversalOrBMPString --{ub-unformatted-address-length}
--street-address EXTENSION-ATTRIBUTE ::= {StreetAddress
-- IDENTIFIED BY 17
--}
StreetAddress ::= PDSParameter
--universal-street-address EXTENSION-ATTRIBUTE ::= {
-- UniversalStreetAddress
-- IDENTIFIED BY 36
--}
UniversalStreetAddress ::= UniversalPDSParameter
--post-office-box-address EXTENSION-ATTRIBUTE ::= {
-- PostOfficeBoxAddress
-- IDENTIFIED BY 18
--}
PostOfficeBoxAddress ::= PDSParameter
--universal-post-office-box-address EXTENSION-ATTRIBUTE ::= {
-- UniversalPostOfficeBoxAddress
-- IDENTIFIED BY 37
--}
UniversalPostOfficeBoxAddress ::= UniversalPDSParameter
--poste-restante-address EXTENSION-ATTRIBUTE ::= {
-- PosteRestanteAddress
-- IDENTIFIED BY 19
--}
--PosteRestanteAddress ::= PDSParameter
--universal-poste-restante-address EXTENSION-ATTRIBUTE ::= {
-- UniversalPosteRestanteAddress
-- IDENTIFIED BY 38
--}
UniversalPosteRestanteAddress ::= UniversalPDSParameter
--unique-postal-name EXTENSION-ATTRIBUTE ::= {UniquePostalName
-- IDENTIFIED BY 20
--}
UniquePostalName ::= PDSParameter
--universal-unique-postal-name EXTENSION-ATTRIBUTE ::= {
-- UniversalUniquePostalName
-- IDENTIFIED BY 39
--}
UniversalUniquePostalName ::= UniversalPDSParameter
--local-postal-attributes EXTENSION-ATTRIBUTE ::= {
-- LocalPostalAttributes
-- IDENTIFIED BY 21
--}
LocalPostalAttributes ::= PDSParameter
--universal-local-postal-attributes EXTENSION-ATTRIBUTE ::= {
-- UniversalLocalPostalAttributes
-- IDENTIFIED BY 40
--}
UniversalLocalPostalAttributes ::= UniversalPDSParameter
PDSParameter ::= SET {
printable-string PrintableString --(SIZE (1..ub-pds-parameter-length))-- OPTIONAL,
teletex-string TeletexString --(SIZE (1..ub-pds-parameter-length))-- OPTIONAL
}
UniversalPDSParameter ::= UniversalOrBMPString --{ub-pds-parameter-length}
--extended-network-address EXTENSION-ATTRIBUTE ::= {
-- ExtendedNetworkAddress
-- IDENTIFIED BY 22
--}
ExtendedNetworkAddress ::= CHOICE {
e163-4-address
SEQUENCE {number
[0] NumericString --(SIZE (1..ub-e163-4-number-length))--,
sub-address
[1] NumericString --(SIZE (1..ub-e163-4-sub-address-length))--
OPTIONAL},
psap-address [0] PresentationAddress
}
--terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType
-- IDENTIFIED BY 23
--}
TerminalType ::= INTEGER {
telex(3), teletex(4), g3-facsimile(5), g4-facsimile(6), ia5-terminal(7),
videotex(8)} --(0..ub-integer-options)
-- Extension Domain-defined Attributes
--teletex-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
-- TeletexDomainDefinedAttributes
-- IDENTIFIED BY 6
--}
TeletexDomainDefinedAttributes ::=
SEQUENCE --SIZE (1..ub-domain-defined-attributes)-- OF
TeletexDomainDefinedAttribute
TeletexDomainDefinedAttribute ::= SEQUENCE {
type TeletexString --(SIZE (1..ub-domain-defined-attribute-type-length))--,
value TeletexString --(SIZE (1..ub-domain-defined-attribute-value-length))
}
--universal-domain-defined-attributes EXTENSION-ATTRIBUTE ::= {
-- UniversalDomainDefinedAttributes
-- IDENTIFIED BY 28
--}
UniversalDomainDefinedAttributes ::=
SEQUENCE --SIZE (1..ub-domain-defined-attributes)-- OF
UniversalDomainDefinedAttribute
UniversalDomainDefinedAttribute ::= SEQUENCE {
type UniversalOrBMPString --{ub-domain-defined-attribute-type-length}--,
value UniversalOrBMPString --{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,
g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT {},
teletex [2] TeletexNonBasicParameters DEFAULT {},
extended-encoded-information-types
[4] ExtendedEncodedInformationTypes OPTIONAL
}
-- Built-in Encoded Information Types
BuiltInEncodedInformationTypes ::= BIT STRING {
unknown(0), 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))
-- Extended Encoded Information Types
ExtendedEncodedInformationTypes ::=
SET --SIZE (1..ub-encoded-information-types)-- OF ExtendedEncodedInformationType
ExtendedEncodedInformationType ::= OBJECT IDENTIFIER
-- Non-basic Parameters
NonBasicParameters ::= SET {
g3-facsimile [1] G3FacsimileNonBasicParameters DEFAULT {},
teletex [2] TeletexNonBasicParameters DEFAULT {}
}
G3FacsimileNonBasicParameters ::= BIT STRING {
two-dimensional(8), -- As defined in ITU-T Recommendation T.30
fine-resolution(9), --
unlimited-length(20), -- These bit values are chosen such that when
b4-length(21), -- encoded using ASN.1 Basic Encoding Rules
a3-width(22), -- the resulting octets have the same values
b4-width(23), -- as for T.30 encoding
t6-coding(25), --
uncompressed(30), -- Trailing zero bits are not significant.
width-middle-864-of-1728(37), -- It is recommended that implementations
width-middle-1216-of-1728(38), -- should not encode more than 32 bits unless
resolution-type(44), -- higher numbered bits are non-zero.
resolution-400x400(45), resolution-300x300(46), resolution-8x15(47),
edi(49), dtm(50), bft(51), mixed-mode(58), character-mode(60),
twelve-bits(65), preferred-huffmann(66), full-colour(67), jpeg(68),
processable-mode-26(71)}
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
-- Token
--Token ::= SEQUENCE {
-- token-type-identifier [0] TOKEN.&id({TokensTable}),
-- token
-- [1] TOKEN.&Type({TokensTable}{@token-type-identifier})
--}
--TOKEN ::= TYPE-IDENTIFIER
--TokensTable TOKEN ::= {asymmetric-token, ...}
--asymmetric-token TOKEN ::= {
-- AsymmetricToken
-- IDENTIFIED BY id-tok-asymmetricToken
--}
--AsymmetricToken ::=
-- SIGNED
-- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
-- name
-- CHOICE {recipient-name RecipientName,
-- mta
-- [3] SEQUENCE {global-domain-identifier
-- GlobalDomainIdentifier OPTIONAL,
-- mta-name MTAName
-- }},
-- time Time,
-- signed-data [0] TokenData OPTIONAL,
-- encryption-algorithm-identifier
-- [1] AlgorithmIdentifier OPTIONAL,
-- encrypted-data
-- [2] ENCRYPTED{TokenData} OPTIONAL}}
--TokenData ::= SEQUENCE {
-- type [0] TOKEN-DATA.&id({TokenDataTable}),
-- value [1] TOKEN-DATA.&Type({TokenDataTable}{@type})
--}
--TOKEN-DATA ::= CLASS {&id INTEGER UNIQUE,
-- &Type
--}WITH SYNTAX {&Type
-- IDENTIFIED BY &id
--}
--TokenDataTable TOKEN-DATA ::=
-- {bind-token-signed-data | message-token-signed-data |
-- message-token-encrypted-data | bind-token-encrypted-data, ...}
--bind-token-signed-data TOKEN-DATA ::= {BindTokenSignedData
-- IDENTIFIED BY 1
--}
--BindTokenSignedData ::= RandomNumber
--RandomNumber ::= BIT STRING
--message-token-signed-data TOKEN-DATA ::= {
-- MessageTokenSignedData
-- IDENTIFIED BY 2
--}
--MessageTokenSignedData ::= SEQUENCE {
-- content-confidentiality-algorithm-identifier
-- [0] ContentConfidentialityAlgorithmIdentifier OPTIONAL,
-- content-integrity-check
-- [1] ContentIntegrityCheck OPTIONAL,
-- message-security-label
-- [2] MessageSecurityLabel OPTIONAL,
-- proof-of-delivery-request
-- [3] ProofOfDeliveryRequest OPTIONAL,
-- message-sequence-number [4] INTEGER OPTIONAL
--}
--message-token-encrypted-data TOKEN-DATA ::= {
-- MessageTokenEncryptedData
-- IDENTIFIED BY 3
--}
--MessageTokenEncryptedData ::= SEQUENCE {
-- content-confidentiality-key [0] EncryptionKey OPTIONAL,
-- content-integrity-check [1] ContentIntegrityCheck OPTIONAL,
-- message-security-label [2] MessageSecurityLabel OPTIONAL,
-- content-integrity-key [3] EncryptionKey OPTIONAL,
-- message-sequence-number [4] INTEGER OPTIONAL
--}
--EncryptionKey ::= BIT STRING
--bind-token-encrypted-data TOKEN-DATA ::= {
-- BindTokenEncryptedData
-- IDENTIFIED BY 4
--}
--BindTokenEncryptedData ::= EXTERNAL
-- Security Label
SecurityLabel ::= SET {
security-policy-identifier SecurityPolicyIdentifier OPTIONAL,
security-classification SecurityClassification OPTIONAL,
privacy-mark PrivacyMark OPTIONAL,
security-categories SecurityCategories OPTIONAL
}
SecurityPolicyIdentifier ::= OBJECT IDENTIFIER
SecurityClassification ::= INTEGER {
unmarked(0), unclassified(1), restricted(2), confidential(3), secret(4),
top-secret(5)}(0..ub-integer-options)
PrivacyMark ::= PrintableString(SIZE (1..ub-privacy-mark-length))
SecurityCategories ::= SET SIZE (1..ub-security-categories) OF SecurityCategory
SecurityCategory ::= SEQUENCE {
type [0] OBJECT IDENTIFIER --SECURITY-CATEGORY.&id({SecurityCategoriesTable})--,
value [1] ANY -- SECURITY-CATEGORY.&Type({SecurityCategoriesTable}{@type})
}
--SECURITY-CATEGORY ::= TYPE-IDENTIFIER
--SecurityCategoriesTable SECURITY-CATEGORY ::=
-- {...}
END -- of MTSAbstractService
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D