RFC 6715
vCard Format Extensions: Representing vCard Extensions Defined by the Open Mobile Alliance (OMA) Converged Address Book (CAB) Group
vCard Format Extensions: Representing vCard Extensions Defined by the Open Mobile Alliance (OMA) Converged Address Book (CAB) Group π
Okay bestie, this is RFC 6715 π It's a Standards Track doc from the IETF, dated August 2012 πΈ The authors are D. Cauchie (France Telecom - Orange), B. Leiba, and K. Li (Huawei Technologies) π Its ISSN is 2070-1721 β¨ The title block doesn't list anything it obsoletes or updates, so this one is standing on its own, no cap π
Abstract β¨
So this doc adds new vCard extensions for representing and swapping certain contact info π The properties here were defined by the Open Mobile Alliance (OMA) Converged Address Book group π¦ They exist so contact fields that weren't already in the base vCard 4.0 spec can be synced with OMA Data Synchronization π
Status of This Memo π
It's an Internet Standards Track document β¨ It's a product of the Internet Engineering Task Force (IETF), so it has the consensus of the IETF community π«Ά It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). For more on Internet Standards, check Section 2 of RFC 5741 π
To find the current status, any errata, and how to send feedback, go to http://www.rfc-editor.org/info/rfc6715 π
Copyright Notice π
Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved π This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents, which you can find at http://trustee.ietf.org/license-info as they were on the publication date. Please actually read those, because they spell out your rights and restrictions π
If you pull Code Components out of this document, they have to include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions. They come without warranty, as described in the Simplified BSD License β οΈ
Table of Contents π
1. Introduction ....................................................2
1.1. A Brief Introduction to the Converged Address Book .........2
1.2. Terminology Used in This Document ..........................3
2. vCard Extensions: Properties ....................................3
2.1. Property: EXPERTISE ........................................3
2.2. Property: HOBBY ............................................4
2.3. Property: INTEREST .........................................5
2.4. Property: ORG-DIRECTORY ....................................6
3. vCard Extensions: Parameters ....................................7
3.1. Parameter: INDEX ...........................................7
3.2. Parameter: LEVEL ...........................................8
4. Security Considerations .........................................8
5. IANA Considerations .............................................9
6. Acknowledgments .................................................9
7. References .....................................................10
7.1. Normative References ......................................10
7.2. Informative References ....................................10
1. Introduction π
Syncing an Open Mobile Alliance Converged Address Book [OMA-CAB] with Open Mobile Alliance Data Synchronization [OMA-DS] usually means using vCard as the exchange format between the DS Server and the DS Client π To sync an OMA-CAB properly, the CAB spec defines some contact fields that aren't in the vCard base spec yet. This doc reuses those OMA-CAB definitions and describes them as vCard extensions β¨ The sections that follow define the Properties and Parameters you need π
1.1. A Brief Introduction to the Converged Address Book π¦
The Converged Address Book (CAB) Enabler gives you consistent ways to manage contact info, both in user-facing apps and for network-facing stuff π± At its heart is a network-based contact repository where a user can store their contacts, and any CAB-enabled device can grab them from there π The repository can also share specific contact info with other users and keep their copies updated whenever the info changes π
The CAB Enabler syncs the contact info on a user's device(s) with that network-based repository π
It also handles distributing a user's own contact info. Basically, a user fills out a Personal Contact Card with everything they want stored about themselves πͺͺ
Since systems supporting the CAB Enabler probably serve lots of users, the CAB Enabler also defines a search paradigm. That way, other users can query those systems to find info about the available users π
The CAB Enabler supports tons of different info types, so its data model is flexible and extensible πΈ It handles the usual stuff like name, address, email, phone number, and mobile number, plus newer stuff like websites, blogs, and presence subscription references π
1.2. Terminology Used in This Document π§
The syntax specs in this doc use the augmented Backus-Naur Form (ABNF) from [RFC5234], and they're written the same way as in the base vCard spec [RFC6350] π
2. vCard Extensions: Properties π
The sections below define the CAB Properties π
Note: Some string-value vCard properties are defined here without any specific list of allowed strings. For those, it's expected that de facto taxonomies will pop up. One vCard could say a hobby is "philately", another could say "stamp collecting", and a third could say "old postage stamps". Over time, usage (not the spec) might make people prefer one term. These are meant for humans to read, not for automated categorization that would need standard terms and registries π€
2.1. Property: EXPERTISE π
Namespace:
Property name: EXPERTISE
Purpose: To specify a field of expertise for the object to which the
vCard refers.
Value type: A single text value.
Cardinality: *
Property parameters: LEVEL (possible values: "beginner", "average",
"expert"), INDEX
This is a free-form way to name fields of expertise, made for humans to read. No specific expertise fields are defined here, so check the note at the start of Section 2 π§
Format definition:
EXPERTISE-param = LEVEL-param / INDEX-param / language-param /
pref-param / altid-param / type-param /
any-param
EXPERTISE-value = text
Examples:
EXPERTISE;LEVEL=beginner;INDEX=2:chinese literature
EXPERTISE;INDEX=1;LEVEL=expert:chemistry
2.2. Property: HOBBY π¨
Namespace:
Property name: HOBBY
Purpose: To specify the hobbies of the object to which the vCard
refers.
Value type: A single text value.
Cardinality: *
Property parameters: LEVEL (possible values: "high", "medium",
"low"), INDEX
This is a free-form way to name hobbies, meant for humans to read. No specific hobbies are defined here, so again, see the note at the start of Section 2 π§Ά
A hobby is something you actively do for fun, brain stimulation, creative expression, or stuff like that. It's different from an interest (see Section 2.3) π
- "Art" might be a hobby if you actively sculpt or paint ποΈ
- "Tennis" might be a hobby if you enjoy playing matches, not just watching them πΎ
Format definition:
HOBBY-param = LEVEL-param / INDEX-param / language-param /
pref-param / altid-param / type-param / any-param
HOBBY-value = text
Examples:
HOBBY;INDEX=1;LEVEL=high:reading
HOBBY;INDEX=2;LEVEL=high:sewing
2.3. Property: INTEREST π₯
Namespace:
Property name: INTEREST
Purpose: To specify the interest(s) of the object to which the vCard
refers.
Value type: A single text value
Cardinality: *
Property parameters: LEVEL (possible values: "high", "medium",
"low"), INDEX
This is a free-form way to name interests, meant for humans to read. No specific interests are defined here, so check the note at the start of Section 2 π
An interest is an activity or topic you find fascinating but don't necessarily actively do. It's the opposite of a hobby (see Section 2.2) πΊ
- "Art" might be an interest if you love looking at art but don't create any πΌοΈ
- "Tennis" might be an interest if you enjoy watching matches but don't play πΏ
Format definition:
INTEREST-param = LEVEL-param / INDEX-param / language-param /
pref-param / altid-param / type-param /
any-param
INTEREST-value = text
Examples:
INTEREST;INDEX=1;LEVEL=medium:r&b music
INTEREST;INDEX=2;LEVEL=high:rock 'n' roll music
2.4. Property: ORG-DIRECTORY π’
Namespace:
Property name: ORG-DIRECTORY
Purpose: To specify a directory of an organization to which the
vCard's entity belongs.
Value type: A single URI value.
Cardinality: *
Property parameters: PREF, INDEX
This is a URI you can use to do an organization-directory lookup ποΈ The entity the vCard represents would presumably be in that directory, though that isn't required. It's handy for finding your coworkers, your management chain, and so on, in a company or org directory πΌ
How the lookup works depends on the URI scheme, and this doc doesn't try to spell out the details of the lookup mechanism. An HTTP URI could, for example, lead to a web form meant for manual lookup in a browser. So this URI might or might not work for automated lookup or searching π€·ββοΈ
Format definition:
ORG-DIRECTORY-param = pref-param / INDEX-param / language-param
/ pid-param / pref-param / altid-param /
type-param / any-param
ORG-DIRECTORY-value= uri
Examples:
ORG-DIRECTORY;INDEX=1:http://directory.mycompany.example.com
ORG-DIRECTORY;PREF=1:ldap://ldap.tech.example/
o=Example%20Tech,ou=Engineering
3. vCard Extensions: Parameters π¦
Next up, the sections below define the Parameters used inside the Property definitions π More parameter goodness is coming up next β¨
3.1. Parameter: INDEX β¨
Namespace: (left blank in the spec) π«Ά
Parameter name: INDEX
Purpose: okay so INDEX is used in a multi-valued property to show where each value sits in the lineup π
Description: when a property has a bunch of values, INDEX lets you give them an order or sequence. INDEX values must be strictly positive, so zero is a no-go π ββοΈ
Format definition:
INDEX-param = "INDEX=" INDEX-value
INDEX-value = integer
Examples:
ORG-URI;INDEX=1:http://mycompany.example1.com
ORG-URI;PREF=1;INDEX=2:http://mycompany.example2.com
3.2. Parameter: LEVEL π
Namespace: (left blank in the spec) π
Parameter name: LEVEL
Purpose: this one tells you how good (or how into it) the person the vCard represents is, for expertise, hobbies, or interests π
Description: the allowed values depend on which property you're using π
"beginner","average","expert"when used with EXPERTISE"high","medium","low"when used with HOBBY or INTEREST
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 π
Okay, bestie, this one's short and sweet: this document doesn't add any security considerations beyond the ones in Section 9 of the base vCard specification [RFC6350]. So go check that section for the full security tea π΅
5. IANA Considerations π
IANA has added the following entries to the "vCard Properties" registry, which is defined in [RFC6350] Section 10.3.1. It's giving organized π
+-------+------------------------+------------------------+
| Name- | | |
| space | Property | Reference |
+-------+------------------------+------------------------+
| | EXPERTISE | RFC 6715, Section 2.1 |
| | HOBBY | RFC 6715, Section 2.2 |
| | INTEREST | RFC 6715, Section 2.3 |
| | ORG-URI | RFC 6715, Section 2.4 |
+-------+------------------------+------------------------+
IANA has also added the following entries to the "vCard Parameters" registry, which is defined in [RFC6350] Section 10.3.2 β¨
+-------+------------------------+------------------------+
| Name- | | |
| space | Parameter | Reference |
+-------+------------------------+------------------------+
| | INDEX | RFC 6715, Section 3.1 |
| | LEVEL | RFC 6715, Section 3.2 |
+-------+------------------------+------------------------+
And finally, IANA added entries to the "vCard Parameter Values" registry, which is defined in [RFC6350] Section 10.3.4 π¦
+-----------+-----------+---------------+------------------------+
| Property | Parameter | Value | Reference |
+-----------+-----------+---------------+------------------------+
| EXPERTISE | LEVEL | beginner | RFC 6715, Section 3.2 |
| EXPERTISE | LEVEL | average | RFC 6715, Section 3.2 |
| EXPERTISE | LEVEL | expert | RFC 6715, Section 3.2 |
| HOBBY | LEVEL | high | RFC 6715, Section 3.2 |
| HOBBY | LEVEL | medium | RFC 6715, Section 3.2 |
| HOBBY | LEVEL | low | RFC 6715, Section 3.2 |
| INTEREST | LEVEL | high | RFC 6715, Section 3.2 |
| INTEREST | LEVEL | medium | RFC 6715, Section 3.2 |
| INTEREST | LEVEL | low | RFC 6715, Section 3.2 |
+-----------+---------------------------+------------------------+
6. Acknowledgments π§
Huge thank-yous to Simon Perreault, Peter Saint-Andre, Cyrus Daboo, and Chris Newman π«Ά They did the particularly thorough reviews that made this a way cleaner submission to the working group. Main character energy for real π
7. References π
7.1. Normative References
[RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for
Syntax Specifications: ABNF", STD 68, RFC 5234,
January 2008.
[RFC6350] Perreault, S., "vCard Format Specification", RFC 6350,
August 2011.
7.2. Informative References
[OMA-CAB] Open Mobile Alliance, "Converged Address Book (CAB)
Specification", October 2010, <http://
www.openmobilealliance.org/Technical/release_program/docs/
CopyrightClick.aspx?pck=CAB&file=V1_0-20101019-C/
OMA-TS-CAB-V1_0-20101019-C.pdf>.
Candidate Version 1.0, OMA-TS-CAB-V1_0-20101019-C
[OMA-DS] Open Mobile Alliance, "DS Protocol", March 2009, <http://
www.openmobilealliance.org/Technical/release_program/docs/
copyrightclick.aspx?pck=DS&file=V1_2_2-20090319-A/
OMA-TS-DS_Protocol-V1_2_2-20090319-A.pdf>.
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.com
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
π¦ where this page comes from
- ietf: rfc6715 2012-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms