RFC 1685

Writing X.400 O/R Names

πŸ“… published August 1994, from ietf

RFC 1685: Writing X.400 O/R Names πŸ’–

okay bestie, title block first πŸŽ€ This is RFC 1685, called Writing X.400 O/R Names. It's from the Network Working Group, written by H. Alvestrand (UNINETT), published as RARE Technical Report 12 in August 1994, and categorised as Informational. The header doesn't list anything it obsoletes or updates πŸ’…

Status of This Memo πŸ“œ

So this memo is here to provide information for the Internet Community. It does not specify an Internet Standard of any kind πŸ™ˆ And distribution is unlimited, so share away πŸ’œ

1. Introduction πŸ’–

Humans who use X.400 systems need a way to write down O/R names in a uniform way 🫢 That's the whole vibe.

RARE already had a recommendation on how to write O/R names for human consumption. Now that the ISO/ITU has adopted a recommendation on how to do this [1], RARE needs to update its own recommendation so it takes this standard into account ✨

2. Recommendations on writing O/R names πŸ“

RARE recommends that the ISO standard be followed when writing O/R names. The ISO/ITU standard has a bunch of options, so RARE makes these recommendations:

  • The "main" abbreviations, G, I, S, O, OU1, OU2, P, A and C are used. They should be written using UPPER CASE.
  • The separation character should be semicolon (;).
  • The ADMD value "blank" is expressed by omitting the attribute. No other interpretation of a missing ADMD attribute is allowed.
  • The recommended sequence is G=;I=;S=;O=;OU1=;OU2=;P=;A=;C=;

So the O, OU1 and so on come in the opposite order to the fields of an Internet domain name πŸ”„ The reason? The ISO/ITU order is going to be more common among X.400 users, so it's the one people already know πŸ’…

3. Copy of the recommmendation πŸ¦‹

This is a COPY of a DRAFT of the relevant appendix. For the authoritative text, consult the ITU standard itself πŸ“– (go to the source, babe)

Final text for AMENDMENT, 7 February 1993

Annex to CCITT Rec. F.401 and ISO/IEC 10021-2/Am.1

Annex F 🧚

Representation of O/R addresses for human usage (This annex does not form an integral part of this Recommendation|International Standard)

F.1 Purpose πŸ’œ

An O/R address (specified in clause 18) is a set of attribute values taken from the list in Table F.1. To show an address to a human, and to let them type it into a user interface, each attribute value has to be linked to the correct attribute type. A lot of the attribute type names in Table F.1 are way too long for paper or a screen, so there's a need for a format that represents attributes concisely, e.g. on a business card πŸ’³

This annex explains how to write addresses concisely using labels for the attribute types. There are three categories of attributes: the standard mnemonic attributes most likely to show up in O/R addresses for human use (e.g. on business cards), the ones used in physical delivery addresses, and other specialised attributes (including domain defined attributes). To keep things as concise as possible, lots of the labels are single characters, which also makes them less language dependent 🌈

Clause F.3 specifies the format for representing addresses, and clause F.4 specifies what user interfaces need to do if they're meant to work with this format.

F.2 Scope 🌸

A labelled format for communicating O/R addresses to human users is specified. It's made of pairs of labels and attribute values. The user interface characteristics needed to accept addresses in this format are specified too.

There's also a self-explanatory format for when there's more space, e.g. in printed material and in the user interface ✨

F.3 Format πŸŽ€

F.3.1 General

The whole point of the labelled format is to represent O/R addresses concisely, in a way humans can transcribe accurately. Careful thought about which attributes and values go into an O/R address helps a lot with this 🧠

If an O/R address has characters from an extended character set, users who don't normally use that character set may struggle to write the address or enter it into their messaging system. In that case, an alias of the O/R address should be provided that's made up entirely of printable string characters.

NOTES

  1. Think carefully about how O/R addresses are structured. Each individual O/R address should be allocated within an appropriate division of the address space, so that the chance of two users expecting the same O/R address is down to an acceptable level. Using a given name or initials is usually enough to tell users apart. Reflecting too much granularity in OUs may be inappropriate, especially if the organisational structure changes often or users move between OUs πŸ™ƒ
  2. There can be a clash between using long values for self-explanatory attributes (like the full name of an organisation) and using shorter values (e.g. to fit neatly on a business card). One way round this is to provide a short alternative attribute value (such as the initials of the organisation) as an alias for the long value.
  3. If a user might be unsure whether there's a space in an attribute value (especially when it's typeset), aliases could be provided with and without the space (e.g. "SNOMAIL400" as an alias for "SNOMAIL 400" and "Mac Donald" as an alias for MacDonald).
  4. If an alias is provided for an O/R address, it's desirable that it's implemented so a consistent (preferred) form of O/R address is generated for all messages the user sends πŸ“¨

Where national usage permits a single space value for the ADMD in an address, this is shown either by omitting the ADMD attribute, or by showing the ADMD attribute with no value or with the value of a space.

