-- Module MHSRoutingORAddressSubtree (X.412:06/1999)
-- See also ITU-T X.412 (06/1999)
-- See also the index of all ASN.1 assignments needed in this document
MHSRoutingORAddressSubtree {joint-iso-itu-t mhs(6) routing(10) modules(0)
oraddress-subtree(2)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- Prologue
-- Exports everything
IMPORTS
-- MHS-routing Directory objects
RoutingCollectiveName
--==
FROM MHSRoutingDirectoryObjects {joint-iso-itu-t mhs(6) routing(10)
modules(0) directory-objects(1)}
-- MTS abstract service
NonDeliveryDiagnosticCode, NonDeliveryReasonCode, ORAddress, ORName,
RecipientName, SupplementaryInformation, UniversalOrBMPString{}
--==
FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
mts-abstract-service(1) version-1999(1)}
-- MTS upper bounds
ub-common-name-length, ub-country-name-numeric-length,
ub-domain-defined-attribute-type-length,
ub-domain-defined-attribute-value-length, ub-domain-name-length,
ub-generation-qualifier-length, ub-given-name-length, ub-initials-length,
ub-numeric-user-id-length, ub-organization-name-length,
ub-organizational-unit-name-length, ub-pds-name-length,
ub-postal-code-length, ub-surname-length, ub-terminal-id-length,
ub-x121-address-length
--==
FROM MTSUpperBounds {joint-iso-itu-t mhs(6) mts(3) modules(0)
upper-bounds(3) version-1999(1)}
-- MHS-routing object identifiers
id-at-mhs-admd-name, id-at-mhs-common-name, id-at-mhs-country-name,
id-at-mhs-expression-matches, id-at-mhs-extended-network-address,
id-at-mhs-generation-qualifier, id-at-mhs-given-name, id-at-mhs-initials,
id-at-mhs-network-address, id-at-mhs-numeric-user-identifier,
id-at-mhs-organization-name, id-at-mhs-organizational-unit-name,
id-at-mhs-pds-name-attribute, id-at-mhs-postal-code, id-at-mhs-prmd-name,
id-at-mhs-routing-advice, id-at-mhs-next-level-complete, id-at-mhs-surname,
id-at-mhs-terminal-identifier, id-at-mhs-terminal-type,
id-at-oraddress-element-name,
id-at-recipient-md-assigned-alternate-recipient, id-nf-mhs-admd,
id-nf-mhs-common-name, id-nf-mhs-country,
id-nf-mhs-extended-network-address, id-nf-mhs-generation-qualifier,
id-nf-mhs-given-name, id-nf-mhs-initials, id-nf-mhs-network-address,
id-nf-mhs-numeric-user-identifier, id-nf-mhs-organization,
id-nf-mhs-organizational-unit, id-nf-mhs-pds-name,
id-nf-mhs-physical-delivery-country, id-nf-mhs-postal-code, id-nf-mhs-prmd,
id-nf-mhs-surname, id-nf-mhs-terminal-identifier, id-nf-mhs-terminal-type,
id-oc-mhs-admd, id-oc-mhs-common-name, id-oc-mhs-country,
id-oc-mhs-extended-network-address, id-oc-mhs-generation-qualifier,
id-oc-mhs-given-name, id-oc-mhs-initials, id-oc-mhs-network-address,
id-oc-mhs-numeric-user-identifier, id-oc-mhs-or-address-element,
id-oc-mhs-organization, id-oc-mhs-organizational-unit, id-oc-mhs-pds-name,
id-oc-mhs-physical-delivery-country-name, id-oc-mhs-postal-code,
id-oc-mhs-prmd, id-oc-mhs-surname, id-oc-mhs-terminal-identifier,
id-oc-mhs-terminal-type, id-oc-oraddress-subtree-base
--==
FROM MHSRoutingObjectIdentifiers {joint-iso-itu-t mhs(6) routing(10)
modules(0) object-identifiers(0)}
-- Information framework
ATTRIBUTE, DistinguishedName, MATCHING-RULE, NAME-FORM, OBJECT-CLASS,
top
--==
FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
informationFramework(1) 3}
-- Directory authentication framework
AlgorithmIdentifier
--==
FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
authenticationFramework(7) 3}
-- Directory certificate extensions
CertificateAssertion
--==
FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
certificateExtensions(26) 0}
-- Selected attribute types
commonName, DirectoryString{}, name
FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
selectedAttributeTypes(5) 3};
-- OR-ADDRESS-SUBTREE
-- OR-address element
oRAddressElement OBJECT-CLASS ::= {
SUBCLASS OF {top}
KIND abstract
MAY CONTAIN
{routingAdvice | expressionMatches | nextLevelComplete |
recipientMDAssignedAlternateRecipient}
ID id-oc-mhs-or-address-element
}
--
routingAdvice ATTRIBUTE ::= {
WITH SYNTAX RoutingAdvice
SINGLE VALUE TRUE
ID id-at-mhs-routing-advice
}
RoutingAdvice ::= CHOICE {
target-routing-collective [0] TargetRoutingCollective,
non-delivery-information [1] NonDeliveryInformation,
alias-redirection [2] AliasRedirection,
dl-expansion-information [3] DLExpansionInformation,
double-envelope-information [4] DoubleEnvelopeInformation,
...
}
TargetRoutingCollective ::= SEQUENCE {
target-routing-collective [0] RoutingCollectiveName,
local-user-identifier
[1] UniversalOrBMPString{ub-local-user-identifier} OPTIONAL
}
ub-local-user-identifier INTEGER ::= 128
NonDeliveryInformation ::= SEQUENCE {
reason [0] NonDeliveryReasonCode,
diagnostic [1] NonDeliveryDiagnosticCode OPTIONAL,
supplementary-information [2] SupplementaryInformation OPTIONAL
}
AliasRedirection ::= SEQUENCE {
redirection-address [0] ORAddress,
edit [1] BOOLEAN DEFAULT TRUE
}
DLExpansionInformation ::= SEQUENCE {
dl-expansion-routing-collectives [0] SET OF TargetRoutingCollective,
dl-name [1] MHSDistributionListName OPTIONAL,
any-mta-may-expand [2] BOOLEAN DEFAULT FALSE
}
MHSDistributionListName ::= DistinguishedName
DoubleEnvelopeInformation ::= SEQUENCE {
envelope-opener [0] ORAddressAndDirectoryName,
content-confidentiality-algorithm-preference
[1] SEQUENCE OF AlgorithmInformation,
key-encryption-algorithm-preference
[2] SEQUENCE OF AlgorithmInformation OPTIONAL,
message-origin-algorithm-preference
[3] SEQUENCE OF AlgorithmInformation OPTIONAL,
token-signature-algorithm-preference
[4] SEQUENCE OF AlgorithmInformation OPTIONAL,
...
}
ORAddressAndDirectoryName ::=
ORName -- with both Directory name and OR-address present
AlgorithmInformation ::= SEQUENCE {
algorithm-identifier [0] AlgorithmIdentifier,
originator-certificate-selector [1] CertificateAssertion OPTIONAL,
recipient-certificate-selector [2] CertificateAssertion OPTIONAL
}
--
expressionMatches ATTRIBUTE ::= {
WITH SYNTAX ExpressionMatches
SINGLE VALUE TRUE
ID id-at-mhs-expression-matches
}
ExpressionMatches ::= SEQUENCE OF ExpressionMatch
ExpressionMatch ::= SEQUENCE {
filter-set SET OF ORAddressFilter,
routing-advice RoutingAdvice
}
ORAddressFilter ::= SEQUENCE {
attribute-type
CHOICE {standard-attribute INTEGER,
domain-defined-attribute
UniversalOrBMPString{ub-domain-defined-attribute-type-length}
},
pattern ExtendedRegularExpression
}
ExtendedRegularExpression ::=
UniversalOrBMPString{ub-extended-regular-expression}
ub-extended-regular-expression INTEGER ::= 1024
--
nextLevelComplete ATTRIBUTE ::= {
WITH SYNTAX NULL
SINGLE VALUE TRUE
ID id-at-mhs-next-level-complete
}
recipientMDAssignedAlternateRecipient ATTRIBUTE ::= {
WITH SYNTAX ORName
SINGLE VALUE FALSE
COLLECTIVE TRUE
ID id-at-recipient-md-assigned-alternate-recipient
}
-- OR-address element subclasses
oRAddressSubtreeBase OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {commonName}
ID id-oc-oraddress-subtree-base
}
-- Common OR-address object classes
mHSCountry OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSCountryName}
ID id-oc-mhs-country
}
mHSADMD OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSADMDName}
ID id-oc-mhs-admd
}
mHSPRMD OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSPRMDName}
ID id-oc-mhs-prmd
}
-- Mnemonic OR-address object classes
mHSOrganization OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSOrganizationName}
ID id-oc-mhs-organization
}
mHSOrganizationalUnit OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSOrganizationalUnitName}
ID id-oc-mhs-organizational-unit
}
mHSCommonName OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSCommonNameAttribute}
ID id-oc-mhs-common-name
}
mHSSurname OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSSurnameAttribute}
ID id-oc-mhs-surname
}
mHSGivenName OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSGivenNameAttribute}
ID id-oc-mhs-given-name
}
mHSInitials OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSInitialsAttribute}
ID id-oc-mhs-initials
}
mHSGenerationQualifier OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSGenerationQualifierAttribute}
ID id-oc-mhs-generation-qualifier
}
-- Terminal OR-address object classes
mHSNetworkAddress OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSNetworkAddressAttribute}
ID id-oc-mhs-network-address
}
mHSExtendedNetworkAddress OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSExtendedNetworkAddressAttribute}
ID id-oc-mhs-extended-network-address
}
mHSTerminalIdentifier OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSTerminalIdentifierAttribute}
ID id-oc-mhs-terminal-identifier
}
mHSTerminalType OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSTerminalTypeAttribute}
ID id-oc-mhs-terminal-type
}
-- Numeric OR-address object classes
mHSNumericUserIdentifier OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSNumericUserIdentifierAttribute}
ID id-oc-mhs-numeric-user-identifier
}
-- Postal OR-address object classes
mHSPDSName OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSPDSNameAttribute}
ID id-oc-mhs-pds-name
}
mHSPhysicalDeliveryCountry OBJECT-CLASS ::= {
SUBCLASS OF {mHSCountry}
KIND structural
ID id-oc-mhs-physical-delivery-country-name
}
mHSPostalCode OBJECT-CLASS ::= {
SUBCLASS OF {oRAddressElement}
KIND structural
MUST CONTAIN {mHSPostalCodeAttribute}
ID id-oc-mhs-postal-code
}
-- OR-address element name
oRAddressElementName ATTRIBUTE ::= {
SUBTYPE OF name
SINGLE VALUE TRUE
ID id-at-oraddress-element-name
}
-- Common OR-address element names
mHSCountryName ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName -- contains ISO 3166 and X.121 codes only
WITH SYNTAX DirectoryString {ub-country-name-numeric-length}
ID id-at-mhs-country-name
}
mHSADMDName ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-domain-name-length}
ID id-at-mhs-admd-name
}
mHSPRMDName ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-domain-name-length}
ID id-at-mhs-prmd-name
}
-- Mnemonic OR-address element names
mHSOrganizationName ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-organization-name-length}
ID id-at-mhs-organization-name
}
mHSOrganizationalUnitName ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-organizational-unit-name-length}
ID id-at-mhs-organizational-unit-name
}
mHSCommonNameAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-common-name-length}
ID id-at-mhs-common-name
}
mHSSurnameAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-surname-length}
ID id-at-mhs-surname
}
mHSGivenNameAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-given-name-length}
ID id-at-mhs-given-name
}
mHSInitialsAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-initials-length}
ID id-at-mhs-initials
}
mHSGenerationQualifierAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-generation-qualifier-length}
ID id-at-mhs-generation-qualifier
}
-- Terminal OR-address element names
mHSNetworkAddressAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-x121-address-length}
ID id-at-mhs-network-address
}
mHSExtendedNetworkAddressAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-extended-network-address-length}
ID id-at-mhs-extended-network-address
}
ub-extended-network-address-length INTEGER ::= 256
mHSTerminalIdentifierAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-terminal-id-length}
ID id-at-mhs-terminal-identifier
}
mHSTerminalTypeAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-terminal-type-length}
ID id-at-mhs-terminal-type
}
ub-terminal-type-length INTEGER ::= 5
-- Numeric OR-address element names
mHSNumericUserIdentifierAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-numeric-user-id-length}
ID id-at-mhs-numeric-user-identifier
}
-- Postal OR-address element names
mHSPDSNameAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-pds-name-length}
ID id-at-mhs-pds-name-attribute
}
mHSPostalCodeAttribute ATTRIBUTE ::= {
SUBTYPE OF oRAddressElementName
WITH SYNTAX DirectoryString {ub-postal-code-length}
ID id-at-mhs-postal-code
}
-- OR-address-subtree name forms
mHSCountryNameForm NAME-FORM ::= {
NAMES mHSCountry
WITH ATTRIBUTES {mHSCountryName}
ID id-nf-mhs-country
}
mHSADMDNameForm NAME-FORM ::= {
NAMES mHSADMD
WITH ATTRIBUTES {mHSADMDName}
ID id-nf-mhs-admd
}
mHSPRMDNameForm NAME-FORM ::= {
NAMES mHSPRMD
WITH ATTRIBUTES {mHSPRMDName}
ID id-nf-mhs-prmd
}
mHSOrganizationNameForm NAME-FORM ::= {
NAMES mHSOrganization
WITH ATTRIBUTES {mHSOrganizationName}
ID id-nf-mhs-organization
}
mHSOrganizationalUnitNameForm NAME-FORM ::= {
NAMES mHSOrganizationalUnit
WITH ATTRIBUTES {mHSOrganizationalUnitName}
ID id-nf-mhs-organizational-unit
}
mHSCommonNameForm NAME-FORM ::= {
NAMES mHSCommonName
WITH ATTRIBUTES {mHSCommonNameAttribute}
ID id-nf-mhs-common-name
}
mHSSurnameNameForm NAME-FORM ::= {
NAMES mHSSurname
WITH ATTRIBUTES {mHSSurnameAttribute}
ID id-nf-mhs-surname
}
mHSGivenNameNameForm NAME-FORM ::= {
NAMES mHSGivenName
WITH ATTRIBUTES {mHSGivenNameAttribute}
ID id-nf-mhs-given-name
}
mHSInitialsNameForm NAME-FORM ::= {
NAMES mHSInitials
WITH ATTRIBUTES {mHSInitialsAttribute}
ID id-nf-mhs-initials
}
mHSGenerationQualifierNameForm NAME-FORM ::= {
NAMES mHSGenerationQualifier
WITH ATTRIBUTES {mHSGenerationQualifierAttribute}
ID id-nf-mhs-generation-qualifier
}
mHSNetworkAddressNameForm NAME-FORM ::= {
NAMES mHSNetworkAddress
WITH ATTRIBUTES {mHSNetworkAddressAttribute}
ID id-nf-mhs-network-address
}
mHSExtendedNetworkAddressNameForm NAME-FORM ::= {
NAMES mHSExtendedNetworkAddress
WITH ATTRIBUTES {mHSExtendedNetworkAddressAttribute}
ID id-nf-mhs-extended-network-address
}
mHSTerminalIdentifierNameForm NAME-FORM ::= {
NAMES mHSTerminalIdentifier
WITH ATTRIBUTES {mHSTerminalIdentifierAttribute}
ID id-nf-mhs-terminal-identifier
}
mHSTerminalTypeNameForm NAME-FORM ::= {
NAMES mHSTerminalType
WITH ATTRIBUTES {mHSTerminalTypeAttribute}
ID id-nf-mhs-terminal-type
}
mHSNumericUserIdentifierNameForm NAME-FORM ::= {
NAMES mHSNumericUserIdentifier
WITH ATTRIBUTES {mHSNumericUserIdentifierAttribute}
ID id-nf-mhs-numeric-user-identifier
}
mHSPDSNameNameForm NAME-FORM ::= {
NAMES mHSPDSName
WITH ATTRIBUTES {mHSPDSNameAttribute}
ID id-nf-mhs-pds-name
}
mHSPhysicalDeliveryCountryNameForm NAME-FORM ::= {
NAMES mHSPhysicalDeliveryCountry
WITH ATTRIBUTES {mHSCountryName}
ID id-nf-mhs-physical-delivery-country
}
mHSPostalCodeNameForm NAME-FORM ::= {
NAMES mHSPostalCode
WITH ATTRIBUTES {mHSPostalCodeAttribute}
ID id-nf-mhs-postal-code
}
END -- of MHS-routing OR-address-subtree
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D