Network Working Group                                       Frank Dawson
Internet Draft                                              Mike O'Brien
<draft-ietf-asid-ldapv3schema-vcard-00.txt>        Lotus/Iris Associates
Expires January 1998                                        July 8, 1997


                   The vCard Schema For Use In LDAPv3
               draft-ietf-asid-ldapv3schema-vcard-00.txt


Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   andits working groups. Note that other groups may also distribute
   working documents as Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months.  Internet-Drafts may be updated, replaced, or made obsolete
   by other documents at any time.  It is not appropriate to use
   Internet-Drafts as reference material or to cite them other than as a
   "working draft" or "work in progress".

   To learn the current status of any Internet-Draft, please check the
   1id-abstracts.txt listing contained in the Internet-Drafts Shadow
   Directories on ds.internic.net (US East Coast), nic.nordu.net
   (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
   Rim).

   Distribution of this document is unlimited.


Abstract

   The Lightweight Directory Access Protocol (LDAP) [LDAPV3] is gaining
   widespread acceptance as a method for accessing Internet directories.
   Many of the LDAP clients accessing these directories also provide
   support for emitting the directory information in the form of a vCard
   electronic business card object. This memo defines a new X.500 object
   class, called the vCardObject, that extends the X.521 standard
   organizationalPerson and residentialPerson in order to provide a
   unique LDAP schema for accessing  Internet directories in terms of
   the vCard attributes.

   The schema defined by this memo should be used when accessing a
   directory via LDAP Version 3 and searching or retrieving directory
   information based on vCard related attributes. The schema describes
   the attribute types and object classes that have a 1-to-one
   correspondence with vCard properties.

   This schema may also be used to define a set of object classes and
   attributes for storing metadata and binding information for a
   directory entry that closely follows the vCard object in directories
   that support LDAP.





Dawson, O'Brien                    1                ExpiresJanuary 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


1. Introduction

   The Lightweight Directory Access Protocol [LDAPV3] defines a standard
   protocol for accessing Internet directory services. A common purpose
   for such directory services is the collection of directory
   information related to people and resources. The vCard Electronic
   Business Card Format [VCARD] defines a standard format for exchanging
   information about people and resources. These two standards are
   linked by their technical foundations on the International
   Telecommunications Union Recommendations for The Directory Services
   [X500]. However, up to this point a more formal correlation between
   the two standards has been missing. This memo links the two standards
   by defining the LDAP schema to be used for LDAP-based access to a
   directory, when the resultant information is intended to be in the
   form of the attributes that make up a vCard object.

   The [VCARD] specification defines a relatively flat schema. Each
   instance of a vCard is a container for a set of peer attributes,
   which vCard calls properties. These attributes describe various
   facets of a physical person or resource in terms of their
   identification, delivery addressing, telecommunications addressing,
   geographical, organizational, explanatory and security properties.
   Additionally, non-standardized, implementation-specific attributes
   may be present. With minor exceptions, all of the features of the
   [VCARD] specification are supported by this schema.

2. Notation

   The notation used to describe object classes and attribute types in
   this memo is the same that is used in [LDAPSYN]. The BNF used in this
   memo is the same as in [RFC822].

   The use of the terms attribute and property are used interchangeably
   in this memo.

   The object identifier (OID) used by this schema is rooted at
   "1.3.6.1.4.1.2309.1.1.1.1". The Internet Mail Consortium (IMC) is the
   authority for the name spaced under this root object identifier.

3. Object Naming

   All vCardObject objects must have the formattedName as their naming
   attribute. This attribute provides the RDN for the object. This
   attribute is based on the Common Name attribute of [X.500], as
   defined in [VCARD]. Values should adhere to the guidelines for the
   Common Name attribute, as specified in [LDAPV3].

   In addition, the uniqueID attribute may be present to provide a
   method for correlating different vCardObject objects that refer to
   the same physical person or resource, yet contain differing
   descriptions. For example, a single person or resource might be
   described by a Canadian-French language-based vCardObject and also an
   US-English language-based vCardObject. This would be accomplished by



Dawson, O'Brien                    2               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   both vCardObjects containing the uniqueID property with the same
   value.

   The uniqueID attribute is also used to refer to the vCardObject
   corresponding to the physical person or resource in the agent
   property.

4. Grouping

   The [VCARD] specification supports to forms of grouping or
   collections. The "vCard Grouping" capability permits a vCardObject to
   be the container for a sequence of one or more vCardObjects. For
   example a vCardObject describing a work group might consist of the
   vCardObjects for each member of that work group. The vCard Grouping
   is not supported by this memo.

   The "Property Grouping" capability permits individual attributes
   within a vCard object to be further grouped by the pre-concatenation
   of a textual, group label. For example the telephone number and
   delivery label for a vacation residence might be prefixed with a
   group label of "VACATION.". Property Grouping is not supported by
   this memo.

5. Structured Property Values

   Some of the attributes defined by the [VCARD] specification consist
   of multiple components. Structured attribute values are also
   supported by this schema. The components are separated by either the
   "$" or "#" character.

6. Property Parameters

   The [VCARD] specification allows attribute values to be qualified
   with "property parameters". For example, "home" and "office"
   telephone numbers can be distinguished by the property parameters
   "TYPE=HOME" and "TYPE=OFFICE" being applied to the respective home
   and office telephone number values. Property parameters are supported
   using attribute description options, as defined in [LDAPV3].

6.1 Property Value Types

   The [VCARD] specification provides for the optional specification of
   the attribute value data type as a property parameter. The data type
   of all attributes defined by this schema are implicitly defined by
   their attribute type description. The property value parameter type
   is not further supported by this schema.

6.2 Encoding Options

   The default encoding or format for vCardObject attribute values is
   8bit textual data. The encoding may be overridden for an individual
   property value by the specification of an encoding option on the
   attribute description. These options allow for the return of the
   attribute value in a format other than the default textual format.


Dawson, O'Brien                    3               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   These options may be specified only on the logo, photo and sound
   attributes defined by this schema.

   An encoding option is based on the following BNF:

        Encodeoption   = ["encoding-"] binaryencode / b64encode

        Binaryencode   = "binary"               ;As defined by [LDAPV3]

        b64encode      = "base64"               ;As defined by [RFC2045]


6.2.1 Binary Encoding

   The "binary" option is as described in [LDAPV3].

6.2.2 Base-64 Encoding

   The "base64" option overrides the default format for attribute values
   so that they are transferred as 7-bit text, thus making it safe to
   carry over restricted transports. [RFC2045] defines the encoding of
   this format.

6.3 Language Option

   The language used in the vCardObject attribute values may be
   explicitly specified for an individual property value by the
   specification of a language option on the attribute description. The
   language is specified as a string consistent with [RFC1766]. This
   option may be specified on any attribute defined by this schema.

   The language option is based on the following BNF:

        langoption      = "language-" langtype

        langtype        = <A language string as defined in RFC 1766>

   For example, "comment;language-us-eng" for a Comment attribute
   description whose textual value is written in US English.

6.4 Image Format Option

   This option specifies the image image format for the photo and logo
   attributes value. The image format option must be specified only on
   the photo and logo attribute. These attributes must specify this
   option in order to specify the graphic image format of the photo or
   logo value.

   The image format option is based on the following BNF:

        imageoption     = "format-" formattype

        formattype      = <Any AINA registered image format subtype>



Dawson, O'Brien                    4               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   For example, "photo;format-jpeg" for a Photo attribute description
   for a value in a JPEG image format.

6.5 Delivery Type Option

   This option specifies the characteristics of delivery address and
   delivery label attributes value. The delivery type option may be
   specified only in the deliveryAddress or deliveryLabel attributes.

   The delivery address type option is based on the following BNF:

        deliveroption   = (["dom"]      ;An domestic delivery
                        / ["intl"])     ;An international delivery
                          ["postal"]    ;A postal delivery
                          ["parcel"]    ;A parcel delivery
                          ["home"]      ;A residential delivery
                          ["work"]      ;A business delivery
                          ["pref"]      ;A preferred delivery

   For example, "adr;dom;postal;parcel;home" for an attribute
   description for a domestic delivery address for a residence that is
   used for postal and parcel service delivery.

6.6 Telephone Type Option

   This option specifies the characteristics of telephone number
   attribute value. The telephone type option may be specified only in
   the telephoneNumber attribute.

   The telephone type option is based on the following BNF:

        teleoption      = ["home"]      ;A residential number
                          ["work"]      ;A business number
                          ["voice"]     ;A voice number
                          ["fax"]       ;A facsimile number
                          ["msg"]       ;A number with voice mail
                        ( ["cell"]      ;An analog cellular number
                        / ["pager"]     ;A pager number
                        / ["pcs"]       ;A digital PCS number
                        / ["bbs"]       ;A bulletin board system number
                        / ["modem"]     ;A number with a MODEM attached
                        / ["car"]       ;A car cellular number
                        / ["isdn"]      ;An ISDN SPID
                        / ["video"])    ;A video conferencing number
                          ["pref"]      ;A preferred number

   For example, "tel;pref;work;voice;msg" for a Telephone Number
   property which is preferred over other telephone numbers for work. In
   addition, the telephone number is a voice line with voice mail
   support.






