Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 6350

vCard Format Specification

Pages: 74
Proposed Standard
Errata
Obsoletes:  242524264770
Updates:  2739
Updated by:  6868
Part 3 of 3 – Pages 51 to 74
First   Prev   None

Top   ToC   RFC6350 - Page 51   prevText

7. Synchronization

vCard data often needs to be synchronized between devices. In this context, synchronization is defined as the intelligent merging of two representations of the same object. vCard 4.0 includes mechanisms to aid this process.

7.1. Mechanisms

Two mechanisms are available: the UID property is used to match multiple instances of the same vCard, while the PID parameter is used to match multiple instances of the same property. The term "matching" is used here to mean recognizing that two instances are in fact representations of the same object. For example, a single vCard that is shared with someone results in two vCard instances. After they have evolved separately, they still represent the same object, and therefore may be matched by a synchronization engine.

7.1.1. Matching vCard Instances

vCard instances for which the UID properties (Section 6.7.6) are equivalent MUST be matched. Equivalence is determined as specified in [RFC3986], Section 6.
Top   ToC   RFC6350 - Page 52
   In all other cases, vCard instances MAY be matched at the discretion
   of the synchronization engine.

7.1.2. Matching Property Instances

Property instances belonging to unmatched vCards MUST NOT be matched. Property instances whose name (e.g., EMAIL, TEL, etc.) is not the same MUST NOT be matched. Property instances whose name is CLIENTPIDMAP are handled separately and MUST NOT be matched. The synchronization MUST ensure that there is consistency of CLIENTPIDMAPs among matched vCard instances. Property instances belonging to matched vCards, whose name is the same, and whose maximum cardinality is 1, MUST be matched. Property instances belonging to matched vCards, whose name is the same, and whose PID parameters match, MUST be matched. See Section 7.1.3 for details on PID matching. In all other cases, property instances MAY be matched at the discretion of the synchronization engine.

7.1.3. PID Matching

Two PID values for which the first fields are equivalent represent the same local value. Two PID values representing the same local value and for which the second fields point to CLIENTPIDMAP properties whose second field URIs are equivalent (as specified in [RFC3986], Section 6) also represent the same global value. PID parameters for which at least one pair of their values represent the same global value MUST be matched. In all other cases, PID parameters MAY be matched at the discretion of the synchronization engine. For example, PID value "5.1", in the first vCard below, and PID value "5.2", in the second vCard below, represent the same global value.
Top   ToC   RFC6350 - Page 53
     BEGIN:VCARD
     VERSION:4.0
     EMAIL;PID=4.2,5.1:jdoe@example.com
     CLIENTPIDMAP:1;urn:uuid:3eef374e-7179-4196-a914-27358c3e6527
     CLIENTPIDMAP:2;urn:uuid:42bcd5a7-1699-4514-87b4-056edf68e9cc
     END:VCARD

     BEGIN:VCARD
     VERSION:4.0
     EMAIL;PID=5.1,5.2:john@example.com
     CLIENTPIDMAP:1;urn:uuid:0c75c629-6a8d-4d5e-a07f-1bb35846854d
     CLIENTPIDMAP:2;urn:uuid:3eef374e-7179-4196-a914-27358c3e6527
     END:VCARD

7.2. Example

7.2.1. Creation

The following simple vCard is first created on a given device. BEGIN:VCARD VERSION:4.0 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 FN;PID=1.1:J. Doe N:Doe;J.;;; EMAIL;PID=1.1:jdoe@example.com CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 END:VCARD This new vCard is assigned the UID "urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1" by the creating device. The FN and EMAIL properties are assigned the same local value of 1, and this value is given global context by associating it with "urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556", which represents the creating device. We are at liberty to reuse the same local value since instances of different properties will never be matched. The N property has no PID because it is forbidden by its maximum cardinality of 1.

7.2.2. Initial Sharing

This vCard is shared with a second device. Upon inspecting the UID property, the second device understands that this is a new vCard (i.e., unmatched) and thus the synchronization results in a simple copy.
Top   ToC   RFC6350 - Page 54

7.2.3. Adding and Sharing a Property

