vcarddav D. Cauchie
Internet-Draft France Telecom - Orange
Intended status: Standards Track B. Leiba
Expires: August 21, 2011 K. Li
Huawei Technologies
February 17, 2011
vCard Format extension : represent vCard extensions defined by the Open
Mobile Alliance (OMA) Converged Address Book (CAB) group
draft-cauchie-vcarddav-oma-cab-extensions-00
Abstract
This document defines extensions to the vCard data format for
representing and exchanging certain contact information. The
properties covered here have been defined by the Open Mobile Alliance
Converged Address Book group, in order to synchronize, using OMA Data
Synchronization, important contact fields that were not already
defined in the base vCard 4.0 specification.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 21, 2011.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
Cauchie, et al. Expires August 21, 2011 [Page 1]
Internet-Draft vCard-OMA-CAB February 2011
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology Used in This Document . . . . . . . . . . . . . 3
2. vCard Extensions : Properties . . . . . . . . . . . . . . . 3
2.1. Property : CONTACT-STATUS-MAIN . . . . . . . . . . . . . . . 3
2.2. Property : CONTACT-STATUS-UPDATED . . . . . . . . . . . . . 4
2.3. Property : CONTACT-STATUS-TEMPORARY . . . . . . . . . . . . 5
2.4. Property : CONTACT-LANGUAGE . . . . . . . . . . . . . . . . 5
2.5. Property : SERVICE . . . . . . . . . . . . . . . . . . . . . 6
2.6. Property : EXPERTISE . . . . . . . . . . . . . . . . . . . . 7
2.7. Property : HOBBY . . . . . . . . . . . . . . . . . . . . . . 7
2.8. Property : INTEREST . . . . . . . . . . . . . . . . . . . . 8
2.9. Property : PUBLICNOTE . . . . . . . . . . . . . . . . . . . 9
2.10. Property : ORG-DIRECTORY . . . . . . . . . . . . . . . . . . 10
3. vCard extensions : Parameters . . . . . . . . . . . . . . . 10
3.1. Parameter : ACCEPT . . . . . . . . . . . . . . . . . . . . . 10
3.2. Parameter : ACK . . . . . . . . . . . . . . . . . . . . . . 11
3.3. Parameter : CONTACT-ID-REF . . . . . . . . . . . . . . . . . 11
3.4. Parameter : INDEX . . . . . . . . . . . . . . . . . . . . . 12
3.5. Parameter : LANGUAGE-PROFICIENCY-TYPE . . . . . . . . . . . 12
3.6. Parameter : LANGUAGE-FLUENCY-TYPE . . . . . . . . . . . . . 13
3.7. Parameter : LEVEL . . . . . . . . . . . . . . . . . . . . . 13
4. Security Considerations . . . . . . . . . . . . . . . . . . 14
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . 14
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 15
7. Normative References . . . . . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 15
Cauchie, et al. Expires August 21, 2011 [Page 2]
Internet-Draft vCard-OMA-CAB February 2011
1. Introduction
Synchronization of an Open Mobile Alliance Converged Address Book
(OMA-CAB), using Open Mobile Alliance Data Synchronization (OMA-DS),
commonly uses vCard as an exchange format between the DS Server and
the DS Client. In order to properly perform synchronization of an
OMA-CAB, the CAB specification defines vCard extensions that
correspond to some important CAB contact fields not already defined
in the vCard base specification. This document re-uses the
definitions found in the OMA-CAB specification and describes them as
vCard extensions. The following sections define the necessary
Properties and Parameters.
1.1. Terminology Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Syntax specifications shown here use the augmented Backus-Naur Form
(ABNF) as described in [RFC5234], and are specified as in the base
vcard specification [I-D.ietf-vcarddav-vcardrev].
2. vCard Extensions : Properties
The following sections define the CAB Properties.
2.1. Property : CONTACT-STATUS-MAIN
Namespace:
Property name: CONTACT-STATUS-MAIN
Purpose: To specify the main properties of the CAB status of the
object the vCard represents.
Value type: A single structured value consisting of 3 sub-values
separated by the SEMI-COLON character (ASCII decimal 59) :
1. contact-type (possible value: "CAB" if the contact is a CAB
user)
2. contact-subscription-status (possible values : "active",
"pending", "denied", "invalid filter", "not found",
"other_error")
3. contact-source indicating the latest source from which the
contact data was obtained or updated (default value "CAB")
Cauchie, et al. Expires August 21, 2011 [Page 3]
Internet-Draft vCard-OMA-CAB February 2011
Cardinality: 1
Property parameters:
Description:
Format definition:
CONTACT-STATUS-MAIN-param = "VALUE=CONTACT-STATUS-MAIN-value"
CONTACT-STATUS-MAIN-value = text
Example:
CONTACT-STATUS-MAIN:CAB;active;CAB
2.2. Property : CONTACT-STATUS-UPDATED
Namespace:
Property name: CONTACT-STATUS-UPDATED
Purpose: To complete the CAB status of the object the vCard
represents.
Value type: A single structured value consisting of a value
indicating that the contact has been updated by the CAB server,
as a result of automatic updates from incoming subscription
request(s) (possible values : "incoming subscription request",
"contact subscription","contact updated", "contactshare"). This
field may include a CONTACT-ACK parameter.
Cardinality: *
Property parameters:
Description:
Format definition:
CONTACT-STATUS-UPDATED-param = "VALUE=CONTACT-STATUS-UPDATED-
value"
CONTACT-STATUS-UPDATED-value = text
Example:
CONTACT-STATUS-UPDATED;ACK=true:contactshare
Cauchie, et al. Expires August 21, 2011 [Page 4]
Internet-Draft vCard-OMA-CAB February 2011
2.3. Property : CONTACT-STATUS-TEMPORARY
Namespace:
Property name: CONTACT-STATUS-TEMPORARY
Purpose: To complete the CAB status of the object the vCard
represents.
Value type: A single structured value consisting of a value
indicating that the contact is created by the CAB Server, when
the contact is not in the AB of the user, and/or the contact
requires interaction from CAB User (possible values : "contact
subscription", "contact imported", "incoming subscription
request" and "contactshare"). This field shall include a ACCEPT
parameter. This field may include a CONTACT-ID-REF parameter.
Cardinality: *1
Property parameters:
Description:
Format definition:
CONTACT-STATUS-TEMPORARY-param = "VALUE=CONTACT-STATUS-
TEMPORARY-value"
CONTACT-STATUS-TEMPORARY-value = text
Example:
CONTACT-STATUS-TEMPORARY;CONTACT-ID-REF=150; ACCEPT=yes:
contactshare
2.4. Property : CONTACT-LANGUAGE
Namespace:
Property name: CONTACT-LANGUAGE
Purpose: To specify the language(s) that may be used for contacting
the individual associated with the vCard.
Value type: A single language-tag value.
Cauchie, et al. Expires August 21, 2011 [Page 5]
Internet-Draft vCard-OMA-CAB February 2011
Cardinality: *
Property parameters:
Description: This property can include the "PREF" parameter to
indicate a preferred-language (possible values: from 1 to 100).
This property can include "LANGUAGE-PROFICIENCY-TYPE" and/or
"LANGUAGE-FLUENCY-TYPE" parameters. This property can include an
"INDEX" parameter.
Format definition:
CONTACT-LANGUAGE-param = "VALUE=CONTACT-LANGUAGE-value" / pref-
param / LANGUAGE-PROFICIENCY-TYPE-param / LANGUAGE-
FLUENCY-TYPE-param / INDEX-param
CONTACT-LANGUAGE-value = language-tag
Example:
CONTACT-LANGUAGE;INDEX=1;LANGUAGE-PROFICIENCY-
TYPE=speak;LANGUAGE-FLUENCY-TYPE=fluent:en
2.5. Property : SERVICE
Namespace:
Property name: SERVICE
Purpose: To specify the aliases used on different sites by the
object that the vCard refers to.
Value type: A single structured value consisting of 3 values
separated by the SEMI-COLON character (ASCII decimal 59) :
1. label : indicating a free-text description of the service
2. alias : indicating the alias identifier string used for a
service
3. url : indicating the URL pointing to the service resource
Cardinality: *
Property parameters:
Description: This property can include the "INDEX" parameter
Cauchie, et al. Expires August 21, 2011 [Page 6]
Internet-Draft vCard-OMA-CAB February 2011
Format definition:
SERVICE-param = "VALUE=SERVICE-value" / INDEX-param
SERVICE-value = text
Example:
SERVICE;INDEX=1:facebook;Facili
Tie;http://fr-fr.facebook.com/people/Facili-Tie/100001298828793
2.6. Property : EXPERTISE
Namespace:
Property name: EXPERTISE
Purpose: To specify the expertise(s) of the object that the vCard
refers to.
Value type: A single string value.
Cardinality: *
Property parameters:
Description: This property can include the LEVEL parameter (possible
values : "beginner", "average", "expert"). This property can
include the "INDEX" parameter.
Format definition:
EXPERTISE-param = "VALUE=EXPERTISE-value" / LEVEL-param / INDEX-
param
EXPERTISE-value = text
Examples:
EXPERTISE;LEVEL=beginner;INDEX=2:chinese literature
EXPERTISE;INDEX=1;LEVEL=expert:chemistry
2.7. Property : HOBBY
Namespace:
Cauchie, et al. Expires August 21, 2011 [Page 7]
Internet-Draft vCard-OMA-CAB February 2011
Property name: HOBBY
Purpose: To specify the hobbies of the object that the vCard refers
to. A hobby, as opposed to an interest (see Section 2.8) is an
activity that one actively engages in for entertainment,
intellectual stimulation, creative expression, or the like.
* "Art" might be a hobby if one actively sculpts or paints.
* "Tennis" might be a hobby if one enjoys playing, rather than
just watching matches.
Value type: A single string value.
Cardinality: *
Property parameters:
Description: This property can include the LEVEL parameter (possible
values : "high", "medium", "low"). This property can include the
INDEX parameter.
Format definition:
HOBBY-param = "VALUE=HOBBY-value" / LEVEL-param / INDEX-param
HOBBY-value = text
Examples:
HOBBY;INDEX=1;LEVEL=high:reading
HOBBY;INDEX=2;LEVEL=high:sewing
2.8. Property : INTEREST
Namespace:
Property name: INTEREST
Purpose: To specify the interest(s) of the object that the vCard
refers to. An interest, as opposed to a hobby (see Section 2.7)
is an activity or topic that one finds interesting, but doesn't
necessarily actively engage in.
* "Art" might be an interest if one likes looking at art, but
doesn't create art.
* "Tennis" might be an interest if one enjoys watching matches,
but doesn't play.
Cauchie, et al. Expires August 21, 2011 [Page 8]
Internet-Draft vCard-OMA-CAB February 2011
Value type: A single string value
Cardinality: *
Property parameters:
Description: This property can include the LEVEL parameter (possible
values : "high", "medium", "low"). This property can include the
INDEX parameter.
Format definition:
INTEREST-param = "VALUE=INTEREST-value" / LEVEL-param / INDEX-
param
INTEREST-value = text
Examples:
INTEREST;INDEX=1;LEVEL=medium:r&b music
INTEREST;INDEX=2;LEVEL=high:rock'n roll music
2.9. Property : PUBLICNOTE
Namespace:
Property name: PUBLICNOTE
Purpose: To specify additional information associated with the
object the vCard refers to.
Value type: A single string value
Cardinality: *
Property parameters:
Description:
Format definition:
PUBLICNOTE-param = "VALUE=PUBLICNOTE-value" /language-param
PUBLICNOTE-value = text
Example:
PUBLICNOTE;LANGUAGE=en:Out of my office today
Cauchie, et al. Expires August 21, 2011 [Page 9]
Internet-Draft vCard-OMA-CAB February 2011
2.10. Property : ORG-DIRECTORY
Namespace:
Property name: ORG-DIRECTORY
Purpose: To specify the organization-directory of the object the
vCard represents.
Value type: A single URI value.
Cardinality: *
Property parameters:
Description: This property can include the PREF and INDEX
parameters.
Format definition:
ORG-DIRECTORY-param = "VALUE=ORG-DIRECTORY-value" / pref-param /
INDEX-param
ORG-DIRECTORY-value= uri
Examples:
ORG-DIRECTORY;INDEX=1:http://mycompany.example1.com
ORG-DIRECTORY;PREF=1;INDEX=2:http://mycompany.example2.com
3. vCard extensions : Parameters
The following sections define Parameters used within Properties
definitions.
3.1. Parameter : ACCEPT
Namespace:
Parameter name: ACCEPT
Purpose: Used in CONTACT-STATUS-TEMPORARY to indicate, if the user
has accepted the temporary contact or not.
Cauchie, et al. Expires August 21, 2011 [Page 10]
Internet-Draft vCard-OMA-CAB February 2011
Description:
Format definition:
ACCEPT-param = "ACCEPT=" ACCEPT-value
ACCEPT-value = "yes" / "no"
Example:
CONTACT-STATUS-TEMPORARY;CONTACT-ID-REF=150; ACCEPT=yes:
contactshare
3.2. Parameter : ACK
Namespace:
Parameter name: ACK
Purpose: Used in CONTACT-STATUS-UPDATED to indicate whether the
updated contact has been acknowledged or read by the CAB Client
or not.
Description:
Format definition:
ACK-param = "ACK=" ACK-value
ACK-value = "true" / "false"
Example:
CONTACT-STATUS-UPDATED;ACK=true:contactshare
3.3. Parameter : CONTACT-ID-REF
Namespace:
Parameter name: CONTACT-ID-REF
Purpose: Used in CONTACT-STATUS-TEMPORARY to indicate, when
temporary element is used, a reference to the Contact Entry to
which the contact activity-status is associated with.
Description:
Cauchie, et al. Expires August 21, 2011 [Page 11]
Internet-Draft vCard-OMA-CAB February 2011
Format definition:
CONTACT-ID-REF-param = "CONTACT-ID-REF=" CONTACT-ID-REF-value
CONTACT-ID-REF-value = integer
Example:
CONTACT-STATUS-TEMPORARY;CONTACT-ID-REF=150; ACCEPT=yes:
contactshare
3.4. Parameter : INDEX
Namespace:
Parameter name: INDEX
Purpose: Used to indicate the range of each value when a parameter
can take several values. possible values : token.
Description:
Format definition:
INDEX-param = "INDEX=" INDEX-value
INDEX-value = integer
Examples:
ORG-DIRECTORY;INDEX=1:http://mycompany.example1.com
ORG-DIRECTORY;PREF=1;INDEX=2:http://mycompany.example2.com
3.5. Parameter : LANGUAGE-PROFICIENCY-TYPE
Namespace:
Parameter name: LANGUAGE-PROFICIENCY-TYPE
Purpose: Used to indicate which degree of proficiency the object the
vCard represents attained in the corresponding language. possible
values : "read only", "speak", "read/write".
Description:
Format definition:
Cauchie, et al. Expires August 21, 2011 [Page 12]
Internet-Draft vCard-OMA-CAB February 2011
LANGUAGE-PROFICIENCY-TYPE-param = "LANGUAGE-PROFICIENCY-TYPE="
LANGUAGE-PROFICIENCY-TYPE-value
LANGUAGE-PROFICIENCY-TYPE-value = "read only" / "speak" / "read/
write"
Example:
CONTACT-LANGUAGE;LANGUAGE-PROFICIENCY-TYPE=speak:en
3.6. Parameter : LANGUAGE-FLUENCY-TYPE
Namespace:
Parameter name: LANGUAGE-FLUENCY-TYPE
Purpose: Used to indicate which degree of fluency the object the
vCard represents attained in the corresponding language.
Possible values : "beginner", "average", "fluent".
Description:
Format definition:
LANGUAGE-FLUENCY-TYPE-param = "LANGUAGE-FLUENCY-TYPE=" LANGUAGE-
FLUENCY-TYPE-value
LANGUAGE-FLUENCY-TYPE-value = "beginner" / "average" / "fluent"
Example:
CONTACT-LANGUAGE;LANGUAGE-FLUENCY-TYPE=fluent:en
3.7. Parameter : LEVEL
Namespace:
Parameter name: LEVEL
Purpose: Used to indicate a level of expertise, hobby or interest
attained by the object the vCard represents.
Possible values:
* "beginner", "average", "expert" when used with EXPERTISE
* "high", "medium", "low" when used with HOBBY or INTEREST
Cauchie, et al. Expires August 21, 2011 [Page 13]
Internet-Draft vCard-OMA-CAB February 2011
Description:
Format definition:
LEVEL-param = "LEVEL=" LEVEL-value
LEVEL-value = "beginner" / "average" / "expert" / "high" /
"medium" / "low"
Examples:
EXPERTISE;LEVEL=beginner:chinese literature
HOBBY;LEVEL=high:reading
INTEREST;LEVEL=medium:r&b music
4. Security Considerations
This presents no security considerations beyond those in section 9 of
the base vcard specification [I-D.ietf-vcarddav-vcardrev].
5. IANA Considerations
IANA is requested to add the following entries to the vCard
Properties registry, defined in [I-D.ietf-vcarddav-vcardrev] section
10.3.1.
+-------+---------------------------+---------+-------------------+
| Name | | | |
| space | Property | Status | Reference |
+-------+---------------------------+---------+-------------------+
| | CONTACT-STATUS-MAIN | Current | RFCXXXX, sec 2.1 |
| | CONTACT-STATUS-UPDATED | Current | RFCXXXX, sec 2.2 |
| | CONTACT-STATUS-TEMPORARY | Current | RFCXXXX, sec 2.3 |
| | CONTACT-LANGUAGE | Current | RFCXXXX, sec 2.4 |
| | SERVICE | Current | RFCXXXX, sec 2.5 |
| | EXPERTISE | Current | RFCXXXX, sec 2.6 |
| | HOBBY | Current | RFCXXXX, sec 2.7 |
| | INTEREST | Current | RFCXXXX, sec 2.8 |
| | PUBLICNOTE | Current | RFCXXXX, sec 2.9 |
| | ORG-DIRECTORY | Current | RFCXXXX, sec 2.10 |
+-------+---------------------------+---------+-------------------+
IANA is requested to add the following entries to the vCard
Parameters registry, defined in [I-D.ietf-vcarddav-vcardrev] section
10.3.2.
Cauchie, et al. Expires August 21, 2011 [Page 14]
Internet-Draft vCard-OMA-CAB February 2011
+-------+---------------------------+---------+-------------------+
| Name | | | |
| space | Parameter | Status | Reference |
+-------+---------------------------+---------+-------------------+
| | ACCEPT | Current | RFCXXXX, sec 3.1 |
| | ACK | Current | RFCXXXX, sec 3.1 |
| | CONTACT-ID-REF | Current | RFCXXXX, sec 3.1 |
| | INDEX | Current | RFCXXXX, sec 3.2 |
| | LANGUAGE-PROFICIENCY-TYPE | Current | RFCXXXX, sec 3.3 |
| | LANGUAGE-FLUENCY-TYPE | Current | RFCXXXX, sec 3.4 |
| | LEVEL | Current | RFCXXXX, sec 3.5 |
+-------+---------------------------+---------+-------------------+
6. Acknowledgments
TBD
7. Normative References
[I-D.ietf-vcarddav-vcardrev]
Perreault, S. and P. Resnick, "vCard Format
Specification", draft-ietf-vcarddav-vcardrev-15 (work in
progress), December 2010.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
Authors' Addresses
Dany Cauchie
France Telecom - Orange
2 Avenue Pierre Marzin
Lannion 22307
France
Phone: +33 2 96 05 31 16
Email: dany.cauchie@orange-ftgroup.com
Cauchie, et al. Expires August 21, 2011 [Page 15]
Internet-Draft vCard-OMA-CAB February 2011
Barry Leiba
Huawei Technologies
Phone: +1 646 827 0648
Email: barryleiba@computer.org
URI: http://internetmessagingtechnology.org/
Kepeng Li
Huawei Technologies
Phone: +86 755 28974289
Email: likepeng@huawei.com
Cauchie, et al. Expires August 21, 2011 [Page 16]