Dawson, O'Brien                    5               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


6.7 Electronic Mail Type Option

   This option specifies the characteristics of electronic mail
   attribute value. The electronic mail type option may be specified
   only in the electronicMail attribute.

   The electronic mail type option is based on the following BNF:

        emailoption     = (["internet"] ;An internet email address
                        / ["x400"]      ;A X.400 OR address
                        / ["video"]     ;A video conferencing number
                        / [word] )      ;Any other email address type
                          ["pref"]      ;A preferred number

        word            = 1*char        ;A word

   For example, "email;internet" for an attribute description with a
   value that is an Internet, RFC822 address format.

6.8 Sound Format Type Option

   This option specifies the format of the sound attribute value. The
   sound format type option may be specified only in the sound
   attribute.

   The sound format type option is based on the following BNF:

        soundoption     = <Any AINA registered sound format subtype>

   For example, "sound;basic" for a Sound attribute description whose
   value is single channel audio encoded using 8bit ISDN mu-law [PCM] at
   a sample rate of 8000 Hz.

7. Object Definitions

   The following object classes are defined by this schema. LDAP servers
   should recognize the object classes listed in this section as values
   of the objectClass attribute.

7.1 Top

   This object class is the same as that defined in [LDAPX500].

   (2.5.6.0
        NAME 'top'
        ABSTRACT MUST objectClass)

7.2 Alias

   This object class is the same as that defined in [LDAPX500].

   (2.5.6.1
        NAME 'alias'
        SUP top STRUCTURAL MUST aliasedObjectName)


Dawson, O'Brien                    6               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