A new phone number is created on the first device, then the vCard is shared with the second device. This is what the second device receives: BEGIN:VCARD VERSION:4.0 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 FN;PID=1.1:J. Doe N:Doe;J.;;; EMAIL;PID=1.1:jdoe@example.com TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 END:VCARD Upon inspecting the UID property, the second device matches the vCard it received to the vCard that it already has stored. It then starts comparing the properties of the two vCards in same-named pairs. The FN properties are matched because the PID parameters have the same global value. Since the property value is the same, no update takes place. The N properties are matched automatically because their maximum cardinality is 1. Since the property value is the same, no update takes place. The EMAIL properties are matched because the PID parameters have the same global value. Since the property value is the same, no update takes place. The TEL property in the new vCard is not matched to any in the stored vCard because no property in the stored vCard has the same name. Therefore, this property is copied from the new vCard to the stored vCard. The CLIENTPIDMAP property is handled separately by the synchronization engine. It ensures that it is consistent with the stored one. If it was not, the results would be up to the synchronization engine, and thus undefined by this document.

7.2.4. Simultaneous Editing

A new email address and a new phone number are added to the vCard on each of the two devices, and then a new synchronization event happens. Here are the vCards that are communicated to each other:
Top   ToC   RFC6350 - Page 55
     BEGIN:VCARD
     VERSION:4.0
     UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
     FN;PID=1.1:J. Doe
     N:Doe;J.;;;
     EMAIL;PID=1.1:jdoe@example.com
     EMAIL;PID=2.1:boss@example.com
     TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
     TEL;PID=2.1;VALUE=uri:tel:+1-666-666-6666
     CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
     END:VCARD

     BEGIN:VCARD
     VERSION:4.0
     UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
     FN;PID=1.1:J. Doe
     N:Doe;J.;;;
     EMAIL;PID=1.1:jdoe@example.com
     EMAIL;PID=2.2:ceo@example.com
     TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
     TEL;PID=2.2;VALUE=uri:tel:+1-666-666-6666
     CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
     CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee
     END:VCARD

   On the first device, the same PID source identifier (1) is reused for
   the new EMAIL and TEL properties.  On the second device, a new source
   identifier (2) is generated, and a corresponding CLIENTPIDMAP
   property is created.  It contains the second device's identifier,
   "urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee".

   The new EMAIL properties are unmatched on both sides since the PID
   global value is new in both cases.  The sync thus results in a copy
   on both sides.

   Although the situation appears to be the same for the TEL properties,
   in this case, the synchronization engine is particularly smart and
   matches the two new TEL properties even though their PID global
   values are different.  Note that in this case, the rules of
   Section 7.1.2 state that two properties MAY be matched at the
   discretion of the synchronization engine.  Therefore, the two
   properties are merged.

   All this results in the following vCard, which is stored on both
   devices:
Top   ToC   RFC6350 - Page 56
     BEGIN:VCARD
     VERSION:4.0
     UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
     FN:J. Doe
     N:Doe;J.;;;
     EMAIL;PID=1.1:jdoe@example.com
     EMAIL;PID=2.1:boss@example.com
     EMAIL;PID=2.2:ceo@example.com
     TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
     TEL;PID=2.1,2.2;VALUE=uri:tel:+1-666-666-6666
     CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
     CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee
     END:VCARD

7.2.5. Global Context Simplification

The two devices finish their synchronization procedure by simplifying their global contexts. Since they haven't talked to any other device, the following vCard is for all purposes equivalent to the above. It is also shorter. BEGIN:VCARD VERSION:4.0 UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1 FN:J. Doe N:Doe;J.;;; EMAIL;PID=1.1:jdoe@example.com EMAIL;PID=2.1:boss@example.com EMAIL;PID=3.1:ceo@example.com TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555 TEL;PID=2.1;VALUE=uri:tel:+1-666-666-6666 CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556 END:VCARD The details of global context simplification are unspecified by this document. They are left up to the synchronization engine. This example is merely intended to illustrate the possibility, which investigating would be, in the author's opinion, worthwhile.

8. Example: Author's vCard