F.3.2 Labelled format

F.3.2.1 Syntax

O/R addresses in labelled format are made of delimited pairs of labels and values, written as <label>"="<value>. The labels for each attribute are specified in Tables F.1, F.2 and F.3. (The physical delivery attributes in Table F.2 are included for completeness.) A label and its value are either separated by the character "=", or by the space between two columns in a table. Labels can be written in upper or lower case, but uppercase is recommended because it's likely to be more visually distinctive πŸ‘€

If label/value pairs appear in sequence on a line, they're separated by delimiters. Delimiters may optionally be followed by one or more spaces. The delimiter character may be either ";" or "/", but only one of these can be used in one O/R address. When the delimiter is "/", the first label is prefixed by "/". Putting a delimiter at the end of a line is optional. If the value of any attribute contains the delimiter character, that's represented by a pair of delimiter characters.

If an identifier is needed to preface a labelled address, it is recommended that "X.400" is used.

If an address is made up entirely of attributes from Table F.1, it is recommended that the attributes appear in the order given in Table F.1. If that order clashes with normal cultural conventions, an alternative order may be adopted for addresses that are mainly meant for use within that culture 🌍

EXAMPLE

X.400: G=john; S=smith; O=a bank ltd; P=abl; A=snomail; C=aq

This address may also be laid out as a table:

G     John
S     Smith
O     A Bank Ltd
P     ABL


A     Snomail
C     AQ

Table F.1. Standard Attributes of the Mnemonic Address Form

Attribute Type                         Abbreviation      Label
                                       (where necessary)

Given Name                             Given name        G
Initial                                Initials          I
Surname                                Surname           S
Generation Qualifier                   Generation        Q
Common Name                            Common Name       CN
Organization                           Organization      O
Organizational Unit 1                  Org.Unit.1        OU1
Organizational Unit 2                  Org.Unit.2        OU2
Organizational Unit 3                  Org.Unit.3        OU3
Organizational Unit 4                  Org.Unit.4        OU4
Private Management Domain Name         PRMD              P
Administration Management Domain Name  ADMD              A
Country                                Country           C

Table F.2. Physical Delivery Attributes

Physical Delivery Personal Name        PD-person         PD-PN

Extension of Postal O/R Address
Components                             PD-ext.address    PD-EA
Extension of Physical Delivery Address
Components                             PD-ext.delivery   PD-ED
Physical Delivery Office Number        PD-office number  PD-OFN
Physical Delivery Office Name          PD-office         PD-OF
Physical Delivery Organization Name    PD-organization   PD-O
Street Address                         PD-street         PD-S
Unformatted Postal Address             PD-address        PD-A1
                                                         PD-A2
(there are individual labels for                         PD-A3
each line of the address)                                PD-A4
                                                         PD-A5
                                                         PD-A6
Unique Postal Name                     PD-unique         PD-U
Local Postal Attributes                PD-local          PD-L
Postal Restante Address                PD-restante       PD-R
Post Office Box Address                PD-box            PD-B
Postal Code                            PD-code           PD-PC
Physical Delivery Service Name         PD-service        PD-SN
Physical Delivery Country Name         PD-country        PD-C

Table F.3. Other Attributes

X.121 Network Address                  X.121             X.121
E.163/E.164 Network Address            ISDN              ISDN
PSAP Network Address                   PSAP              PSAP
User Agent Numeric ID                  N-ID              N-ID
Terminal Identifier                    T-ID              T-ID
Terminal Type                          T-TY              T-TY
Domain Defined Attribute               DDA:<type>
DDA:<type>

where the notation <type> identifies the type of domain defined attribute.

F.3.2.2 Terminal Type

There are six terminal types, and if you want international consistency, use these abbreviations for them: tlx, ttx, g3fax, g4fax, ia5 and vtx. πŸ“ βœ¨

F.3.2.3 Domain Defined Attribute πŸŽ€

The label for a DDA is DDA: followed by the DDA type. If an address has more than one DDA of the same type, those DDAs are meant to be processed in the order they show up in the address. 🧚

EXAMPLE - DDA:RFC-822=fred(a)widget.co.uk; O=gateway; P=abc; C=gb

If the <type> of a DDA type contains the character "=", that character is written as "==". πŸ™ˆ

F.3.3 Self-explanatory format πŸ¦‹

The self-explanatory format is fine to use when you have the space. πŸ“ It's a list of attribute types, written in full or abbreviated. The attribute types or abbreviations can be in any language, but every attribute type or abbreviation from Table F.1 has to be followed by its label. If you're using English abbreviations, they should be the ones in Tables F.1, F.2 and F.3. πŸ’…

If an address is made up entirely of attributes from Table F.1, it is recommended that you keep the attributes in the order Table F.1 gives. If that order clashes with normal cultural conventions, a different order can be used for addresses that are mainly meant for use within that culture. 🌸