7.3 VCard Object

   The vCardObject is a container for collecting together attributes
   describing a person or resource.

   (1.3.6.1.4.1.2309.1.1.1.1.1
        NAME 'vCardObject'
        SUP top STRUCTURAL MUST formattedName
        MAY (structuredName $ photograph $ birthDate $ uid $
   deliveryAddress $
        deliveryLabel $ telephoneNumber $ eMail $ mailer $ timeZone $
        globalPosition $ title $ role $ logo $ agent $ orgNameUnit $
   comment $
        revision $ sound $ url $ version $ key)

8. Attribute Type Definitions

   These attribute type descriptions are defined as follows. LDAP
   servers should recognize the attribute types defined in this section.

8.1 Identification Attributes

8.1.1 Formatted Name

   This attribute specifies the formatted text of the distinguished name
   associated with the vCardObject. This is the text that should be used
   to display the distinguish name. It may contain desired honorific
   prefixes, suffixes, titles, etc. This attribute corresponds to the
   [vCard] "FN" property. Implementations conforming to this memo must
   support this attribute. In addition, every directory entry must
   contain this attribute.

   (1.3.6.1.4.1.2309.1.1.1.1.2 NAME 'formattedName'
        DESC 'formatted name text'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.1.2 StructuredName

   This attribute specifies the structured text components of the name
   associated with the vCardObject. This attribute corresponds to the
   [vCard] "N" property. The attribute value consists of the Family
   Name, Given Names, Additional Names, Honorific Prefixes and Honorific
   Suffixes. The components are separated by "$" or "#" characters.

   (1.3.6.1.4.1.2309.1.1.1.1.3 NAME 'structuredName'
        DESC 'structured name components'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardName{255}' SINGLE-VALUE)







Dawson, O'Brien                    7               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


8.1.3 Photograph

   This attribute specifies a photograph associated with the
   vCardObject. This attribute corresponds to the [vCard] "PHOTO"
   property.

   (1.3.6.1.4.1.2309.1.1.1.1.4 NAME 'photograph'
        DESC 'photograph'
        SYNTAX 'vCardImage' SINGLE-VALUE)

8.1.4 BirthDate

   This attribute specifies the birthdate associated with the
   vCardObject. This attribute corresponds to the [vCard] "BDAY"
   property.

   (1.3.6.1.4.1.2309.1.1.1.1.5 NAME 'birthDate'
        DESC 'birthdate'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardDate' SINGLE-VALUE)

8.1.5 Unique Identifier

   This attribute specifies a globally unique identifier associated with
   the vCardObject. This attribute corresponds to the [vCard] "UID"
   property. A person or resource may be represented by more than one
   vCardObject. For example, entries in different languages. This
   attribute is used to correlate the vCardObjects that refer to the
   same physical person or resource.

   (1.3.6.1.4.1.2309.1.1.1.1.6 NAME 'uid'
        DESC 'unique identifier'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.2 Delivery Addressing Attributes

8.2.1 DeliveryAddress

   This attribute specifies the structured text components of the
   deliver address associated with the vCardObject. This attribute
   corresponds to the [vCard] "ADR" property. The attribute value
   consists of the Extended Address, Post Office Box, Street Address,
   Locality or City, Region or State or Province, Postal Code and
   Country Name. If the address option indicates that the value is an
   international address, then the country component must be present.
   The components are separated by "$" or "#" characters.

   (1.3.6.1.4.1.2309.1.1.1.1.7 NAME 'deliveryAddress'
        DESC 'structured delivery address components'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardAddress{255}' SINGLE-VALUE)




Dawson, O'Brien                    8               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


8.2.2 DeliveryLabel

   This attribute specifies the text for the delivery label associated
   with the vCardObject. This attribute corresponds to the [vCard]
   "LABEL" property. If the address option indicates that the value is
   an international address, then the country name must be present.

   (1.3.6.1.4.1.2309.1.1.1.1.8 NAME ' deliveryLabel'
        DESC 'delivery label'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardMultiLineString{1023}' SINGLE-VALUE)

8.2.3 TelephoneNumber

   This attributes specifies a telephone number associated with the
   vCardObject. This attribute corresponds to the [vCard] "TEL"
   property. The value should be specified in it's international form.

   (1.3.6.1.4.1.2309.1.1.1.1.9 NAME 'telephoneNumber'
        DESC 'telephone number'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardTelephone{32}' SINGLE-VALUE)

8.2.4 ElectronicMail

   This attribute specifies an electronic mail or messaging address
   associated with the vCardObject. This attribute corresponds to the
   [vCard] "EMAIL" property.

   1.3.6.1.4.1.2309.1.1.1.1.10 NAME 'eMail'
        DESC 'electronic mail address'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.2.5 Mailer

   This attribute specifies the type of electronic mail software that is
   used by the person or resource associated described by the
   vCardObject. This attribute corresponds to the [vCard] "MAILER"
   property.

   (1.3.6.1.4.1.2309.1.1.1.1.11 NAME 'mailer'
        DESC 'electronic mail mailer'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.3 Geographical Attributes

8.3.1 TimeZone

   This attribute specifies the UTC offset for the nominal standard zone
   of the locale for the person or resource described by the
   vCardObject. This attribute corresponds to the [vCard] "TZ" property.



Dawson, O'Brien                    9               Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   (1.3.6.1.4.1.2309.1.1.1.1.12 NAME 'timeZone'
        DESC 'standard utc offset'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardTimeZone' SINGLE-VALUE)

8.3.2 GeoPosition

   This attribute specifies the longitude and latitude form of the
   global positioning information of the person or resource described by
   the vCardObject. This attribute corresponds to the [vCard] "GEO"
   property.

   (1.3.6.1.4.1.2309.1.1.1.1.13 NAME 'globalPosition'
        DESC 'global positioning information'
        EQUALITY vcCardFloatMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardPosition' SINGLE-VALUE)

8.4 Organizational Attributes

8.4.1 Title

   This attribute specifies the job title, functional position or
   function of the person or resource described by the vCardObject. This
   attribute corresponds to the [vCard] "TITLE" property.

   (1.3.6.1.4.1.2309.1.1.1.1.14 NAME 'title'
        DESC 'title'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.4.2 Role

   The attribute specifies the role, occupation or business category of
   the person or resource described by the vCardObject. This attribute
   corresponds to the [vCard] "ROLE" property.

   (1.3.6.1.4.1.2309.1.1.1.1.15 NAME 'role'
        DESC 'role'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.4.3 Logo

   This attribute specifies a graphical image of a logo associated with
   the vCardObject. This attribute corresponds to the [vCard] "LOGO"
   property.

   (1.3.6.1.4.1.2309.1.1.1.1.16 NAME 'logo'
        DESC 'logo'
        SYNTAX 'vCardImage' SINGLE-VALUE)






Dawson, O'Brien                    10              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


8.4.4 Agent

   This attribute specifies the globally unique identifier of another
   vCardObject that describes a person or resource that will act on
   behalf of the person or resource described by this vCardObject. This
   attribute corresponds to the [vCard] "AGENT" property.

   (1.3.6.1.4.1.2309.1.1.1.1.17 NAME 'agent'
        DESC 'agent'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.4.5 OrgNameUnits

   This attribute specifies the text components of the organizational
   name and units of the person or resource associated with the
   vCardObject. This attribute corresponds to the [vCard] "ORG"
   property. The attribute value consists of the organizational name
   followed by any organizational units. The components are separated by
   "$" or "#" characters.

   (1.3.6.1.4.1.2309.1.1.1.1.18 NAME 'orgNameUnits'
        DESC 'organizational name and units'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardOrgNameUnit{255} SINGLE-VALUE)

8.5 Explanatory Attributes

8.5.1 Comment

   This attribute specifies a textual comment or note associated with
   the vCardObject. This attribute corresponds to the [vCard] "NOTE"
   property.

   (1.3.6.1.4.1.2309.1.1.1.1.19 NAME 'comment
        DESC 'comment or note'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardMultiLineString{1023}' SINGLE-VALUE)

8.5.2 LastRevision

   The attribute specifies the date and time that the vCardObject was
   last revised. This attribute corresponds to the [vCard] "REV"
   property.

   (1.3.6.1.4.1.2309.1.1.1.1.20 NAME 'revision'
        DESC 'date and time of last revision'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardDateTime' SINGLE-VALUE)







Dawson, O'Brien                    11              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


8.5.3 Sound

   This attribute specifies a digital sound content that annotates some
   aspect of the person or resource described by the vCardObject. This
   attribute corresponds to the [vCard] "SOUND" property.

   (1.3.6.1.4.1.2309.1.1.1.1.21 NAME 'sound'
        DESC 'sound'
        SYNTAX 'vCardSound' SINGLE-VALUE)

8.5.4 URL

   This attribute specifies a uniform resource locator (URL) associated
   with the vCardObject. This attribute corresponds to the [vCard] "URL"
   property. This URL will allow subsequent access to the directory
   containing the vCardObject. The URL may be in the format defined for
   a LDAP URL by [LDAPURL].

   (1.3.6.1.4.1.2309.1.1.1.1.22 NAME 'url'
        DESC 'url'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.5.5 Version

   This attribute specifies the version of [VCARD] represented by the
   schema used in the vCardObject. This attribute corresponds to the
   [vCard] "VERSION" property.

   (1.3.6.1.4.1.2309.1.1.1.1.23 NAME 'version'
        DESC 'agent'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

8.6 Security Attributes

8.6.1 PublicKey

   The attribute specifies a public key or authentication certificate
   associated with the vCardObject. This attribute corresponds to the
   [vCard] "KEY" property. If the value of the attribute is a public
   key, then the value is encoded in the vCardString syntax. If the
   value of the attribute is a certificate, then the binary option must
   be specified and the value is an octet-string.

   (1.3.6.1.4.1.2309.1.1.1.1.24 NAME 'key'
        DESC 'key or certificate'
        EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringMatch
        SYNTAX 'vCardString{255}' SINGLE-VALUE)

9. Syntax Definitions

   The following syntax descriptions are defined by this schema. New
   syntax definitions were defined by this memo in order to assure an


Dawson, O'Brien                    12              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   unambiguous rendering of the directory information in a syntax
   consistent with the [VCARD]. Reuse of existing syntax definitions
   from either X.500 or other person schemas would not guarantee
   delivery of the directory information in a syntax consistent with
   [VCARD]. For example, the existing date/time syntax is not consistent
   with ISO 8601 or the emerging Internet date/time specification. The
   directory string syntax does not convey the form of the multi-line
   label text.

   Servers should recognize all the syntax definitions described in this
   memo.

9.1 VCardString

   Values with the vCardString syntax are encoded in the [UTF8] form.
   Servers and clients must be prepared to receive encodings of
   arbitrary Unicode characters. Values with the vCardString syntax are
   encoded according to the following BNF:

        string  = *char

        char    = <Any character in [UTF8]>

   (1.3.6.1.4.1.2309.1.1.1.1.25 DESC 'vCardString')

9.2 vCardName

   Values with the vCardName syntax are encoded as if they were
   vCardString types. The value is structured text consisting of the
   family name component, the given names component, the other names
   component, honorific prefix components and honorific suffix
   components. The value is encoded according to the following BNF:

        name    = family delim given [delim other [delim prefix
                  [delim sufix]]]

        space   = 1*" "
        delim   = "$" / "#"
        family  = 1*char
        given   = 1*char
        other   = 1*char / 1*char [space other]
        prefix  = 1*char / 1*char [space prefix]
        suffix  = 1*char / 1*char [space suffix]

   (1.3.6.1.4.1.2309.1.1.1.1.26 DESC 'vCardName')

9.3 vCardImage

   Values with the vCardImage syntax are encoded as graphical images in
   the format specified by the image type option. This can be any IANA
   registered graphical image format. These binary data formats must
   either be passed as a binary object using the binary encoding option
   or as packed binary text data when the base64 encoding option is
   specified.


Dawson, O'Brien                    13              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   (1.3.6.1.4.1.2309.1.1.1.1.27 DESC 'vCardImage')

9.4 vCardDate

   Values with the vCardDate syntax are encoded as if they were
   vCardString types. The values are text represenations of the calendar
   date as specified in ISO 8601 and by the following BNF:

        date            = fulldate

        digit           = <any [UTF8] decimal digit>    ;0-9
        date-fullyear   = 4digit
        date-month      = 2digit        ;01-12
        date-mday       = 2digit        ;01-28, 01-29, 01-30, 01-31
                                        ;based on month/year
        full-date       = date-fullyear date-month date-mday

   For example, the following represents July 14, 1997:

        19970714

   (1.3.6.1.4.1.2309.1.1.1.1.28 DESC 'vCardDate')

9.5 vCardDateTime

   Values with the vCardDateTime syntax are encoded as if they were
   vCardString types. The value is the text represenations of the
   calendar date and time of day as specified in ISO 8601 and by the
   following BNF:

        date-time       = date "T" time ;As specified above and below

        digit           =<any [UTF8] decimal digit>     ;0-9
        time-hour       = 2digit        ;00-23
        time-minute     = 2digit        ;00-59
        time-second     = 2digit        ;00-59
        time-numzone    = ("+" / "-") time-hour time-minute
        time-zone       = "Z" / time-numzone
        full-time       = time-hour time-minute time-second [time-zone]

        time    = fulltime

   (1.3.6.1.4.1.2309.1.1.1.1.29 DESC 'vCardDateTime')

9.6 vCardAddress

   Values with the vCardAddress syntax are encoded as if they were
   vCardString types. The value is structured text consisting of the
   extended component, post office box component, street address
   component, locality component, region component, postal code
   component and country component. If the address option includes
   indicates that the value is an international address, then the
   country component must be present. The syntax is specified by the
   following BNF:


Dawson, O'Brien                    14              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997



        address = [extcomp] delim [pobcomp] delim [stcomp] delim
                  [loccomp] delim [regcomp] delim [codcomp]
                  [delim ctrcomp]

        delim   = "$" / "#"
        space   = *" "
        char    = <Any character in [UTF8]>
        phrase  = 1*char / 1*char *(space 1*char)
        extcomp = phrase        ;Extended address
        pobcomp = phrase        ;Post Office Box
        stcomp  = phrase        ;Street address
        loccomp = phrase        ;Locality or city name
        regcomp = phrase        ;Region, state or province name
        codcomp = phrase        ;Postal code
        ctrcomp = phrase        ;Country name or code


   (1.3.6.1.4.1.2309.1.1.1.1.30 DESC 'vCardAddress')

9.7 vCardMultiLineString

   Value with the vCardMultiLineString syntax are encoded as if they
   were vCardString types. The value may consist of multiple lines of
   text as defined in [VCARD]. However, the multiple line values are
   specified in this syntax by the following BNF:

        char    = <Any character in [UTF8]>
        space   = 1*" "
        delim   = "$" / "#"
        linetext        = 1*char *(space 1*char)
        multiline       = 1*linetext

   (1.3.6.1.4.1.2309.1.1.1.1.31 DESC 'vCardMultiLineString')

9.8 vCardTimeZone

   Values with the vCardTimeZone syntax are encoded as if they were
   vCardString types. The value is the text represenations of the UTC
   offset specified in ISO 8601 and by the following BNF:

        time-numzone    = ("+" / "-") time-hour time-minute

        digit           =<any [UTF8] decimal digit>     ;0-9

   time-hour    = 2DIGIT        ;00-23time-minute       = 2DIGIT
        ;00-59

   (1.3.6.1.4.1.2309.1.1.1.1.32 DESC 'vCardTimeZone')







Dawson, O'Brien                    15              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


9.9 vCardTelephone

   Values with the vCardTelephone syntax are encoded as if they were
   vCardString types. Telephone numbers are recommended to be in
   international form.

   (1.3.6.1.4.1.2309.1.1.1.1.33 DESC 'vCardTelephone')

9.10 vCardPosition

   Values with the vCardPosition syntax are encoded as if they were
   vCardString types. The value is structured text consisting of the
   floating point longitude global position followed by the latitude
   global position and by the following BNF:

        position        = float delim float

        delim           = "$" / "#"
        digit           = <any [UTF8] decimal digit>    ;0-9
        float           = ["+" / "-"] *DIGIT ["." *DIGIT]

   (1.3.6.1.4.1.2309.1.1.1.1.34 DESC 'vCardPosition')

9.11 vCardOrgNameUnit

   Values with the vCardOrgNameUnit syntax are encoded as if they were
   vCardString types. The value is structured text consisting of the
   organizational name component followed by any organization unit
   names. The value is encoded according to the following BNF:

        organ   = orgname [orgunit]

        delim   = "$" / "#"
        orgname = 1*char
        orgunit = delim 1*char [orgunit]

   (1.3.6.1.4.1.2309.1.1.1.1.35 DESC 'vCardOrgNameUnit')

9.12 vCardSound

   Values with the vCardSound syntax are encoded as digital audio in the
   format specified by the sound type option. This can be any IANA
   registered digital audio format. This binary data must either be
   passed as a binary object using the binary encoding option or as
   packed binary text data when the base64 encoding option is specified.

   (1.3.6.1.4.1.2309.1.1.1.1.36 DESC 'vCardSound')

10. Matching Rule Definitions

   The vCardObject data is primarily encoded as textual information.
   Therefore, only the following matching rules from [LDAPSYN] are
   required by this schema.



Dawson, O'Brien                    16              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   caseIgnoreMatch
   caseIgnoreSubstringMatch

   Servers should allow all matching rules listed in this section to be
   used in the extensibleMatch. In general, these servers should allow
   matching rules to be used with all attribute types known to the
   server, when the assertion syntax of the matching rule is the same at
   the value syntax of the attribute.

   Servers may implement additional matching rules.

   For all these rules, the assertion syntax is the same as the value
   syntax.

   When performing the caseIgnoreMatch and caseIgnoreSubstringMatch,
   multiple adjoining whitespace characters are treated the same, as an
   individual space, and leading and trailing whitespace is ignored.

11. Example Usage

   The following is an example of LDAP URL query to get the formatted
   name and work telephone number for anyone in the USA named Smith.

        ldap:///c=US?formattedName,telephoneNumber;work??(formattedName=
        Smith*)

   The following is an example of a vCardObject using the LDIF format of
   [LDIF].

        dn: formattedName = John Smith
        objectClass: top
        objectClass: vCardObject
        formattedName: John Smith
        structuredName: Smith$John
        uid: 19970708T113000-ds01@host.com-10373AFBC38391
        deliveryAddress;work;postal: MS101$PO Box 1234$1024 B
        St.$Columbia$MO$65201$USA
        deliveryLabel;work;parcel:1024 B St.$Columbia, MO 65201$USA
        telephoneNumber;work;msg;voice;pref: +1-314-555-1234
        telephoneNumber;work;voice:+1-314-555-1236
        telephoneNumber;work;fax:+1-314-555-9876
        eMail: john.smith@host1.com
        title: V.P. Engineering
        orgNameUnits: TigerSoft$MidWest Region$MSG$Financial Services
        version: 2.1

12. Security Considerations

   In addition to the security considerations specified in [LDAPV3] the
   following considerations should be reviewed by implementors of this
   memo.





Dawson, O'Brien                    17              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


12.1 Disclosure

   Attributes of directory entries are used to provide descriptive
   information about the real-word objects they represent, which be
   people or resources. Most countries have privacy laws regarding the
   publication of information about people.

12.2 Security Concerns

   The [VCARD] specification provides a robust schema for representing
   information about people or resources. Publication of this
   information in Internet directories providing LDAP support for this
   schema may provide an inadvertent means for unauthorized use of the
   information once it has been retrieved. Care should be taken in
   managing both the access of directories containing personal data.

   In addition, the flexible nature of the vCard format may facilitate
   the spoofing of a person or resource or other such fraudulent
   activities by an untrusted individual. Care should be taken to
   authenticate the originator of any vCard based personal data.

13. Acknowledgments

   This document is based on the [VCARD] specification. This work is
   heavily influenced by the early contributions of Roland Alden, Gary
   Hand, Pat Megowan and others who helped draft the original
   specification.

   In addition, the following have participated in the review and
   discussion of this memo:

   Roland Alden, Harald Alvestrand, Mike Dugan, Alec Dun, David Goodman,
   Bruce Greenblatt, Frode Hernes, Paul Hoffman, Tim Howes, Burton Lee,
   Chris Newman, Dave Mease, Vinod Seraphin, Richard Shusterman, and
   Mark Wahl.

14. Bibliography

   [X500] ITU-T Recommendations. X.500-X.525 Series, "The Directory
   Services", 1993.

   [LDAPSYN] M. Wahl, A. Coulbeck, T. Howes, S. Kille, "Lightweight
   Directory Access Protocol (v3): Attribute Syntax Definitions",
   INTERNET-DRAFT <draft-ietf-asid-ldapv3-attributes-05.txt>, June 1997.

   [LDAPURL] T. Howe, M. Smith, "The LDAP URL Format", INTERNET-DRAFT
   <draft-ietf-asid-ldapv3-url-03.txt, June 1997.

   [LDAPV3] M. Wahl, T. Howes, S. Kille, "Lightweight Directory Access
   Protocol (Version 3)", INTERNET-DRAFT <draft-ietf-asid-ldapv3-
   protocol-05.txt>, June 1997.





Dawson, O'Brien                    18              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


   [LDAPX500] M. Wahl, "A Summary of the X.500(93) User Schema for use
   with LDAPv3", INTERNET-DRAFT <draft-ietf-asid-ldapv3schema-x500-
   00.txt>, March 1997.

   [LDIF] G. Good, "The LDAP Data Interchange Format (LDIF) _ Technical
   Specification", INTERNET-DRAFT <draft-ietf-asid-ldif-01.txt>.

   [RFC822] D. Crocker, "Standard of the Format of ARPA-Internet Text
   Messages", STD 11, RFC 822, August 1982.

   [RFC1766] H. Alvestrand, " Tags for the Identification of Languages",
   RFC 1766, March 1995.

   [RFC2045] N. Freed, N. Borenstein, "Multipurpose Internet Mail
   Extensions (MIME) Part One: Format of Internet Message Bodies", RFC
   2045, November 1996.

   [UTF8] F. Yergeau, "UTF-8, a transformation format of Unicode and ISO
   10646", RFC 2044, October 1996.

   [US-ASCII] Coded Character Set--7-bit American Standard Code for
   Information Interchange, ANSI X3.4-1986.

   [VCARD] F. Dawson, T. Howes, "vCard MIME Directory Profile",
   INTERNET-DRAFT <draft-ietf-asid-vcard-02.txt>, March 1997.

15. Author's Address

   The following address information is provided in the IETF vCard,
   Electronic Business Card, format.
   BEGIN:VCARD
   VERSION:2.1
   FN:Frank Dawson
   ORG:Lotus Development Corporation
   ADR;WORK;POSTAL;PARCEL:;;6544 Battleford Drive;Raleigh;
    NC;27613-3502;USA
   TEL;WORK;MSG:+1-919-676-9512
   TEL;WORK;FAX:+1-919-676-9564
   EMAIL;INTERNET;WORK;PREF:Frank_Dawson@Lotus.com
   EMAIL;INTERNET:fdawson@earthlink.net
   URL:http://home.earthlink.net/~fdawson
   END:VCARD

   BEGIN:VCARD
   VERSION:2.1
   FN:Mike O'Brien
   ORG:Iris Associates
   ADR;WORK;POSTAL;PARCEL:;; One Technology Park Drive;Westford;
    MA; 01886;USA
   TEL;WORK;MSG:+1-508-692-9265
   TEL;WORK;FAX:+1-919-692-7365
   EMAIL;INTERNET;WORK:MOBrien@iris.com
   END:VCARD



Dawson, O'Brien                    19              Expires January 1998


Internet Draft     The vCard Schema For Use In LDAPv3      July 8, 1997


























































Dawson, O'Brien                    20              Expires January 1998