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

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]