EXAMPLE 1 - Using attribute types in the Norwegian language

Fornavn (G)                            Per
Etternavn (S)                          Hansen
Organisasjon (O)                       Teledir
Organisasjonsenhet (OU1)               Forskning
Privat domene (P)                      Tele
Administrasjonsdomene (A)              Telemax
Land (C)                               NO
EXAMPLE 2 - Using attribute types and abbreviations in the English
            language

Given name (G)                         John
Surname (S)                            Smith
Organization (O)                       A Bank Ltd
Org. Unit (OU1)                        IT Dept
Org. Unit (OU2)                        MSG Group
PRMD (P)                               ABL
ADMD (A)                               Snomail
Country (C)                            AQ

F.4 User interface πŸ’–

This part spells out the features a user interface needs so a user can enter O/R addresses in either of the formats from clause F.3. 🫢

The interface needs to be able to accept any valid mix of attributes from Tables F.1, F.2 and F.3. πŸ”₯

If the interface lists the attributes from Table F.1, it is recommended that it use the Table F.1 sequence. If that sequence clashes with normal cultural conventions, the alternative sequence for that culture is the one to go with. 🌈

If the user gives a value for the PRMD attribute but leaves out the ADMD attribute, or leaves out the value for the ADMD attribute, the ADMD value that gets used is a single space. πŸ‘‘

When an interface takes an O/R address as one single string (like in a command line interface), it needs to accept any valid labelled format address, and let the user enter either delimiter. The interface should not force the attributes into any particular order. The interface should accept labels in upper or lower case. πŸ’œ

NOTE - For some existing command line interfaces it may be necessary to enclose the whole labelled format address in quotes.

If the interface is any other type (for example, a prompting or form-fill interface), it needs a way for the user to easily link each attribute to its label from Tables F.1, F.2 and F.3. ✨

NOTES

  1. One way to link each attribute to its labels is to put the label in brackets after each attribute type (or abbreviation). For example:
Given name (G)
Initials (I)
Surname (S)
Generation Qualifier (Q)
Common Name (CN)
Organization (O)
Organizational Unit 1 (OU1)
Organizational Unit 2 (OU2)
Organizational Unit 3 (OU3)
Organizational Unit 4 (OU4)
Private Management Domain Name (P)
Administration Management Domain Name (A)
Country (C)
  1. Lots of users find it tricky to copy an address that's shown as a table (in labelled or self-explanatory format) into a command line interface that uses delimiters. πŸ™ˆ
  2. For form-fill style interfaces, user performance is best when the interface looks as close as possible to the supplied address, with the same attribute sequence and the same attribute types or labels. πŸŽ€

Examples of application

  1. The Norwegian user of a command line interface gets a business card with this O/R address on it:
G=john; S=smith; O=a bank ltd; P=abl; A=snomail; C=aq

The command line interface lets the user type the address in exactly as it appears on the card. πŸ₯°

  1. The Norwegian user of a form fill interface gets the same business card. The form on the screen has these field names:
Fornavn (G)
Etternavn (S)
Organisasjon (O)
Privat domene (P)
Administrasjonsdomene (A)
Land (C)

The user fills in the form by matching the single letter labels on the card with the same labels in brackets after the Norwegian attribute names on the screen. (For form fill input, the delimiters are not used.) 🧠

  1. The English speaking user of a command line interface gets a document quoting this O/R address:
Fornavn (G)               Per
Etternavn (S)             Hansen
Organisasjon (O)          Teledir
Organisasjonsenhet (OU1)  Forskning
Privat domene (P)         Tele
Administrasjonsdomene (A) Telemax
Land (C)                  NO

The user knows how to convert the address from self-explanatory to labelled format. They can enter the address with either delimiter, for example:

g=per;s=hansen;o=teledir;ou1=forskning;p=tele;a=telemax;c=no

or:

/g=per/s=hansen/o=teledir/ou1=forskning/p=tele/a=telemax/c=no

4. References πŸ“šβœ¨

[1] F.401 - CCITT Message Handling Services - Operations and Definitions of Service - Naming and Addressing for Public Message Handling Services, Annex B (08/92).

Available (at the time of writing) as the GOPHER URL:

gopher://info.itu.ch/9/.1/ITUdoc/.dirtree/.1/.itu-t/.rec/.f/.23068/.7724.zip

5. Security Considerations πŸ’€πŸ”₯

Security issues are not discussed in this memo. Yep, that's the whole security section, bestie. πŸ™ˆ Nothing about it is covered here, so don't assume anything about security based on this document. 😭

6. Author's Address πŸ’œπŸ¦‹

Harald Tveit Alvestrand
UNINETT A/S
P.O.Box 6883
ELGESETER
N-7002 TRONDHEIM
NORWAY

RFC822: Harald.Alvestrand@uninett.no
X.400:  C=no; ADMD=; PRMD=uninett; O=uninett; S=alvestrand;
G=harald
πŸ“¦ where this page comes from