BEGIN:VCARD VERSION:4.0 FN:Simon Perreault N:Perreault;Simon;;;ing. jr,M.Sc. BDAY:--0203 ANNIVERSARY:20090808T1430-0500 GENDER:M
Top   ToC   RFC6350 - Page 57
    LANG;PREF=1:fr
    LANG;PREF=2:en
    ORG;TYPE=work:Viagenie
    ADR;TYPE=work:;Suite D2-630;2875 Laurier;
     Quebec;QC;G1V 2M2;Canada
    TEL;VALUE=uri;TYPE="work,voice";PREF=1:tel:+1-418-656-9254;ext=102
    TEL;VALUE=uri;TYPE="work,cell,voice,video,text":tel:+1-418-262-6501
    EMAIL;TYPE=work:simon.perreault@viagenie.ca
    GEO;TYPE=work:geo:46.772673,-71.282945
    KEY;TYPE=work;VALUE=uri:
     http://www.viagenie.ca/simon.perreault/simon.asc
    TZ:-0500
    URL;TYPE=home:http://nomis80.org
    END:VCARD

9. Security Considerations

o Internet mail is often used to transport vCards and is subject to many well-known security attacks, including monitoring, replay, and forgery. Care should be taken by any directory service in allowing information to leave the scope of the service itself, where any access controls or confidentiality can no longer be guaranteed. Applications should also take care to display directory data in a "safe" environment. o vCards can carry cryptographic keys or certificates, as described in Section 6.8.1. o vCards often carry information that can be sensitive (e.g., birthday, address, and phone information). Although vCards have no inherent authentication or confidentiality provisions, they can easily be carried by any security mechanism that transfers MIME objects to address authentication or confidentiality (e.g., S/MIME [RFC5751], OpenPGP [RFC4880]). In cases where the confidentiality or authenticity of information contained in vCard is a concern, the vCard SHOULD be transported using one of these secure mechanisms. The KEY property (Section 6.8.1) can be used to transport the public key used by these mechanisms. o The information in a vCard may become out of date. In cases where the vitality of data is important to an originator of a vCard, the SOURCE property (Section 6.1.3) SHOULD be specified. In addition, the "REV" type described in Section 6.7.4 can be specified to indicate the last time that the vCard data was updated. o Many vCard properties may be used to transport URIs. Please refer to [RFC3986], Section 7, for considerations related to URIs.
Top   ToC   RFC6350 - Page 58

10. IANA Considerations

10.1. Media Type Registration

