On Wed, Apr 22, 2009 at 08:34:55AM -0700, Sean Burford wrote:
On my servers I've redefined facsimileTelephoneNumber as a telephoneNumber:
attributetype ( 2.5.4.23 NAME ( 'facsimileTelephoneNumber' 'fax' ) DESC 'RFC2256: Facsimile (Fax) Telephone Number' SUP telephoneNumber )
Is there any reason to follow the RFC in this case?
Only the usual one that it is generally a bad idea to modify anything that is defined in a standard, as someone else may be depending on it in a way that you cannot guess. This is a pretty powerful argument, though I would agree that many of the standard schema definitions could have been made more usable with hindsight...
It would be more correct to define a completely new attribute with the behaviour that you want. You would then have to persuade the applications to use it :-)
The RFC itself doesn't make a good argument for or against fax numbers having a separate syntax with no matching rules.
RFC2256 is now obsolete. RFC4517 says this:
----------------------------------------------------------------------- 3.3.11. Facsimile Telephone Number
A value of the Facsimile Telephone Number syntax is a subscriber number of a facsimile device on the public switched telephone network. The LDAP-specific encoding of a value of this syntax is defined by the following ABNF:
fax-number = telephone-number *( DOLLAR fax-parameter ) telephone-number = PrintableString fax-parameter = "twoDimensional" / "fineResolution" / "unlimitedLength" / "b4Length" / "a3Width" / "b4Width" / "uncompressed"
The <telephone-number> is a string of printable characters that complies with the internationally agreed format for representing international telephone numbers [E.123]. The <PrintableString> rule is defined in Section 3.2. The <DOLLAR> rule is defined in [RFC4512].
The LDAP definition for the Facsimile Telephone Number syntax is:
( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number')
The Facsimile Telephone Number syntax corresponds to the FacsimileTelephoneNumber ASN.1 type from [X.520]. -----------------------------------------------------------------------
Note that there is more to a 'Facsimile Telephone Number' than there is to a 'Telephone Number' as it can also describe the capabilities of the receiving equipment. (I have never seen the extra information being provided or used, but some application might...)
The definition of telephoneNumber is:
----------------------------------------------------------------------- 3.3.31. Telephone Number
A value of the Telephone Number syntax is a string of printable characters that complies with the internationally agreed format for representing international telephone numbers [E.123].
The LDAP-specific encoding of a value of this syntax is the unconverted string of characters, which conforms to the <PrintableString> rule in Section 3.2.
Examples: +1 512 315 0280 +1-512-315-0280 +61 3 9896 7830
The LDAP definition for the Telephone Number syntax is:
( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )
The Telephone Number syntax corresponds to the following ASN.1 type from [X.520]:
PrintableString (SIZE(1..ub-telephone-number))
The value of ub-telephone-number (an integer) is implementation defined. A non-normative definition appears in [X.520]. -----------------------------------------------------------------------
The rules for matching Telephone Number syntax remove most of the punctuation that people tend to put into printed phone numbers. In most cases this will do the right thing, but if some application stores fax capabilities in the number then the rules are defeated.
Andrew