diff options
author | Anders Broman <anders.broman@ericsson.com> | 2008-09-03 20:26:35 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2008-09-03 20:26:35 +0000 |
commit | 24e791f9ba34080b3fa16efa3d24f3cb154a66bc (patch) | |
tree | c5984c13b7ccb60b64c311bfdf6c4f7d87e9e8ae /asn1 | |
parent | 9d1b5335ac1f48f57712f2937391c7a7b9ce6c19 (diff) |
Split the asn1 file in two.
svn path=/trunk/; revision=26132
Diffstat (limited to 'asn1')
-rw-r--r-- | asn1/x411/MTAAbstractService.asn | 2533 | ||||
-rw-r--r-- | asn1/x411/MTSAbstractService.asn | 2531 | ||||
-rw-r--r-- | asn1/x411/Makefile.common | 3 |
3 files changed, 2535 insertions, 2532 deletions
diff --git a/asn1/x411/MTAAbstractService.asn b/asn1/x411/MTAAbstractService.asn index a6a5812037..5c5802d5f2 100644 --- a/asn1/x411/MTAAbstractService.asn +++ b/asn1/x411/MTAAbstractService.asn @@ -1,3 +1,4 @@ +-- $Id:$ -- Module MTAAbstractService (X.411:06/1999) MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) mta-abstract-service(2) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= @@ -516,2537 +517,7 @@ ArrivalTime ::= Time OtherActions ::= BIT STRING {redirected(0), dl-operation(1) }--(SIZE (0..ub-bit-options))-- --- END - - of MTA Abstract Service - --- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D - --- Module MTSAbstractService (X.411:06/1999) ---MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) --- mts-abstract-service(1) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::= ---BEGIN - --- Prologue --- Exports everything ---IMPORTS - -- Remote Operations --- CONNECTION-PACKAGE, CONTRACT, ERROR, OPERATION, OPERATION-PACKAGE, --- ROS-OBJECT-CLASS - --== --- FROM Remote-Operations-Information-Objects {joint-iso-itu-t --- remote-operations(4) informationObjects(5) version1(0)} --- emptyUnbind - --== --- FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t --- remote-operations(4) useful-definitions(7) version1(0)} - -- MTA Abstract Service --- internal-trace-information, trace-information - --== --- FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0) --- mta-abstract-service(2) version-1999(1)} - -- MS Abstract Service Extension --- forwarding-request - --== --- FROM MSAbstractService {joint-iso-itu-t mhs(6) ms(4) modules(0) --- abstract-service(1) version-1999(1)} - -- IPM Information Objects --- IPMPerRecipientEnvelopeExtensions - --== --- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0) --- information-objects(2) version-1999(1)} - -- Object Identifiers --- id-att-physicalRendition-basic, id-cp-mts-connect, id-ct-mts-access, --- id-ct-mts-forced-access, id-ot-mts, id-ot-mts-user, id-pt-administration, --- id-pt-delivery, id-pt-submission, id-tok-asymmetricToken - --== --- FROM MTSObjectIdentifiers {joint-iso-itu-t mhs(6) mts(3) modules(0) --- object-identifiers(0) version-1999(1)} - -- Operation and Error Codes --- err-control-violates-registration, --- err-deferred-delivery-cancellation-rejected, err-delivery-control-violated, --- err-element-of-service-not-subscribed, err-inconsistent-request, --- err-message-submission-identifier-invalid, --- err-new-credentials-unacceptable, --- err-old-credentials-incorrectly-specified, err-operation-refused, --- err-originator-invalid, err-recipient-improperly-specified, --- err-register-rejected, err-remote-bind-error, err-security-error, --- err-submission-control-violated, err-unsupported-critical-function, --- op-cancel-deferred-delivery, op-change-credentials, op-delivery-control, --- op-message-delivery, op-message-submission, op-probe-submission, --- op-register, op-report-delivery, op-submission-control - --== --- FROM MTSAccessProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0) --- mts-access-protocol(1) version-1999(1)} - -- Directory Definitions --- Name - --== --- FROM InformationFramework {joint-iso-itu-t ds(5) module(1) --- informationFramework(1) 3} --- PresentationAddress - --== --- FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1) --- selectedAttributeTypes(5) 3} --- ALGORITHM, AlgorithmIdentifier, Certificates, ENCRYPTED{}, SIGNATURE{}, --- SIGNED{} - --== --- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) --- authenticationFramework(7) 3} - -- Certificate Extensions --- CertificateAssertion - --== --- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1) --- certificateExtensions(26) 0} - -- Upper Bounds --- ub-bit-options, ub-built-in-content-type, --- ub-built-in-encoded-information-types, ub-certificates, --- ub-common-name-length, ub-content-id-length, ub-content-length, --- ub-content-types, ub-country-name-alpha-length, --- ub-country-name-numeric-length, ub-deliverable-class, ub-diagnostic-codes, --- ub-dl-expansions, ub-domain-defined-attributes, --- ub-domain-defined-attribute-type-length, --- ub-domain-defined-attribute-value-length, ub-domain-name-length, --- ub-encoded-information-types, ub-extension-attributes, ub-extension-types, --- ub-e163-4-number-length, ub-e163-4-sub-address-length, --- ub-generation-qualifier-length, ub-given-name-length, ub-initials-length, --- ub-integer-options, ub-local-id-length, ub-mta-name-length, --- ub-mts-user-types, ub-numeric-user-id-length, ub-organization-name-length, --- ub-organizational-units, ub-organizational-unit-name-length, --- ub-orig-and-dl-expansions, ub-password-length, ub-pds-name-length, --- ub-pds-parameter-length, ub-pds-physical-address-lines, --- ub-postal-code-length, ub-privacy-mark-length, ub-queue-size, --- ub-reason-codes, ub-recipients, ub-recipient-number-for-advice-length, --- ub-redirections, ub-redirection-classes, ub-restrictions, --- ub-security-categories, ub-security-labels, ub-security-problems, --- ub-supplementary-info-length, ub-surname-length, ub-terminal-id-length, --- ub-tsap-id-length, ub-unformatted-address-length, --- ub-universal-generation-qualifier-length, ub-universal-given-name-length, --- ub-universal-initials-length, ub-universal-surname-length, --- ub-x121-address-length - --== --- FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0) --- upper-bounds(3) version-1999(1)}; - ---operationObject1 OPERATION ::= {LINKED {operationObject2} ---} - ---operationObject2 OPERATION ::= {LINKED {operationObject3} ---} - ---operationObject3 OPERATION ::= {LINKED {operationObject4} ---} - ---operationObject4 OPERATION ::= {LINKED {...} ---} - --- Objects ---MHS-OBJECT ::= ROS-OBJECT-CLASS - ---mts MHS-OBJECT ::= { --- INITIATES {mts-forced-access-contract} --- RESPONDS {mts-access-contract} --- ID id-ot-mts ---} - ---mts-user MHS-OBJECT ::= { --- INITIATES {mts-access-contract} --- RESPONDS {mts-forced-access-contract} --- ID id-ot-mts-user ---} - --- Contracts ---mts-access-contract CONTRACT ::= { --- CONNECTION mts-connect --- INITIATOR CONSUMER OF {submission | delivery | administration} --- ID id-ct-mts-access ---} - ---mts-forced-access-contract CONTRACT ::= { --- CONNECTION mts-connect --- RESPONDER CONSUMER OF {submission | delivery | administration} --- ID id-ct-mts-forced-access ---} - --- Connection package ---mts-connect CONNECTION-PACKAGE ::= { --- BIND mts-bind --- UNBIND mts-unbind --- ID id-cp-mts-connect ---} - --- Ports ---PORT ::= OPERATION-PACKAGE - ---submission PORT ::= { --- OPERATIONS {operationObject1, ...} --- CONSUMER INVOKES --- {message-submission | probe-submission | cancel-deferred-delivery, ...} --- SUPPLIER INVOKES {submission-control, ...} --- ID id-pt-submission ---} - ---delivery PORT ::= { --- OPERATIONS {operationObject1, ...} --- CONSUMER INVOKES {delivery-control, ...} --- SUPPLIER INVOKES {message-delivery | report-delivery, ...} --- ID id-pt-delivery ---} - ---administration PORT ::= { --- OPERATIONS {change-credentials, ...} --- CONSUMER INVOKES {register, ...} --- SUPPLIER INVOKES {operationObject1, ...} --- ID id-pt-administration ---} - --- MTS-bind and MTS-unbind ---ABSTRACT-OPERATION ::= OPERATION - ---ABSTRACT-ERROR ::= ERROR - ---mts-bind ABSTRACT-OPERATION ::= { --- ARGUMENT MTSBindArgument --- RESULT MTSBindResult --- ERRORS {mts-bind-error} ---} - -MTSBindArgument ::= SET { - initiator-name ObjectName, - messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL, - initiator-credentials [2] InitiatorCredentials, - security-context [3] SecurityContext OPTIONAL, --- ..., - extensions - [5] SET OF ExtensionField --{{MTSBindExtensions}}-- DEFAULT {} -} - ---MTSBindExtensions EXTENSION ::= {PrivateExtensions, ...} - --- May contain private extensions and future standardised extensions -MTSBindResult ::= SET { - responder-name ObjectName, - messages-waiting [1] EXPLICIT MessagesWaiting OPTIONAL, - responder-credentials [2] ResponderCredentials, - ..., - extensions - [5] SET OF ExtensionField --{{MTSBindResultExtensions}}-- DEFAULT {} -} - ---MTSBindResultExtensions EXTENSION ::= {PrivateExtensions, ...} - --- May contain private extensions and future standardised extensions -MTSBindError --mts-bind-error ABSTRACT-ERROR-- ::= --{ --- PARAMETER - INTEGER {busy(0), authentication-error(2), unacceptable-dialogue-mode(3), - unacceptable-security-context(4), - inadequate-association-confidentiality(5)}--(0..ub-integer-options) ---} - ---mts-unbind ABSTRACT-OPERATION ::= emptyUnbind - --- Association Control Parameters -ObjectName ::= CHOICE { - user-agent ORAddressAndOptionalDirectoryName, - mTA [0] MTAName, - message-store [4] ORAddressAndOptionalDirectoryName -} - -MessagesWaiting ::= SET { - urgent [0] DeliveryQueue, - normal [1] DeliveryQueue, - non-urgent [2] DeliveryQueue -} - -DeliveryQueue ::= SET { - messages [0] INTEGER --(0..ub-queue-size)--, - octets [1] INTEGER --(0..ub-content-length)-- OPTIONAL -} - -InitiatorCredentials ::= Credentials - -ResponderCredentials ::= Credentials - -Credentials ::= CHOICE { - simple Password, - strong [0] StrongCredentials, --- ..., - protected [1] ProtectedPassword -} - -Password ::= CHOICE { - ia5-string IA5String --(SIZE (0..ub-password-length))--, - octet-string OCTET STRING --(SIZE (0..ub-password-length)) -} - -StrongCredentials ::= SET { - bind-token [0] Token OPTIONAL, - certificate [1] Certificates OPTIONAL, --- ..., - certificate-selector [2] CertificateAssertion OPTIONAL -} - -ProtectedPassword ::= SET { - signature --- SIGNATURE{SET {password Password, --- time1 [0] UTCTime OPTIONAL, --- time2 [1] UTCTime OPTIONAL, --- random1 [2] BIT STRING OPTIONAL, --- random2 [3] BIT STRING OPTIONAL}}, - 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 +END -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D 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 + diff --git a/asn1/x411/Makefile.common b/asn1/x411/Makefile.common index 3f49830a0c..6cd296647f 100644 --- a/asn1/x411/Makefile.common +++ b/asn1/x411/Makefile.common @@ -31,7 +31,8 @@ EXPORT_FILES = $(PROTOCOL_NAME)-exp.cnf EXT_ASN_FILE_LIST = -ASN_FILE_LIST = MTAAbstractService.asn +ASN_FILE_LIST = MTAAbstractService.asn \ + MTSAbstractService.asn # The packet-$(PROTOCOL_NAME)-template.h and $(PROTOCOL_NAME).asn # files do not exist for all protocols: Please add/remove as required. |