IANA has registered the following Media Type (in <http://www.iana.org/>) and marked the text/directory Media Type as DEPRECATED. To: ietf-types@iana.org Subject: Registration of media type text/vcard Type name: text Subtype name: vcard Required parameters: none Optional parameters: version The "version" parameter is to be interpreted identically as the VERSION vCard property. If this parameter is present, all vCards in a text/vcard body part MUST have a VERSION property with value identical to that of this MIME parameter. "charset": as defined for text/plain [RFC2046]; encodings other than UTF-8 [RFC3629] MUST NOT be used. Encoding considerations: 8bit Security considerations: See Section 9. Interoperability considerations: The text/vcard media type is intended to identify vCard data of any version. There are older specifications of vCard [RFC2426][vCard21] still in common use. While these formats are similar, they are not strictly compatible. In general, it is necessary to inspect the value of the VERSION property (see Section 6.7.9) for identifying the standard to which a given vCard object conforms. In addition, the following media types are known to have been used to refer to vCard data. They should be considered deprecated in favor of text/vcard. * text/directory * text/directory; profile=vcard * text/x-vcard
Top   ToC   RFC6350 - Page 59
   Published specification:  RFC 6350

   Applications that use this media type:  They are numerous, diverse,
      and include mail user agents, instant messaging clients, address
      book applications, directory servers, and customer relationship
      management software.

   Additional information:

      Magic number(s):

      File extension(s):  .vcf .vcard

      Macintosh file type code(s):

   Person & email address to contact for further information:  vCard
      discussion mailing list <vcarddav@ietf.org>

   Intended usage:  COMMON

   Restrictions on usage:  none

   Author:  Simon Perreault

   Change controller:  IETF

10.2. Registering New vCard Elements

This section defines the process for registering new or modified vCard elements (i.e., properties, parameters, value data types, and values) with IANA.

10.2.1. Registration Procedure

The IETF has created a mailing list, vcarddav@ietf.org, which can be used for public discussion of vCard element proposals prior to registration. Use of the mailing list is strongly encouraged. The IESG has appointed a designated expert who will monitor the vcarddav@ietf.org mailing list and review registrations. Registration of new vCard elements MUST be reviewed by the designated expert and published in an RFC. A Standards Track RFC is REQUIRED for the registration of new value data types that modify existing properties. A Standards Track RFC is also REQUIRED for registration of vCard elements that modify vCard elements previously documented in a Standards Track RFC.
Top   ToC   RFC6350 - Page 60
   The registration procedure begins when a completed registration
   template, defined in the sections below, is sent to vcarddav@ietf.org
   and iana@iana.org.  Within two weeks, the designated expert is
   expected to tell IANA and the submitter of the registration whether
   the registration is approved, approved with minor changes, or
   rejected with cause.  When a registration is rejected with cause, it
   can be re-submitted if the concerns listed in the cause are
   addressed.  Decisions made by the designated expert can be appealed
   to the IESG Applications Area Director, then to the IESG.  They
   follow the normal appeals procedure for IESG decisions.

   Once the registration procedure concludes successfully, IANA creates
   or modifies the corresponding record in the vCard registry.  The
   completed registration template is discarded.

   An RFC specifying new vCard elements MUST include the completed
   registration templates, which MAY be expanded with additional
   information.  These completed templates are intended to go in the
   body of the document, not in the IANA Considerations section.

   Finally, note that there is an XML representation for vCard defined
   in [RFC6351].  An XML representation SHOULD be defined for new vCard
   elements.

10.2.2. Vendor Namespace

The vendor namespace is used for vCard elements associated with commercially available products. "Vendor" or "producer" are construed as equivalent and very broadly in this context. A registration may be placed in the vendor namespace by anyone who needs to interchange files associated with the particular product. However, the registration formally belongs to the vendor or organization handling the vCard elements in the namespace being registered. Changes to the specification will be made at their request, as discussed in subsequent sections. vCard elements belonging to the vendor namespace will be distinguished by the "VND-" prefix. This is followed by an IANA- registered Private Enterprise Number (PEN), a dash, and a vCard element designation of the vendor's choosing (e.g., "VND-123456- MUDPIE"). While public exposure and review of vCard elements to be registered in the vendor namespace are not required, using the vcarddav@ietf.org mailing list for review is strongly encouraged to improve the quality of those specifications. Registrations in the vendor namespace may be submitted directly to the IANA.
Top   ToC   RFC6350 - Page 61

10.2.3. Registration Template for Properties

A property is defined by completing the following template. Namespace: Empty for the global namespace, "VND-NNNN-" for a vendor- specific property (where NNNN is replaced by the vendor's PEN). Property name: The name of the property. Purpose: The purpose of the property. Give a short but clear description. Value type: Any of the valid value types for the property value needs to be specified. The default value type also needs to be specified. Cardinality: See Section 6. Property parameters: Any of the valid property parameters for the property MUST be specified. Description: Any special notes about the property, how it is to be used, etc. Format definition: The ABNF for the property definition needs to be specified. Example(s): One or more examples of instances of the property need to be specified.

10.2.4. Registration Template for Parameters

A parameter is defined by completing the following template. Namespace: Empty for the global namespace, "VND-NNNN-" for a vendor- specific property (where NNNN is replaced by the vendor's PEN). Parameter name: The name of the parameter. Purpose: The purpose of the parameter. Give a short but clear description. Description: Any special notes about the parameter, how it is to be used, etc. Format definition: The ABNF for the parameter definition needs to be specified.
Top   ToC   RFC6350 - Page 62
   Example(s):  One or more examples of instances of the parameter need
      to be specified.

10.2.5. Registration Template for Value Data Types

A value data type is defined by completing the following template. Value name: The name of the value type. Purpose: The purpose of the value type. Give a short but clear description. Description: Any special notes about the value type, how it is to be used, etc. Format definition: The ABNF for the value type definition needs to be specified. Example(s): One or more examples of instances of the value type need to be specified.

10.2.6. Registration Template for Values

A value is defined by completing the following template. Value: The value literal. Purpose: The purpose of the value. Give a short but clear description. Conformance: The vCard properties and/or parameters that can take this value needs to be specified. Example(s): One or more examples of instances of the value need to be specified. The following is a fictitious example of a registration of a vCard value: Value: supervisor Purpose: It means that the related entity is the direct hierarchical superior (i.e., supervisor or manager) of the entity this vCard represents. Conformance: This value can be used with the "TYPE" parameter applied on the "RELATED" property.
Top   ToC   RFC6350 - Page 63
   Example(s):

   RELATED;TYPE=supervisor:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6

10.3. Initial vCard Elements Registries

The IANA has created and will maintain the following registries for vCard elements with pointers to appropriate reference documents. The registries are grouped together under the heading "vCard Elements".
Top   ToC   RFC6350 - Page 64

10.3.1. Properties Registry

The following table has been used to initialize the properties registry. +-----------+--------------+-------------------------+ | Namespace | Property | Reference | +-----------+--------------+-------------------------+ | | SOURCE | RFC 6350, Section 6.1.3 | | | KIND | RFC 6350, Section 6.1.4 | | | XML | RFC 6350, Section 6.1.5 | | | FN | RFC 6350, Section 6.2.1 | | | N | RFC 6350, Section 6.2.2 | | | NICKNAME | RFC 6350, Section 6.2.3 | | | PHOTO | RFC 6350, Section 6.2.4 | | | BDAY | RFC 6350, Section 6.2.5 | | | ANNIVERSARY | RFC 6350, Section 6.2.6 | | | GENDER | RFC 6350, Section 6.2.7 | | | ADR | RFC 6350, Section 6.3.1 | | | TEL | RFC 6350, Section 6.4.1 | | | EMAIL | RFC 6350, Section 6.4.2 | | | IMPP | RFC 6350, Section 6.4.3 | | | LANG | RFC 6350, Section 6.4.4 | | | TZ | RFC 6350, Section 6.5.1 | | | GEO | RFC 6350, Section 6.5.2 | | | TITLE | RFC 6350, Section 6.6.1 | | | ROLE | RFC 6350, Section 6.6.2 | | | LOGO | RFC 6350, Section 6.6.3 | | | ORG | RFC 6350, Section 6.6.4 | | | MEMBER | RFC 6350, Section 6.6.5 | | | RELATED | RFC 6350, Section 6.6.6 | | | CATEGORIES | RFC 6350, Section 6.7.1 | | | NOTE | RFC 6350, Section 6.7.2 | | | PRODID | RFC 6350, Section 6.7.3 | | | REV | RFC 6350, Section 6.7.4 | | | SOUND | RFC 6350, Section 6.7.5 | | | UID | RFC 6350, Section 6.7.6 | | | CLIENTPIDMAP | RFC 6350, Section 6.7.7 | | | URL | RFC 6350, Section 6.7.8 | | | VERSION | RFC 6350, Section 6.7.9 | | | KEY | RFC 6350, Section 6.8.1 | | | FBURL | RFC 6350, Section 6.9.1 | | | CALADRURI | RFC 6350, Section 6.9.2 | | | CALURI | RFC 6350, Section 6.9.3 | +-----------+--------------+-------------------------+
Top   ToC   RFC6350 - Page 65

10.3.2. Parameters Registry

The following table has been used to initialize the parameters registry. +-----------+-----------+------------------------+ | Namespace | Parameter | Reference | +-----------+-----------+------------------------+ | | LANGUAGE | RFC 6350, Section 5.1 | | | VALUE | RFC 6350, Section 5.2 | | | PREF | RFC 6350, Section 5.3 | | | ALTID | RFC 6350, Section 5.4 | | | PID | RFC 6350, Section 5.5 | | | TYPE | RFC 6350, Section 5.6 | | | MEDIATYPE | RFC 6350, Section 5.7 | | | CALSCALE | RFC 6350, Section 5.8 | | | SORT-AS | RFC 6350, Section 5.9 | | | GEO | RFC 6350, Section 5.10 | | | TZ | RFC 6350, Section 5.11 | +-----------+-----------+------------------------+

10.3.3. Value Data Types Registry

The following table has been used to initialize the parameters registry. +------------------+-------------------------+ | Value Data Type | Reference | +------------------+-------------------------+ | BOOLEAN | RFC 6350, Section 4.4 | | DATE | RFC 6350, Section 4.3.1 | | DATE-AND-OR-TIME | RFC 6350, Section 4.3.4 | | DATE-TIME | RFC 6350, Section 4.3.3 | | FLOAT | RFC 6350, Section 4.6 | | INTEGER | RFC 6350, Section 4.5 | | LANGUAGE-TAG | RFC 6350, Section 4.8 | | TEXT | RFC 6350, Section 4.1 | | TIME | RFC 6350, Section 4.3.2 | | TIMESTAMP | RFC 6350, Section 4.3.5 | | URI | RFC 6350, Section 4.2 | | UTC-OFFSET | RFC 6350, Section 4.7 | +------------------+-------------------------+
Top   ToC   RFC6350 - Page 66

10.3.4. Values Registries

Separate tables are used for property and parameter values. The following table is to be used to initialize the property values registry. +----------+------------+-------------------------+ | Property | Value | Reference | +----------+------------+-------------------------+ | BEGIN | VCARD | RFC 6350, Section 6.1.1 | | END | VCARD | RFC 6350, Section 6.1.2 | | KIND | individual | RFC 6350, Section 6.1.4 | | KIND | group | RFC 6350, Section 6.1.4 | | KIND | org | RFC 6350, Section 6.1.4 | | KIND | location | RFC 6350, Section 6.1.4 | +----------+------------+-------------------------+ The following table has been used to initialize the parameter values registry.
Top   ToC   RFC6350 - Page 67
   +------------------------+-----------+--------------+---------------+
   | Property               | Parameter | Value        | Reference     |
   +------------------------+-----------+--------------+---------------+
   | FN, NICKNAME, PHOTO,   | TYPE      | work         | RFC 6350,     |
   | ADR, TEL, EMAIL, IMPP, |           |              | Section 5.6   |
   | LANG, TZ, GEO, TITLE,  |           |              |               |
   | ROLE, LOGO, ORG,       |           |              |               |
   | RELATED, CATEGORIES,   |           |              |               |
   | NOTE, SOUND, URL, KEY, |           |              |               |
   | FBURL, CALADRURI, and  |           |              |               |
   | CALURI                 |           |              |               |
   | FN, NICKNAME, PHOTO,   | TYPE      | home         | RFC 6350,     |
   | ADR, TEL, EMAIL, IMPP, |           |              | Section 5.6   |
   | LANG, TZ, GEO, TITLE,  |           |              |               |
   | ROLE, LOGO, ORG,       |           |              |               |
   | RELATED, CATEGORIES,   |           |              |               |
   | NOTE, SOUND, URL, KEY, |           |              |               |
   | FBURL, CALADRURI, and  |           |              |               |
   | CALURI                 |           |              |               |
   | TEL                    | TYPE      | text         | RFC 6350,     |
   |                        |           |              | Section 6.4.1 |
   | TEL                    | TYPE      | voice        | RFC 6350,     |
   |                        |           |              | Section 6.4.1 |
   | TEL                    | TYPE      | fax          | RFC 6350,     |
   |                        |           |              | Section 6.4.1 |
   | TEL                    | TYPE      | cell         | RFC 6350,     |
   |                        |           |              | Section 6.4.1 |
   | TEL                    | TYPE      | video        | RFC 6350,     |
   |                        |           |              | Section 6.4.1 |
   | TEL                    | TYPE      | pager        | RFC 6350,     |
   |                        |           |              | Section 6.4.1 |
   | TEL                    | TYPE      | textphone    | RFC 6350,     |
   |                        |           |              | Section 6.4.1 |
   | BDAY, ANNIVERSARY      | CALSCALE  | gregorian    | RFC 6350,     |
   |                        |           |              | Section 5.8   |
   | RELATED                | TYPE      | contact      | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | acquaintance | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | friend       | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | met          | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
Top   ToC   RFC6350 - Page 68
   | RELATED                | TYPE      | co-worker    | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | colleague    | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | co-resident  | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | neighbor     | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | child        | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | parent       | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | sibling      | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | spouse       | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | kin          | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | muse         | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | crush        | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | date         | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | sweetheart   | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | me           | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   |                        |           |              | and [xfn]     |
   | RELATED                | TYPE      | agent        | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   | RELATED                | TYPE      | emergency    | RFC 6350,     |
   |                        |           |              | Section 6.6.6 |
   +------------------------+-----------+--------------+---------------+
Top   ToC   RFC6350 - Page 69

11. Acknowledgments

The authors would like to thank Tim Howes, Mark Smith, and Frank Dawson, the original authors of [RFC2425] and [RFC2426], Pete Resnick, who got this effort started and provided help along the way, as well as the following individuals who have participated in the drafting, review, and discussion of this memo: Aki Niemi, Andy Mabbett, Alexander Mayrhofer, Alexey Melnikov, Anil Srivastava, Barry Leiba, Ben Fortuna, Bernard Desruisseaux, Bernie Hoeneisen, Bjoern Hoehrmann, Caleb Richardson, Chris Bryant, Chris Newman, Cyrus Daboo, Daisuke Miyakawa, Dan Brickley, Dan Mosedale, Dany Cauchie, Darryl Champagne, Dave Thewlis, Filip Navara, Florian Zeitz, Helge Hess, Jari Urpalainen, Javier Godoy, Jean-Luc Schellens, Joe Hildebrand, Jose Luis Gayosso, Joseph Smarr, Julian Reschke, Kepeng Li, Kevin Marks, Kevin Wu Won, Kurt Zeilenga, Lisa Dusseault, Marc Blanchet, Mark Paterson, Markus Lorenz, Michael Haardt, Mike Douglass, Nick Levinson, Peter K. Sheerin, Peter Mogensen, Peter Saint-Andre, Renato Iannella, Rohit Khare, Sly Gryphon, Stephane Bortzmeyer, Tantek Celik, and Zoltan Ordogh.

12. References

12.1. Normative References

[CCITT.X520.1988] International Telephone and Telegraph Consultative Committee, "Information Technology - Open Systems Interconnection - The Directory: Selected Attribute Types", CCITT Recommendation X.520, November 1988. [IEEE.754.2008] Institute of Electrical and Electronics Engineers, "Standard for Binary Floating-Point Arithmetic", IEEE Standard 754, August 2008. [ISO.8601.2000] International Organization for Standardization, "Data elements and interchange formats - Information interchange - Representation of dates and times", ISO Standard 8601, December 2000. [ISO.8601.2004] International Organization for Standardization, "Data elements and interchange formats - Information interchange - Representation of dates and times", ISO Standard 8601, December 2004.
Top   ToC   RFC6350 - Page 70
   [RFC2045]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
              Extensions (MIME) Part One: Format of Internet Message
              Bodies", RFC 2045, November 1996.

   [RFC2046]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
              Extensions (MIME) Part Two: Media Types", RFC 2046,
              November 1996.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2739]  Small, T., Hennessy, D., and F. Dawson, "Calendar
              Attributes for vCard and LDAP", RFC 2739, January 2000.

   [RFC3629]  Yergeau, F., "UTF-8, a transformation format of ISO
              10646", STD 63, RFC 3629, November 2003.

   [RFC3966]  Schulzrinne, H., "The tel URI for Telephone Numbers",
              RFC 3966, December 2004.

   [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
              Resource Identifier (URI): Generic Syntax", STD 66,
              RFC 3986, January 2005.

   [RFC4122]  Leach, P., Mealling, M., and R. Salz, "A Universally
              Unique IDentifier (UUID) URN Namespace", RFC 4122,
              July 2005.

   [RFC4288]  Freed, N. and J. Klensin, "Media Type Specifications and
              Registration Procedures", BCP 13, RFC 4288, December 2005.

   [RFC5234]  Crocker, D. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", STD 68, RFC 5234, January 2008.

   [RFC5322]  Resnick, P., Ed., "Internet Message Format", RFC 5322,
              October 2008.

   [RFC5545]  Desruisseaux, B., "Internet Calendaring and Scheduling
              Core Object Specification (iCalendar)", RFC 5545,
              September 2009.

   [RFC5546]  Daboo, C., "iCalendar Transport-Independent
              Interoperability Protocol (iTIP)", RFC 5546,
              December 2009.

   [RFC5646]  Phillips, A. and M. Davis, "Tags for Identifying
              Languages", BCP 47, RFC 5646, September 2009.
Top   ToC   RFC6350 - Page 71
   [RFC5870]  Mayrhofer, A. and C. Spanring, "A Uniform Resource
              Identifier for Geographic Locations ('geo' URI)",
              RFC 5870, June 2010.

   [RFC6351]  Perreault, S., "xCard: vCard XML Representation",
              RFC 6351, August 2011.

   [W3C.REC-xml-20081126]
              Maler, E., Yergeau, F., Sperberg-McQueen, C., Paoli, J.,
              and T. Bray, "Extensible Markup Language (XML) 1.0 (Fifth
              Edition)", World Wide Web Consortium Recommendation REC-
              xml-20081126, November 2008,
              <http://www.w3.org/TR/2008/REC-xml-20081126>.

   [xfn]      Celik, T., Mullenweg, M., and E. Meyer, "XFN 1.1 profile",
              <http://gmpg.org/xfn/11>.

12.2. Informative References

[IANA-TZ] Lear, E. and P. Eggert, "IANA Procedures for Maintaining the Timezone Database", Work in Progress, May 2011. [ISO9070] International Organization for Standardization, "Information Processing - SGML support facilities - Registration Procedures for Public Text Owner Identifiers", ISO 9070, April 1991. [RFC1738] Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform Resource Locators (URL)", RFC 1738, December 1994. [RFC2397] Masinter, L., "The "data" URL scheme", RFC 2397, August 1998. [RFC2425] Howes, T., Smith, M., and F. Dawson, "A MIME Content-Type for Directory Information", RFC 2425, September 1998. [RFC2426] Dawson, F. and T. Howes, "vCard MIME Directory Profile", RFC 2426, September 1998. [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. [RFC3282] Alvestrand, H., "Content Language Headers", RFC 3282, May 2002.
Top   ToC   RFC6350 - Page 72
   [RFC3406]  Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom,
              "Uniform Resource Names (URN) Namespace Definition
              Mechanisms", BCP 66, RFC 3406, October 2002.

   [RFC3536]  Hoffman, P., "Terminology Used in Internationalization in
              the IETF", RFC 3536, May 2003.

   [RFC4770]  Jennings, C. and J. Reschke, Ed., "vCard Extensions for
              Instant Messaging (IM)", RFC 4770, January 2007.

   [RFC4880]  Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R.
              Thayer, "OpenPGP Message Format", RFC 4880, November 2007.

   [RFC5335bis]
              Yang, A. and S. Steele, "Internationalized Email Headers",
              Work in Progress, July 2011.

   [RFC5751]  Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
              Mail Extensions (S/MIME) Version 3.2 Message
              Specification", RFC 5751, January 2010.

   [RFC6068]  Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
              URI Scheme", RFC 6068, October 2010.

   [TZ-DB]    Olson, A., "Time zone code and data",
              <ftp://elsie.nci.nih.gov/pub/>.

   [vCard21]  Internet Mail Consortium, "vCard - The Electronic Business
              Card Version 2.1", September 1996.
Top   ToC   RFC6350 - Page 73

Appendix A. Differences from RFCs 2425 and 2426

This appendix contains a high-level overview of the major changes that have been made in the vCard specification from RFCs 2425 and 2426. It is incomplete, as it only lists the most important changes.

A.1. New Structure

o [RFC2425] and [RFC2426] have been merged. o vCard is now not only a MIME type but a stand-alone format. o A proper MIME type registration form has been included. o UTF-8 is now the only possible character set. o New vCard elements can be registered from IANA.

A.2. Removed Features

o The CONTEXT and CHARSET parameters are no more. o The NAME, MAILER, LABEL, and CLASS properties are no more. o The "intl", "dom", "postal", and "parcel" TYPE parameter values for the ADR property have been removed. o In-line vCards (such as the value of the AGENT property) are no longer supported.

A.3. New Properties and Parameters

o The KIND, GENDER, LANG, ANNIVERSARY, XML, and CLIENTPIDMAP properties have been added. o [RFC2739], which defines the FBURL, CALADRURI, CAPURI, and CALURI properties, has been merged in. o [RFC4770], which defines the IMPP property, has been merged in. o The "work" and "home" TYPE parameter values are now applicable to many more properties. o The "pref" value of the TYPE parameter is now a parameter of its own, with a positive integer value indicating the level of preference. o The ALTID and PID parameters have been added.
Top   ToC   RFC6350 - Page 74
   o  The MEDIATYPE parameter has been added and replaces the TYPE
      parameter when it was used for indicating the media type of the
      property's content.

Author's Address

Simon Perreault Viagenie 2875 Laurier, suite D2-630 Quebec, QC G1V 2M2 Canada Phone: +1 418 656 9254 EMail: simon.perreault@viagenie.ca URI: http://www.viagenie.ca