Split the asn1 file in two.
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 3 Sep 2008 20:26:35 +0000 (20:26 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 3 Sep 2008 20:26:35 +0000 (20:26 +0000)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26132 f5534014-38df-0310-8fa8-9805f1628bb7

asn1/x411/MTAAbstractService.asn
asn1/x411/MTSAbstractService.asn [new file with mode: 0644]
asn1/x411/Makefile.common

index a6a5812037f4094654abcc58134f918d13487c30..5c5802d5f207d973324b289ff05f47b41a7b854b 100644 (file)
@@ -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 (file)
index 0000000..b8c23ba
--- /dev/null
@@ -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
+
index 3f49830a0ce2c2d4a0d024361d7f2d6bf51e8eac..6cd296647fba4c7a412e32d01bcc260b4d6793af 100644 (file)
@@ -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.