aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/x411/MTSAbstractService.asn
diff options
context:
space:
mode:
Diffstat (limited to 'asn1/x411/MTSAbstractService.asn')
-rw-r--r--asn1/x411/MTSAbstractService.asn2531
1 files changed, 2531 insertions, 0 deletions
diff --git a/asn1/x411/MTSAbstractService.asn b/asn1/x411/MTSAbstractService.asn
new file mode 100644
index 0000000000..b8c23ba2a5
--- /dev/null
+++ b/asn1/x411/MTSAbstractService.asn
@@ -0,0 +1,2531 @@
+-- $Id:$
+-- 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}},
+ Signature,
+ time1 [0] UTCTime OPTIONAL,
+ time2 [1] UTCTime OPTIONAL,
+ random1 [2] BIT STRING OPTIONAL,
+ random2 [3] BIT STRING OPTIONAL
+}
+
+Signature ::= SEQUENCE {
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+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
+-- 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] StandardExtension --(0..ub-extension-types)--,
+ private-extension [3] OBJECT IDENTIFIER
+}
+
+StandardExtension ::= INTEGER {
+ recipient-reassignment-prohibited (1),
+ originator-requested-alternate-recipient (2),
+ dl-expansion-prohibited (3),
+ conversion-with-loss-prohibited (4),
+ latest-delivery-time (5),
+ requested-delivery-method (6),
+ physical-forwarding-prohibited (7),
+ physical-forwarding-address-request (8),
+ physical-delivery-modes (9),
+ registered-mail-type (10),
+ recipient-number-for-advice (11),
+ physical-rendition-attributes (12),
+ originator-return-address (13),
+ physical-delivery-report-request (14),
+ originator-certificate (15),
+ message-token (16),
+ content-confidentiality-algorithm-identifier (17),
+ content-integrity-check (18),
+ message-origin-authentication-check (19),
+ message-security-label (20),
+ proof-of-submission-request (21),
+ proof-of-delivery-request (22),
+ content-correlator (23),
+ probe-origin-authentication-check (24),
+ redirection-history (25),
+ dl-expansion-history (26),
+ physical-forwarding-address (27),
+ recipient-certificate (28),
+ proof-of-delivery (29),
+ originator-and-DL-expansion-history (30),
+ reporting-DL-name (31),
+ reporting-MTA-certificate (32),
+ report-origin-authentication-check (33),
+ originating-MTA-certificate (34),
+ proof-of-submission (35),
+ forwarding-request (36),
+ trace-information (37),
+ internal-trace-information (38),
+ reporting-MTA-name (39),
+ multiple-originator-certificates (40),
+ blind-copy-recipients (41),
+ dl-exempted-recipients (42),
+ body-part-encryption-token (43),
+ forwarded-content-token (44),
+ certificate-selectors (45)
+}
+
+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
+-- 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
+-- 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
+-- 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
+-- 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
+-- 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] ExtensionAttributeType --EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}) --,
+ extension-attribute-value
+ [1] ANY --EXTENSION-ATTRIBUTE.&Type
+-- ({ExtensionAttributeTable}{@extension-attribute-type})
+}
+
+
+
+ExtensionAttributeType ::= INTEGER {
+ common-name (1),
+ teletex-common-name (2),
+ teletex-organization-name (3),
+ teletex-personal-name (4),
+ teletex-organizational-unit-names (5),
+ teletex-domain-defined-attributes (6),
+ pds-name (7),
+ physical-delivery-country-name (8),
+ postal-code (9),
+ physical-delivery-office-name (10),
+ physical-delivery-office-number (11),
+ extension-OR-address-components (12),
+ physical-delivery-personal-name (13),
+ physical-delivery-organization-name (14),
+ extension-physical-delivery-address-components (15),
+ unformatted-postal-address (16),
+ street-address (17),
+ post-office-box-address (18),
+ poste-restante-address (19),
+ unique-postal-name (20),
+ local-postal-attributes (21),
+ extended-network-address (22),
+ terminal-type (23),
+ universal-common-name (24),
+ universal-organization-name (25),
+ universal-personal-name (26),
+ universal-organizational-unit-names (27),
+ universal-domain-defined-attributes (28),
+ universal-physical-delivery-office-name (29),
+ universal-physical-delivery-office-number (30),
+ universal-extension-OR-address-components (31),
+ universal-physical-delivery-personal-name (32),
+ universal-physical-delivery-organization-name (33),
+ universal-extension-physical-delivery-address-components (34),
+ universal-unformatted-postal-address (35),
+ universal-street-address (36),
+ universal-post-office-box-address (37),
+ universal-poste-restante-address (38),
+ universal-unique-postal-name (39),
+ universal-local-postal-attributes (40)
+}
+
+--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})-- TokenTypeIdentifier,
+ token
+ [1] --TOKEN.&Type({TokensTable}{@token-type-identifier})-- TokenTypeData
+}
+
+--TOKEN ::= TYPE-IDENTIFIER
+TokenTypeIdentifier ::= OBJECT IDENTIFIER
+TokenTypeData ::= ANY
+
+--TokensTable TOKEN ::= {asymmetric-token, ...}
+
+--asymmetric-token TOKEN ::= {
+-- AsymmetricToken
+-- IDENTIFIED BY id-tok-asymmetricToken
+--}
+
+AsymmetricTokenData ::=
+-- SIGNED
+-- {--SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
+ name
+ CHOICE {recipient-name MTSRecipientName,
+ mta [3] MTANameAndOptionalGDI },
+ time Time,
+ signed-data [0] TokenData OPTIONAL,
+ encryption-algorithm-identifier
+ [1] AlgorithmIdentifier OPTIONAL,
+ encrypted-data
+ [2] -- ENCRYPTED{TokenData}-- BIT STRING OPTIONAL} --}
+
+MTANameAndOptionalGDI ::= SEQUENCE {
+ global-domain-identifier GlobalDomainIdentifier OPTIONAL,
+ mta-name MTAName
+}
+
+AsymmetricToken ::= SEQUENCE {
+ asymmetric-token-data AsymmetricTokenData,
+ algorithm-identifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+TokenData ::= SEQUENCE {
+ type [0] TokenDataType -- TOKEN-DATA.&id({TokenDataTable}) --,
+ value [1] ANY -- TOKEN-DATA.&Type({TokenDataTable}{@type})
+}
+
+TokenDataType ::= INTEGER {
+ bind-token-signed-data (1),
+ message-token-signed-data (2),
+ message-token-encrypted-data (3),
+ bind-token-encrypted-data (4)
+}
+
+--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
+--}
+
+-- This is the only Token Data we know
+--TokenData ::= BindTokenSignedData
+
+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
+