diff options
Diffstat (limited to 'lib/asn1/test/asn1_SUITE_data/rfcs/MTSAbstractService.asn1')
-rw-r--r-- | lib/asn1/test/asn1_SUITE_data/rfcs/MTSAbstractService.asn1 | 2366 |
1 files changed, 2366 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/rfcs/MTSAbstractService.asn1 b/lib/asn1/test/asn1_SUITE_data/rfcs/MTSAbstractService.asn1 new file mode 100644 index 0000000000..68a5118bc8 --- /dev/null +++ b/lib/asn1/test/asn1_SUITE_data/rfcs/MTSAbstractService.asn1 @@ -0,0 +1,2366 @@ +-- 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 + PresentationAddress + --== + FROM SelectedAttributeTypes + ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{}, + SIGNED{} + --== + FROM AuthenticationFramework + + -- Certificate Extensions + CertificateAssertion + --== + FROM CertificateExtensions + + -- 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 +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 RecipientName + +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, + 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, + 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, + extensions + [6] SET OF ExtensionField{{DeliveryControlExtensions}} DEFAULT {} +} + +DeliveryControlExtensions EXTENSION ::= {PrivateExtensions, ...} + +-- May contain private extensions and future standardised extensions +DeliveryControlResult ::= SET { + COMPONENTS OF Waiting, + 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 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 + OriginallyIntendedRecipientName 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 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 OriginatorName, + original-encoded-information-types OriginalEncodedInformationTypes OPTIONAL, + content-type ContentType, + content-identifier ContentIdentifier OPTIONAL, + priority Priority DEFAULT normal, + per-message-indicators PerMessageIndicators DEFAULT {}, + deferred-delivery-time [0] DeferredDeliveryTime OPTIONAL, + extensions + [2] SET OF ExtensionField{{PerMessageSubmissionExtensions}} DEFAULT {} +} + +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 RecipientName, + 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 OriginatorName, + 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 {} +} + +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 RecipientName, + 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] OriginallyIntendedRecipientName 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 {} +} + +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] ActualRecipientName, + report-type [1] ReportType, + converted-encoded-information-types + ConvertedEncodedInformationTypes OPTIONAL, + originally-intended-recipient-name + [2] OriginallyIntendedRecipientName 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 +OriginatorName ::= 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 ::= 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)) + +RecipientName ::= ORAddressAndOrDirectoryName + +OriginatorReportRequest ::= BIT STRING {report(3), non-delivery-report(4) + +-- at most one bit shall be 'one': +-- report bit 'one' requests a 'report'; +-- non-delivery-report bit 'one' requests a 'non-delivery-report'; +-- both bits 'zero' requests 'no-report' --}(SIZE (0..ub-bit-options)) + +ExplicitConversion ::= INTEGER { + ia5-text-to-teletex(0), + -- 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 + +OriginallyIntendedRecipientName ::= ORAddressAndOptionalDirectoryName + +ConvertedEncodedInformationTypes ::= EncodedInformationTypes + +SubjectSubmissionIdentifier ::= MTSIdentifier + +ActualRecipientName ::= 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 EXTENSION.&id({ChosenFrom}), + criticality [1] Criticality DEFAULT {}, + value [2] 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 +} + +OriginatorRequestedAlternateRecipient ::= 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 ActualRecipientName, + originally-intended-recipient-name OriginallyIntendedRecipientName 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, + 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] EXTENSION-ATTRIBUTE.&id({ExtensionAttributeTable}), + extension-attribute-value + [1] 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, + 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] SECURITY-CATEGORY.&id({SecurityCategoriesTable}), + value [1] 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 + |