]> git.mxchange.org Git - friendica-addons.git/blob - dav/SabreDAV/docs/rfc6350.txt
Method moved to Plaintext
[friendica-addons.git] / dav / SabreDAV / docs / rfc6350.txt
1
2
3
4
5
6
7 Internet Engineering Task Force (IETF)                      S. Perreault
8 Request for Comments: 6350                                      Viagenie
9 Obsoletes: 2425, 2426, 4770                                  August 2011
10 Updates: 2739
11 Category: Standards Track
12 ISSN: 2070-1721
13
14
15                        vCard Format Specification
16
17 Abstract
18
19    This document defines the vCard data format for representing and
20    exchanging a variety of information about individuals and other
21    entities (e.g., formatted and structured name and delivery addresses,
22    email address, multiple telephone numbers, photograph, logo, audio
23    clips, etc.).  This document obsoletes RFCs 2425, 2426, and 4770, and
24    updates RFC 2739.
25
26 Status of This Memo
27
28    This is an Internet Standards Track document.
29
30    This document is a product of the Internet Engineering Task Force
31    (IETF).  It represents the consensus of the IETF community.  It has
32    received public review and has been approved for publication by the
33    Internet Engineering Steering Group (IESG).  Further information on
34    Internet Standards is available in Section 2 of RFC 5741.
35
36    Information about the current status of this document, any errata,
37    and how to provide feedback on it may be obtained at
38    http://www.rfc-editor.org/info/rfc6350.
39
40 Copyright Notice
41
42    Copyright (c) 2011 IETF Trust and the persons identified as the
43    document authors.  All rights reserved.
44
45    This document is subject to BCP 78 and the IETF Trust's Legal
46    Provisions Relating to IETF Documents
47    (http://trustee.ietf.org/license-info) in effect on the date of
48    publication of this document.  Please review these documents
49    carefully, as they describe your rights and restrictions with respect
50    to this document.  Code Components extracted from this document must
51    include Simplified BSD License text as described in Section 4.e of
52    the Trust Legal Provisions and are provided without warranty as
53    described in the Simplified BSD License.
54
55
56
57
58 Perreault                    Standards Track                    [Page 1]
59 \f
60 RFC 6350                          vCard                      August 2011
61
62
63    This document may contain material from IETF Documents or IETF
64    Contributions published or made publicly available before November
65    10, 2008.  The person(s) controlling the copyright in some of this
66    material may not have granted the IETF Trust the right to allow
67    modifications of such material outside the IETF Standards Process.
68    Without obtaining an adequate license from the person(s) controlling
69    the copyright in such materials, this document may not be modified
70    outside the IETF Standards Process, and derivative works of it may
71    not be created outside the IETF Standards Process, except to format
72    it for publication as an RFC or to translate it into languages other
73    than English.
74
75 Table of Contents
76
77    1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  5
78    2.  Conventions  . . . . . . . . . . . . . . . . . . . . . . . . .  5
79    3.  vCard Format Specification . . . . . . . . . . . . . . . . . .  5
80      3.1.  Charset  . . . . . . . . . . . . . . . . . . . . . . . . .  5
81      3.2.  Line Delimiting and Folding  . . . . . . . . . . . . . . .  5
82      3.3.  ABNF Format Definition . . . . . . . . . . . . . . . . . .  6
83      3.4.  Property Value Escaping  . . . . . . . . . . . . . . . . .  9
84    4.  Property Value Data Types  . . . . . . . . . . . . . . . . . .  9
85      4.1.  TEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
86      4.2.  URI  . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
87      4.3.  DATE, TIME, DATE-TIME, DATE-AND-OR-TIME, and TIMESTAMP . . 12
88        4.3.1.  DATE . . . . . . . . . . . . . . . . . . . . . . . . . 12
89        4.3.2.  TIME . . . . . . . . . . . . . . . . . . . . . . . . . 13
90        4.3.3.  DATE-TIME  . . . . . . . . . . . . . . . . . . . . . . 13
91        4.3.4.  DATE-AND-OR-TIME . . . . . . . . . . . . . . . . . . . 14
92        4.3.5.  TIMESTAMP  . . . . . . . . . . . . . . . . . . . . . . 14
93      4.4.  BOOLEAN  . . . . . . . . . . . . . . . . . . . . . . . . . 14
94      4.5.  INTEGER  . . . . . . . . . . . . . . . . . . . . . . . . . 15
95      4.6.  FLOAT  . . . . . . . . . . . . . . . . . . . . . . . . . . 15
96      4.7.  UTC-OFFSET . . . . . . . . . . . . . . . . . . . . . . . . 15
97      4.8.  LANGUAGE-TAG . . . . . . . . . . . . . . . . . . . . . . . 16
98    5.  Property Parameters  . . . . . . . . . . . . . . . . . . . . . 16
99      5.1.  LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . . 16
100      5.2.  VALUE  . . . . . . . . . . . . . . . . . . . . . . . . . . 16
101      5.3.  PREF . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
102      5.4.  ALTID  . . . . . . . . . . . . . . . . . . . . . . . . . . 18
103      5.5.  PID  . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
104      5.6.  TYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
105      5.7.  MEDIATYPE  . . . . . . . . . . . . . . . . . . . . . . . . 20
106      5.8.  CALSCALE . . . . . . . . . . . . . . . . . . . . . . . . . 20
107      5.9.  SORT-AS  . . . . . . . . . . . . . . . . . . . . . . . . . 21
108      5.10. GEO  . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
109      5.11. TZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
110
111
112
113
114 Perreault                    Standards Track                    [Page 2]
115 \f
116 RFC 6350                          vCard                      August 2011
117
118
119    6.  vCard Properties . . . . . . . . . . . . . . . . . . . . . . . 23
120      6.1.  General Properties . . . . . . . . . . . . . . . . . . . . 23
121        6.1.1.  BEGIN  . . . . . . . . . . . . . . . . . . . . . . . . 23
122        6.1.2.  END  . . . . . . . . . . . . . . . . . . . . . . . . . 23
123        6.1.3.  SOURCE . . . . . . . . . . . . . . . . . . . . . . . . 24
124        6.1.4.  KIND . . . . . . . . . . . . . . . . . . . . . . . . . 25
125        6.1.5.  XML  . . . . . . . . . . . . . . . . . . . . . . . . . 27
126      6.2.  Identification Properties  . . . . . . . . . . . . . . . . 28
127        6.2.1.  FN . . . . . . . . . . . . . . . . . . . . . . . . . . 28
128        6.2.2.  N  . . . . . . . . . . . . . . . . . . . . . . . . . . 29
129        6.2.3.  NICKNAME . . . . . . . . . . . . . . . . . . . . . . . 29
130        6.2.4.  PHOTO  . . . . . . . . . . . . . . . . . . . . . . . . 30
131        6.2.5.  BDAY . . . . . . . . . . . . . . . . . . . . . . . . . 30
132        6.2.6.  ANNIVERSARY  . . . . . . . . . . . . . . . . . . . . . 31
133        6.2.7.  GENDER . . . . . . . . . . . . . . . . . . . . . . . . 32
134      6.3.  Delivery Addressing Properties . . . . . . . . . . . . . . 32
135        6.3.1.  ADR  . . . . . . . . . . . . . . . . . . . . . . . . . 32
136      6.4.  Communications Properties  . . . . . . . . . . . . . . . . 34
137        6.4.1.  TEL  . . . . . . . . . . . . . . . . . . . . . . . . . 34
138        6.4.2.  EMAIL  . . . . . . . . . . . . . . . . . . . . . . . . 36
139        6.4.3.  IMPP . . . . . . . . . . . . . . . . . . . . . . . . . 36
140        6.4.4.  LANG . . . . . . . . . . . . . . . . . . . . . . . . . 37
141      6.5.  Geographical Properties  . . . . . . . . . . . . . . . . . 37
142        6.5.1.  TZ . . . . . . . . . . . . . . . . . . . . . . . . . . 37
143        6.5.2.  GEO  . . . . . . . . . . . . . . . . . . . . . . . . . 38
144      6.6.  Organizational Properties  . . . . . . . . . . . . . . . . 39
145        6.6.1.  TITLE  . . . . . . . . . . . . . . . . . . . . . . . . 39
146        6.6.2.  ROLE . . . . . . . . . . . . . . . . . . . . . . . . . 39
147        6.6.3.  LOGO . . . . . . . . . . . . . . . . . . . . . . . . . 40
148        6.6.4.  ORG  . . . . . . . . . . . . . . . . . . . . . . . . . 40
149        6.6.5.  MEMBER . . . . . . . . . . . . . . . . . . . . . . . . 41
150        6.6.6.  RELATED  . . . . . . . . . . . . . . . . . . . . . . . 42
151      6.7.  Explanatory Properties . . . . . . . . . . . . . . . . . . 43
152        6.7.1.  CATEGORIES . . . . . . . . . . . . . . . . . . . . . . 43
153        6.7.2.  NOTE . . . . . . . . . . . . . . . . . . . . . . . . . 44
154        6.7.3.  PRODID . . . . . . . . . . . . . . . . . . . . . . . . 44
155        6.7.4.  REV  . . . . . . . . . . . . . . . . . . . . . . . . . 45
156        6.7.5.  SOUND  . . . . . . . . . . . . . . . . . . . . . . . . 45
157        6.7.6.  UID  . . . . . . . . . . . . . . . . . . . . . . . . . 46
158        6.7.7.  CLIENTPIDMAP . . . . . . . . . . . . . . . . . . . . . 47
159        6.7.8.  URL  . . . . . . . . . . . . . . . . . . . . . . . . . 47
160        6.7.9.  VERSION  . . . . . . . . . . . . . . . . . . . . . . . 48
161      6.8.  Security Properties  . . . . . . . . . . . . . . . . . . . 48
162        6.8.1.  KEY  . . . . . . . . . . . . . . . . . . . . . . . . . 48
163      6.9.  Calendar Properties  . . . . . . . . . . . . . . . . . . . 49
164        6.9.1.  FBURL  . . . . . . . . . . . . . . . . . . . . . . . . 49
165        6.9.2.  CALADRURI  . . . . . . . . . . . . . . . . . . . . . . 50
166        6.9.3.  CALURI . . . . . . . . . . . . . . . . . . . . . . . . 50
167
168
169
170 Perreault                    Standards Track                    [Page 3]
171 \f
172 RFC 6350                          vCard                      August 2011
173
174
175      6.10. Extended Properties and Parameters . . . . . . . . . . . . 51
176    7.  Synchronization  . . . . . . . . . . . . . . . . . . . . . . . 51
177      7.1.  Mechanisms . . . . . . . . . . . . . . . . . . . . . . . . 51
178        7.1.1.  Matching vCard Instances . . . . . . . . . . . . . . . 51
179        7.1.2.  Matching Property Instances  . . . . . . . . . . . . . 52
180        7.1.3.  PID Matching . . . . . . . . . . . . . . . . . . . . . 52
181      7.2.  Example  . . . . . . . . . . . . . . . . . . . . . . . . . 53
182        7.2.1.  Creation . . . . . . . . . . . . . . . . . . . . . . . 53
183        7.2.2.  Initial Sharing  . . . . . . . . . . . . . . . . . . . 53
184        7.2.3.  Adding and Sharing a Property  . . . . . . . . . . . . 54
185        7.2.4.  Simultaneous Editing . . . . . . . . . . . . . . . . . 54
186        7.2.5.  Global Context Simplification  . . . . . . . . . . . . 56
187    8.  Example: Author's vCard  . . . . . . . . . . . . . . . . . . . 56
188    9.  Security Considerations  . . . . . . . . . . . . . . . . . . . 57
189    10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 58
190      10.1. Media Type Registration  . . . . . . . . . . . . . . . . . 58
191      10.2. Registering New vCard Elements . . . . . . . . . . . . . . 59
192        10.2.1. Registration Procedure . . . . . . . . . . . . . . . . 59
193        10.2.2. Vendor Namespace . . . . . . . . . . . . . . . . . . . 60
194        10.2.3. Registration Template for Properties . . . . . . . . . 61
195        10.2.4. Registration Template for Parameters . . . . . . . . . 61
196        10.2.5. Registration Template for Value Data Types . . . . . . 62
197        10.2.6. Registration Template for Values . . . . . . . . . . . 62
198      10.3. Initial vCard Elements Registries  . . . . . . . . . . . . 63
199        10.3.1. Properties Registry  . . . . . . . . . . . . . . . . . 64
200        10.3.2. Parameters Registry  . . . . . . . . . . . . . . . . . 65
201        10.3.3. Value Data Types Registry  . . . . . . . . . . . . . . 65
202        10.3.4. Values Registries  . . . . . . . . . . . . . . . . . . 66
203    11. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 69
204    12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 69
205      12.1. Normative References . . . . . . . . . . . . . . . . . . . 69
206      12.2. Informative References . . . . . . . . . . . . . . . . . . 71
207    Appendix A.  Differences from RFCs 2425 and 2426 . . . . . . . . . 73
208      A.1.  New Structure  . . . . . . . . . . . . . . . . . . . . . . 73
209      A.2.  Removed Features . . . . . . . . . . . . . . . . . . . . . 73
210      A.3.  New Properties and Parameters  . . . . . . . . . . . . . . 73
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226 Perreault                    Standards Track                    [Page 4]
227 \f
228 RFC 6350                          vCard                      August 2011
229
230
231 1.  Introduction
232
233    Electronic address books have become ubiquitous.  Their increased
234    presence on portable, connected devices as well as the diversity of
235    platforms that exchange contact data call for a standard.  This memo
236    defines the vCard format, which allows the capture and exchange of
237    information normally stored within an address book or directory
238    application.
239
240    A high-level overview of the differences from RFCs 2425 and 2426 can
241    be found in Appendix A.
242
243 2.  Conventions
244
245    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
246    "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
247    "OPTIONAL" in this document are to be interpreted as described in
248    [RFC2119].
249
250 3.  vCard Format Specification
251
252    The text/vcard MIME content type (hereafter known as "vCard"; see
253    Section 10.1) contains contact information, typically pertaining to a
254    single contact or group of contacts.  The content consists of one or
255    more lines in the format given below.
256
257 3.1.  Charset
258
259    The charset (see [RFC3536] for internationalization terminology) for
260    vCard is UTF-8 as defined in [RFC3629].  There is no way to override
261    this.  It is invalid to specify a value other than "UTF-8" in the
262    "charset" MIME parameter (see Section 10.1).
263
264 3.2.  Line Delimiting and Folding
265
266    Individual lines within vCard are delimited by the [RFC5322] line
267    break, which is a CRLF sequence (U+000D followed by U+000A).  Long
268    logical lines of text can be split into a multiple-physical-line
269    representation using the following folding technique.  Content lines
270    SHOULD be folded to a maximum width of 75 octets, excluding the line
271    break.  Multi-octet characters MUST remain contiguous.  The rationale
272    for this folding process can be found in [RFC5322], Section 2.1.1.
273
274    A logical line MAY be continued on the next physical line anywhere
275    between two characters by inserting a CRLF immediately followed by a
276    single white space character (space (U+0020) or horizontal tab
277    (U+0009)).  The folded line MUST contain at least one character.  Any
278    sequence of CRLF followed immediately by a single white space
279
280
281
282 Perreault                    Standards Track                    [Page 5]
283 \f
284 RFC 6350                          vCard                      August 2011
285
286
287    character is ignored (removed) when processing the content type.  For
288    example, the line:
289
290      NOTE:This is a long description that exists on a long line.
291
292    can be represented as:
293
294      NOTE:This is a long description
295        that exists on a long line.
296
297    It could also be represented as:
298
299      NOTE:This is a long descrip
300       tion that exists o
301       n a long line.
302
303    The process of moving from this folded multiple-line representation
304    of a property definition to its single-line representation is called
305    unfolding.  Unfolding is accomplished by regarding CRLF immediately
306    followed by a white space character (namely, HTAB (U+0009) or SPACE
307    (U+0020)) as equivalent to no characters at all (i.e., the CRLF and
308    single white space character are removed).
309
310       Note: It is possible for very simple implementations to generate
311       improperly folded lines in the middle of a UTF-8 multi-octet
312       sequence.  For this reason, implementations SHOULD unfold lines in
313       such a way as to properly restore the original sequence.
314
315       Note: Unfolding is done differently than in [RFC5322].  Unfolding
316       in [RFC5322] only removes the CRLF, not the space following it.
317
318    Folding is done after any content encoding of a type value.
319    Unfolding is done before any decoding of a type value in a content
320    line.
321
322 3.3.  ABNF Format Definition
323
324    The following ABNF uses the notation of [RFC5234], which also defines
325    CRLF, WSP, DQUOTE, VCHAR, ALPHA, and DIGIT.
326
327    vcard-entity = 1*vcard
328
329    vcard = "BEGIN:VCARD" CRLF
330            "VERSION:4.0" CRLF
331            1*contentline
332            "END:VCARD" CRLF
333      ; A vCard object MUST include the VERSION and FN properties.
334      ; VERSION MUST come immediately after BEGIN:VCARD.
335
336
337
338 Perreault                    Standards Track                    [Page 6]
339 \f
340 RFC 6350                          vCard                      August 2011
341
342
343    contentline = [group "."] name *(";" param) ":" value CRLF
344      ; When parsing a content line, folded lines must first
345      ; be unfolded according to the unfolding procedure
346      ; described in Section 3.2.
347      ; When generating a content line, lines longer than 75
348      ; characters SHOULD be folded according to the folding
349      ; procedure described in Section 3.2.
350
351    group = 1*(ALPHA / DIGIT / "-")
352    name  = "SOURCE" / "KIND" / "FN" / "N" / "NICKNAME"
353          / "PHOTO" / "BDAY" / "ANNIVERSARY" / "GENDER" / "ADR" / "TEL"
354          / "EMAIL" / "IMPP" / "LANG" / "TZ" / "GEO" / "TITLE" / "ROLE"
355          / "LOGO" / "ORG" / "MEMBER" / "RELATED" / "CATEGORIES"
356          / "NOTE" / "PRODID" / "REV" / "SOUND" / "UID" / "CLIENTPIDMAP"
357          / "URL" / "KEY" / "FBURL" / "CALADRURI" / "CALURI" / "XML"
358          / iana-token / x-name
359      ; Parsing of the param and value is based on the "name" as
360      ; defined in ABNF sections below.
361      ; Group and name are case-insensitive.
362
363    iana-token = 1*(ALPHA / DIGIT / "-")
364      ; identifier registered with IANA
365
366    x-name = "x-" 1*(ALPHA / DIGIT / "-")
367      ; Names that begin with "x-" or "X-" are
368      ; reserved for experimental use, not intended for released
369      ; products, or for use in bilateral agreements.
370
371    param = language-param / value-param / pref-param / pid-param
372          / type-param / geo-parameter / tz-parameter / sort-as-param
373          / calscale-param / any-param
374      ; Allowed parameters depend on property name.
375
376    param-value = *SAFE-CHAR / DQUOTE *QSAFE-CHAR DQUOTE
377
378    any-param  = (iana-token / x-name) "=" param-value *("," param-value)
379
380    NON-ASCII = UTF8-2 / UTF8-3 / UTF8-4
381      ; UTF8-{2,3,4} are defined in [RFC3629]
382
383    QSAFE-CHAR = WSP / "!" / %x23-7E / NON-ASCII
384      ; Any character except CTLs, DQUOTE
385
386    SAFE-CHAR = WSP / "!" / %x23-39 / %x3C-7E / NON-ASCII
387      ; Any character except CTLs, DQUOTE, ";", ":"
388
389    VALUE-CHAR = WSP / VCHAR / NON-ASCII
390      ; Any textual character
391
392
393
394 Perreault                    Standards Track                    [Page 7]
395 \f
396 RFC 6350                          vCard                      August 2011
397
398
399    A line that begins with a white space character is a continuation of
400    the previous line, as described in Section 3.2.  The white space
401    character and immediately preceeding CRLF should be discarded when
402    reconstructing the original line.  Note that this line-folding
403    convention differs from that found in [RFC5322], in that the sequence
404    <CRLF><WSP> found anywhere in the content indicates a continued line
405    and should be removed.
406
407    Property names and parameter names are case-insensitive (e.g., the
408    property name "fn" is the same as "FN" and "Fn").  Parameter values
409    MAY be case-sensitive or case-insensitive, depending on their
410    definition.  Parameter values that are not explicitly defined as
411    being case-sensitive are case-insensitive.  Based on experience with
412    vCard 3 interoperability, it is RECOMMENDED that property and
413    parameter names be upper-case on output.
414
415    The group construct is used to group related properties together.
416    The group name is a syntactic convention used to indicate that all
417    property names prefaced with the same group name SHOULD be grouped
418    together when displayed by an application.  It has no other
419    significance.  Implementations that do not understand or support
420    grouping MAY simply strip off any text before a "." to the left of
421    the type name and present the types and values as normal.
422
423    Property cardinalities are indicated using the following notation,
424    which is based on ABNF (see [RFC5234], Section 3.6):
425
426     +-------------+--------------------------------------------------+
427     | Cardinality | Meaning                                          |
428     +-------------+--------------------------------------------------+
429     |      1      | Exactly one instance per vCard MUST be present.  |
430     |      *1     | Exactly one instance per vCard MAY be present.   |
431     |      1*     | One or more instances per vCard MUST be present. |
432     |      *      | One or more instances per vCard MAY be present.  |
433     +-------------+--------------------------------------------------+
434
435    Properties defined in a vCard instance may have multiple values
436    depending on the property cardinality.  The general rule for encoding
437    multi-valued properties is to simply create a new content line for
438    each value (including the property name).  However, it should be
439    noted that some value types support encoding multiple values in a
440    single content line by separating the values with a comma ",".  This
441    approach has been taken for several of the content types defined
442    below (date, time, integer, float).
443
444
445
446
447
448
449
450 Perreault                    Standards Track                    [Page 8]
451 \f
452 RFC 6350                          vCard                      August 2011
453
454
455 3.4.  Property Value Escaping
456
457    Some properties may contain one or more values delimited by a COMMA
458    character (U+002C).  Therefore, a COMMA character in a value MUST be
459    escaped with a BACKSLASH character (U+005C), even for properties that
460    don't allow multiple instances (for consistency).
461
462    Some properties (e.g., N and ADR) comprise multiple fields delimited
463    by a SEMICOLON character (U+003B).  Therefore, a SEMICOLON in a field
464    of such a "compound" property MUST be escaped with a BACKSLASH
465    character.  SEMICOLON characters in non-compound properties MAY be
466    escaped.  On input, an escaped SEMICOLON character is never a field
467    separator.  An unescaped SEMICOLON character may be a field
468    separator, depending on the property in which it appears.
469
470    Furthermore, some fields of compound properties may contain a list of
471    values delimited by a COMMA character.  Therefore, a COMMA character
472    in one of a field's values MUST be escaped with a BACKSLASH
473    character, even for fields that don't allow multiple values (for
474    consistency).  Compound properties allowing multiple instances MUST
475    NOT be encoded in a single content line.
476
477    Finally, BACKSLASH characters in values MUST be escaped with a
478    BACKSLASH character.  NEWLINE (U+000A) characters in values MUST be
479    encoded by two characters: a BACKSLASH followed by either an 'n'
480    (U+006E) or an 'N' (U+004E).
481
482    In all other cases, escaping MUST NOT be used.
483
484 4.  Property Value Data Types
485
486    Standard value types are defined below.
487
488      value = text
489            / text-list
490            / date-list
491            / time-list
492            / date-time-list
493            / date-and-or-time-list
494            / timestamp-list
495            / boolean
496            / integer-list
497            / float-list
498            / URI               ; from Section 3 of [RFC3986]
499            / utc-offset
500            / Language-Tag
501            / iana-valuespec
502        ; Actual value type depends on property name and VALUE parameter.
503
504
505
506 Perreault                    Standards Track                    [Page 9]
507 \f
508 RFC 6350                          vCard                      August 2011
509
510
511      text = *TEXT-CHAR
512
513      TEXT-CHAR = "\\" / "\," / "\n" / WSP / NON-ASCII
514                / %x21-2B / %x2D-5B / %x5D-7E
515         ; Backslashes, commas, and newlines must be encoded.
516
517      component = "\\" / "\," / "\;" / "\n" / WSP / NON-ASCII
518                / %x21-2B / %x2D-3A / %x3C-5B / %x5D-7E
519      list-component = component *("," component)
520
521      text-list             = text             *("," text)
522      date-list             = date             *("," date)
523      time-list             = time             *("," time)
524      date-time-list        = date-time        *("," date-time)
525      date-and-or-time-list = date-and-or-time *("," date-and-or-time)
526      timestamp-list        = timestamp        *("," timestamp)
527      integer-list          = integer          *("," integer)
528      float-list            = float            *("," float)
529
530      boolean = "TRUE" / "FALSE"
531      integer = [sign] 1*DIGIT
532      float   = [sign] 1*DIGIT ["." 1*DIGIT]
533
534      sign = "+" / "-"
535
536      year   = 4DIGIT  ; 0000-9999
537      month  = 2DIGIT  ; 01-12
538      day    = 2DIGIT  ; 01-28/29/30/31 depending on month and leap year
539      hour   = 2DIGIT  ; 00-23
540      minute = 2DIGIT  ; 00-59
541      second = 2DIGIT  ; 00-58/59/60 depending on leap second
542      zone   = utc-designator / utc-offset
543      utc-designator = %x5A  ; uppercase "Z"
544
545      date          = year    [month  day]
546                    / year "-" month
547                    / "--"     month [day]
548                    / "--"      "-"   day
549      date-noreduc  = year     month  day
550                    / "--"     month  day
551                    / "--"      "-"   day
552      date-complete = year     month  day
553
554      time          = hour [minute [second]] [zone]
555                    /  "-"  minute [second]  [zone]
556                    /  "-"   "-"    second   [zone]
557      time-notrunc  = hour [minute [second]] [zone]
558      time-complete = hour  minute  second   [zone]
559
560
561
562 Perreault                    Standards Track                   [Page 10]
563 \f
564 RFC 6350                          vCard                      August 2011
565
566
567      time-designator = %x54  ; uppercase "T"
568      date-time = date-noreduc  time-designator time-notrunc
569      timestamp = date-complete time-designator time-complete
570
571      date-and-or-time = date-time / date / time-designator time
572
573      utc-offset = sign hour [minute]
574
575      Language-Tag = <Language-Tag, defined in [RFC5646], Section 2.1>
576
577      iana-valuespec = <value-spec, see Section 12>
578                     ; a publicly defined valuetype format, registered
579                     ; with IANA, as defined in Section 12 of this
580                     ; document.
581
582 4.1.  TEXT
583
584    "text": The "text" value type should be used to identify values that
585    contain human-readable text.  As for the language, it is controlled
586    by the LANGUAGE property parameter defined in Section 5.1.
587
588    Examples for "text":
589
590        this is a text value
591        this is one value,this is another
592        this is a single value\, with a comma encoded
593
594    A formatted text line break in a text value type MUST be represented
595    as the character sequence backslash (U+005C) followed by a Latin
596    small letter n (U+006E) or a Latin capital letter N (U+004E), that
597    is, "\n" or "\N".
598
599    For example, a multiple line NOTE value of:
600
601        Mythical Manager
602        Hyjinx Software Division
603        BabsCo, Inc.
604
605    could be represented as:
606
607        NOTE:Mythical Manager\nHyjinx Software Division\n
608         BabsCo\, Inc.\n
609
610    demonstrating the \n literal formatted line break technique, the
611    CRLF-followed-by-space line folding technique, and the backslash
612    escape technique.
613
614
615
616
617
618 Perreault                    Standards Track                   [Page 11]
619 \f
620 RFC 6350                          vCard                      August 2011
621
622
623 4.2.  URI
624
625    "uri": The "uri" value type should be used to identify values that
626    are referenced by a Uniform Resource Identifier (URI) instead of
627    encoded in-line.  These value references might be used if the value
628    is too large, or otherwise undesirable to include directly.  The
629    format for the URI is as defined in Section 3 of [RFC3986].  Note
630    that the value of a property of type "uri" is what the URI points to,
631    not the URI itself.
632
633    Examples for "uri":
634
635        http://www.example.com/my/picture.jpg
636        ldap://ldap.example.com/cn=babs%20jensen
637
638 4.3.  DATE, TIME, DATE-TIME, DATE-AND-OR-TIME, and TIMESTAMP
639
640    "date", "time", "date-time", "date-and-or-time", and "timestamp":
641    Each of these value types is based on the definitions in
642    [ISO.8601.2004].  Multiple such values can be specified using the
643    comma-separated notation.
644
645    Only the basic format is supported.
646
647 4.3.1.  DATE
648
649    A calendar date as specified in [ISO.8601.2004], Section 4.1.2.
650
651    Reduced accuracy, as specified in [ISO.8601.2004], Sections 4.1.2.3
652    a) and b), but not c), is permitted.
653
654    Expanded representation, as specified in [ISO.8601.2004], Section
655    4.1.4, is forbidden.
656
657    Truncated representation, as specified in [ISO.8601.2000], Sections
658    5.2.1.3 d), e), and f), is permitted.
659
660    Examples for "date":
661
662              19850412
663              1985-04
664              1985
665              --0412
666              ---12
667
668
669
670
671
672
673
674 Perreault                    Standards Track                   [Page 12]
675 \f
676 RFC 6350                          vCard                      August 2011
677
678
679    Note the use of YYYY-MM in the second example above.  YYYYMM is
680    disallowed to prevent confusion with YYMMDD.  Note also that
681    YYYY-MM-DD is disallowed since we are using the basic format instead
682    of the extended format.
683
684 4.3.2.  TIME
685
686    A time of day as specified in [ISO.8601.2004], Section 4.2.
687
688    Reduced accuracy, as specified in [ISO.8601.2004], Section 4.2.2.3,
689    is permitted.
690
691    Representation with decimal fraction, as specified in
692    [ISO.8601.2004], Section 4.2.2.4, is forbidden.
693
694    The midnight hour is always represented by 00, never 24 (see
695    [ISO.8601.2004], Section 4.2.3).
696
697    Truncated representation, as specified in [ISO.8601.2000], Sections
698    5.3.1.4 a), b), and c), is permitted.
699
700    Examples for "time":
701
702              102200
703              1022
704              10
705              -2200
706              --00
707              102200Z
708              102200-0800
709
710 4.3.3.  DATE-TIME
711
712    A date and time of day combination as specified in [ISO.8601.2004],
713    Section 4.3.
714
715    Truncation of the date part, as specified in [ISO.8601.2000], Section
716    5.4.2 c), is permitted.
717
718    Examples for "date-time":
719
720              19961022T140000
721              --1022T1400
722              ---22T14
723
724
725
726
727
728
729
730 Perreault                    Standards Track                   [Page 13]
731 \f
732 RFC 6350                          vCard                      August 2011
733
734
735 4.3.4.  DATE-AND-OR-TIME
736
737    Either a DATE-TIME, a DATE, or a TIME value.  To allow unambiguous
738    interpretation, a stand-alone TIME value is always preceded by a "T".
739
740    Examples for "date-and-or-time":
741
742              19961022T140000
743              --1022T1400
744              ---22T14
745              19850412
746              1985-04
747              1985
748              --0412
749              ---12
750              T102200
751              T1022
752              T10
753              T-2200
754              T--00
755              T102200Z
756              T102200-0800
757
758 4.3.5.  TIMESTAMP
759
760    A complete date and time of day combination as specified in
761    [ISO.8601.2004], Section 4.3.2.
762
763    Examples for "timestamp":
764
765              19961022T140000
766              19961022T140000Z
767              19961022T140000-05
768              19961022T140000-0500
769
770 4.4.  BOOLEAN
771
772    "boolean": The "boolean" value type is used to express boolean
773    values.  These values are case-insensitive.
774
775    Examples:
776
777        TRUE
778        false
779        True
780
781
782
783
784
785
786 Perreault                    Standards Track                   [Page 14]
787 \f
788 RFC 6350                          vCard                      August 2011
789
790
791 4.5.  INTEGER
792
793    "integer": The "integer" value type is used to express signed
794    integers in decimal format.  If sign is not specified, the value is
795    assumed positive "+".  Multiple "integer" values can be specified
796    using the comma-separated notation.  The maximum value is
797    9223372036854775807, and the minimum value is -9223372036854775808.
798    These limits correspond to a signed 64-bit integer using two's-
799    complement arithmetic.
800
801    Examples:
802
803        1234567890
804        -1234556790
805        +1234556790,432109876
806
807 4.6.  FLOAT
808
809    "float": The "float" value type is used to express real numbers.  If
810    sign is not specified, the value is assumed positive "+".  Multiple
811    "float" values can be specified using the comma-separated notation.
812    Implementations MUST support a precision equal or better than that of
813    the IEEE "binary64" format [IEEE.754.2008].
814
815       Note: Scientific notation is disallowed.  Implementers wishing to
816       use their favorite language's %f formatting should be careful.
817
818    Examples:
819
820        20.30
821        1000000.0000001
822        1.333,3.14
823
824 4.7.  UTC-OFFSET
825
826    "utc-offset": The "utc-offset" value type specifies that the property
827    value is a signed offset from UTC.  This value type can be specified
828    in the TZ property.
829
830    The value type is an offset from Coordinated Universal Time (UTC).
831    It is specified as a positive or negative difference in units of
832    hours and minutes (e.g., +hhmm).  The time is specified as a 24-hour
833    clock.  Hour values are from 00 to 23, and minute values are from 00
834    to 59.  Hour and minutes are 2 digits with high-order zeroes required
835    to maintain digit count.  The basic format for ISO 8601 UTC offsets
836    MUST be used.
837
838
839
840
841
842 Perreault                    Standards Track                   [Page 15]
843 \f
844 RFC 6350                          vCard                      August 2011
845
846
847 4.8.  LANGUAGE-TAG
848
849    "language-tag": A single language tag, as defined in [RFC5646].
850
851 5.  Property Parameters
852
853    A property can have attributes associated with it.  These "property
854    parameters" contain meta-information about the property or the
855    property value.  In some cases, the property parameter can be multi-
856    valued in which case the property parameter value elements are
857    separated by a COMMA (U+002C).
858
859    Property parameter value elements that contain the COLON (U+003A),
860    SEMICOLON (U+003B), or COMMA (U+002C) character separators MUST be
861    specified as quoted-string text values.  Property parameter values
862    MUST NOT contain the DQUOTE (U+0022) character.  The DQUOTE character
863    is used as a delimiter for parameter values that contain restricted
864    characters or URI text.
865
866    Applications MUST ignore x-param and iana-param values they don't
867    recognize.
868
869 5.1.  LANGUAGE
870
871    The LANGUAGE property parameter is used to identify data in multiple
872    languages.  There is no concept of "default" language, except as
873    specified by any "Content-Language" MIME header parameter that is
874    present [RFC3282].  The value of the LANGUAGE property parameter is a
875    language tag as defined in Section 2 of [RFC5646].
876
877    Examples:
878
879      ROLE;LANGUAGE=tr:hoca
880
881    ABNF:
882
883            language-param = "LANGUAGE=" Language-Tag
884              ; Language-Tag is defined in section 2.1 of RFC 5646
885
886 5.2.  VALUE
887
888    The VALUE parameter is OPTIONAL, used to identify the value type
889    (data type) and format of the value.  The use of these predefined
890    formats is encouraged even if the value parameter is not explicitly
891    used.  By defining a standard set of value types and their formats,
892    existing parsing and processing code can be leveraged.  The
893
894
895
896
897
898 Perreault                    Standards Track                   [Page 16]
899 \f
900 RFC 6350                          vCard                      August 2011
901
902
903    predefined data type values MUST NOT be repeated in COMMA-separated
904    value lists except within the N, NICKNAME, ADR, and CATEGORIES
905    properties.
906
907    ABNF:
908
909      value-param = "VALUE=" value-type
910
911      value-type = "text"
912                 / "uri"
913                 / "date"
914                 / "time"
915                 / "date-time"
916                 / "date-and-or-time"
917                 / "timestamp"
918                 / "boolean"
919                 / "integer"
920                 / "float"
921                 / "utc-offset"
922                 / "language-tag"
923                 / iana-token  ; registered as described in section 12
924                 / x-name
925
926 5.3.  PREF
927
928    The PREF parameter is OPTIONAL and is used to indicate that the
929    corresponding instance of a property is preferred by the vCard
930    author.  Its value MUST be an integer between 1 and 100 that
931    quantifies the level of preference.  Lower values correspond to a
932    higher level of preference, with 1 being most preferred.
933
934    When the parameter is absent, the default MUST be to interpret the
935    property instance as being least preferred.
936
937    Note that the value of this parameter is to be interpreted only in
938    relation to values assigned to other instances of the same property
939    in the same vCard.  A given value, or the absence of a value, MUST
940    NOT be interpreted on its own.
941
942    This parameter MAY be applied to any property that allows multiple
943    instances.
944
945    ABNF:
946
947            pref-param = "PREF=" (1*2DIGIT / "100")
948                                 ; An integer between 1 and 100.
949
950
951
952
953
954 Perreault                    Standards Track                   [Page 17]
955 \f
956 RFC 6350                          vCard                      August 2011
957
958
959 5.4.  ALTID
960
961    The ALTID parameter is used to "tag" property instances as being
962    alternative representations of the same logical property.  For
963    example, translations of a property in multiple languages generates
964    multiple property instances having different LANGUAGE (Section 5.1)
965    parameter that are tagged with the same ALTID value.
966
967    This parameter's value is treated as an opaque string.  Its sole
968    purpose is to be compared for equality against other ALTID parameter
969    values.
970
971    Two property instances are considered alternative representations of
972    the same logical property if and only if their names as well as the
973    value of their ALTID parameters are identical.  Property instances
974    without the ALTID parameter MUST NOT be considered an alternative
975    representation of any other property instance.  Values for the ALTID
976    parameter are not globally unique: they MAY be reused for different
977    property names.
978
979    Property instances having the same ALTID parameter value count as 1
980    toward cardinality.  Therefore, since N (Section 6.2.2) has
981    cardinality *1 and TITLE (Section 6.6.1) has cardinality *, these
982    three examples would be legal:
983
984      N;ALTID=1;LANGUAGE=jp:<U+5C71><U+7530>;<U+592A><U+90CE>;;;
985      N;ALTID=1;LANGUAGE=en:Yamada;Taro;;;
986      (<U+XXXX> denotes a UTF8-encoded Unicode character.)
987
988      TITLE;ALTID=1;LANGUAGE=fr:Patron
989      TITLE;ALTID=1;LANGUAGE=en:Boss
990
991      TITLE;ALTID=1;LANGUAGE=fr:Patron
992      TITLE;ALTID=1;LANGUAGE=en:Boss
993      TITLE;ALTID=2;LANGUAGE=en:Chief vCard Evangelist
994
995    while this one would not:
996
997      N;ALTID=1;LANGUAGE=jp:<U+5C71><U+7530>;<U+592A><U+90CE>;;;
998      N:Yamada;Taro;;;
999      (Two instances of the N property.)
1000
1001    and these three would be legal but questionable:
1002
1003      TITLE;ALTID=1;LANGUAGE=fr:Patron
1004      TITLE;ALTID=2;LANGUAGE=en:Boss
1005      (Should probably have the same ALTID value.)
1006
1007
1008
1009
1010 Perreault                    Standards Track                   [Page 18]
1011 \f
1012 RFC 6350                          vCard                      August 2011
1013
1014
1015      TITLE;ALTID=1;LANGUAGE=fr:Patron
1016      TITLE:LANGUAGE=en:Boss
1017      (Second line should probably have ALTID=1.)
1018
1019      N;ALTID=1;LANGUAGE=jp:<U+5C71><U+7530>;<U+592A><U+90CE>;;;
1020      N;ALTID=1;LANGUAGE=en:Yamada;Taro;;;
1021      N;ALTID=1;LANGUAGE=en:Smith;John;;;
1022      (The last line should probably have ALTID=2.  But that would be
1023       illegal because N has cardinality *1.)
1024
1025    The ALTID property MAY also be used in may contexts other than with
1026    the LANGUAGE parameter.  Here's an example with two representations
1027    of the same photo in different file formats:
1028
1029      PHOTO;ALTID=1:data:image/jpeg;base64,...
1030      PHOTO;ALTID=1;data:image/jp2;base64,...
1031
1032    ABNF:
1033
1034            altid-param = "ALTID=" param-value
1035
1036 5.5.  PID
1037
1038    The PID parameter is used to identify a specific property among
1039    multiple instances.  It plays a role analogous to the UID property
1040    (Section 6.7.6) on a per-property instead of per-vCard basis.  It MAY
1041    appear more than once in a given property.  It MUST NOT appear on
1042    properties that may have only one instance per vCard.  Its value is
1043    either a single small positive integer or a pair of small positive
1044    integers separated by a dot.  Multiple values may be encoded in a
1045    single PID parameter by separating the values with a comma ",".  See
1046    Section 7 for more details on its usage.
1047
1048    ABNF:
1049
1050            pid-param = "PID=" pid-value *("," pid-value)
1051            pid-value = 1*DIGIT ["." 1*DIGIT]
1052
1053 5.6.  TYPE
1054
1055    The TYPE parameter has multiple, different uses.  In general, it is a
1056    way of specifying class characteristics of the associated property.
1057    Most of the time, its value is a comma-separated subset of a
1058    predefined enumeration.  In this document, the following properties
1059    make use of this parameter: FN, NICKNAME, PHOTO, ADR, TEL, EMAIL,
1060    IMPP, LANG, TZ, GEO, TITLE, ROLE, LOGO, ORG, RELATED, CATEGORIES,
1061
1062
1063
1064
1065
1066 Perreault                    Standards Track                   [Page 19]
1067 \f
1068 RFC 6350                          vCard                      August 2011
1069
1070
1071    NOTE, SOUND, URL, KEY, FBURL, CALADRURI, and CALURI.  The TYPE
1072    parameter MUST NOT be applied on other properties defined in this
1073    document.
1074
1075    The "work" and "home" values act like tags.  The "work" value implies
1076    that the property is related to an individual's work place, while the
1077    "home" value implies that the property is related to an individual's
1078    personal life.  When neither "work" nor "home" is present, it is
1079    implied that the property is related to both an individual's work
1080    place and personal life in the case that the KIND property's value is
1081    "individual", or to none in other cases.
1082
1083    ABNF:
1084
1085            type-param = "TYPE=" type-value *("," type-value)
1086
1087            type-value = "work" / "home" / type-param-tel
1088                       / type-param-related / iana-token / x-name
1089              ; This is further defined in individual property sections.
1090
1091 5.7.  MEDIATYPE
1092
1093    The MEDIATYPE parameter is used with properties whose value is a URI.
1094    Its use is OPTIONAL.  It provides a hint to the vCard consumer
1095    application about the media type [RFC2046] of the resource identified
1096    by the URI.  Some URI schemes do not need this parameter.  For
1097    example, the "data" scheme allows the media type to be explicitly
1098    indicated as part of the URI [RFC2397].  Another scheme, "http",
1099    provides the media type as part of the URI resolution process, with
1100    the Content-Type HTTP header [RFC2616].  The MEDIATYPE parameter is
1101    intended to be used with URI schemes that do not provide such
1102    functionality (e.g., "ftp" [RFC1738]).
1103
1104    ABNF:
1105
1106      mediatype-param = "MEDIATYPE=" mediatype
1107      mediatype = type-name "/" subtype-name *( ";" attribute "=" value )
1108        ; "attribute" and "value" are from [RFC2045]
1109        ; "type-name" and "subtype-name" are from [RFC4288]
1110
1111 5.8.  CALSCALE
1112
1113    The CALSCALE parameter is identical to the CALSCALE property in
1114    iCalendar (see [RFC5545], Section 3.7.1).  It is used to define the
1115    calendar system in which a date or date-time value is expressed.  The
1116    only value specified by iCalendar is "gregorian", which stands for
1117    the Gregorian system.  It is the default when the parameter is
1118    absent.  Additional values may be defined in extension documents and
1119
1120
1121
1122 Perreault                    Standards Track                   [Page 20]
1123 \f
1124 RFC 6350                          vCard                      August 2011
1125
1126
1127    registered with IANA (see Section 10.3.4).  A vCard implementation
1128    MUST ignore properties with a CALSCALE parameter value that it does
1129    not understand.
1130
1131    ABNF:
1132
1133            calscale-param = "CALSCALE=" calscale-value
1134
1135            calscale-value = "gregorian" / iana-token / x-name
1136
1137 5.9.  SORT-AS
1138
1139    The "sort-as" parameter is used to specify the string to be used for
1140    national-language-specific sorting.  Without this information,
1141    sorting algorithms could incorrectly sort this vCard within a
1142    sequence of sorted vCards.  When this property is present in a vCard,
1143    then the given strings are used for sorting the vCard.
1144
1145    This parameter's value is a comma-separated list that MUST have as
1146    many or fewer elements as the corresponding property value has
1147    components.  This parameter's value is case-sensitive.
1148
1149    ABNF:
1150
1151      sort-as-param = "SORT-AS=" sort-as-value
1152
1153      sort-as-value = param-value *("," param-value)
1154
1155    Examples: For the case of surname and given name sorting, the
1156    following examples define common sort string usage with the N
1157    property.
1158
1159            FN:Rene van der Harten
1160            N;SORT-AS="Harten,Rene":van der Harten;Rene,J.;Sir;R.D.O.N.
1161
1162            FN:Robert Pau Shou Chang
1163            N;SORT-AS="Pau Shou Chang,Robert":Shou Chang;Robert,Pau;;
1164
1165            FN:Osamu Koura
1166            N;SORT-AS="Koura,Osamu":Koura;Osamu;;
1167
1168            FN:Oscar del Pozo
1169            N;SORT-AS="Pozo,Oscar":del Pozo Triscon;Oscar;;
1170
1171            FN:Chistine d'Aboville
1172            N;SORT-AS="Aboville,Christine":d'Aboville;Christine;;
1173
1174
1175
1176
1177
1178 Perreault                    Standards Track                   [Page 21]
1179 \f
1180 RFC 6350                          vCard                      August 2011
1181
1182
1183            FN:H. James de Mann
1184            N;SORT-AS="Mann,James":de Mann;Henry,James;;
1185
1186    If sorted by surname, the results would be:
1187
1188            Christine d'Aboville
1189            Rene van der Harten
1190            Osamu Koura
1191            H. James de Mann
1192            Robert Pau Shou Chang
1193            Oscar del Pozo
1194
1195    If sorted by given name, the results would be:
1196
1197            Christine d'Aboville
1198            H. James de Mann
1199            Osamu Koura
1200            Oscar del Pozo
1201            Rene van der Harten
1202            Robert Pau Shou Chang
1203
1204 5.10.  GEO
1205
1206    The GEO parameter can be used to indicate global positioning
1207    information that is specific to an address.  Its value is the same as
1208    that of the GEO property (see Section 6.5.2).
1209
1210    ABNF:
1211
1212      geo-parameter = "GEO=" DQUOTE URI DQUOTE
1213
1214 5.11.  TZ
1215
1216    The TZ parameter can be used to indicate time zone information that
1217    is specific to an address.  Its value is the same as that of the TZ
1218    property.
1219
1220    ABNF:
1221
1222      tz-parameter = "TZ=" (param-value / DQUOTE URI DQUOTE)
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234 Perreault                    Standards Track                   [Page 22]
1235 \f
1236 RFC 6350                          vCard                      August 2011
1237
1238
1239 6.  vCard Properties
1240
1241    What follows is an enumeration of the standard vCard properties.
1242
1243 6.1.  General Properties
1244
1245 6.1.1.  BEGIN
1246
1247    Purpose:  To denote the beginning of a syntactic entity within a
1248       text/vcard content-type.
1249
1250    Value type:  text
1251
1252    Cardinality:  1
1253
1254    Special notes:  The content entity MUST begin with the BEGIN property
1255       with a value of "VCARD".  The value is case-insensitive.
1256
1257       The BEGIN property is used in conjunction with the END property to
1258       delimit an entity containing a related set of properties within a
1259       text/vcard content-type.  This construct can be used instead of
1260       including multiple vCards as body parts inside of a multipart/
1261       alternative MIME message.  It is provided for applications that
1262       wish to define content that can contain multiple entities within
1263       the same text/vcard content-type or to define content that can be
1264       identifiable outside of a MIME environment.
1265
1266    ABNF:
1267
1268      BEGIN-param = 0" "  ; no parameter allowed
1269      BEGIN-value = "VCARD"
1270
1271    Example:
1272
1273          BEGIN:VCARD
1274
1275 6.1.2.  END
1276
1277    Purpose:  To denote the end of a syntactic entity within a text/vcard
1278       content-type.
1279
1280    Value type:  text
1281
1282    Cardinality:  1
1283
1284    Special notes:  The content entity MUST end with the END type with a
1285       value of "VCARD".  The value is case-insensitive.
1286
1287
1288
1289
1290 Perreault                    Standards Track                   [Page 23]
1291 \f
1292 RFC 6350                          vCard                      August 2011
1293
1294
1295       The END property is used in conjunction with the BEGIN property to
1296       delimit an entity containing a related set of properties within a
1297       text/vcard content-type.  This construct can be used instead of or
1298       in addition to wrapping separate sets of information inside
1299       additional MIME headers.  It is provided for applications that
1300       wish to define content that can contain multiple entities within
1301       the same text/vcard content-type or to define content that can be
1302       identifiable outside of a MIME environment.
1303
1304    ABNF:
1305
1306      END-param = 0" "  ; no parameter allowed
1307      END-value = "VCARD"
1308
1309    Example:
1310
1311          END:VCARD
1312
1313 6.1.3.  SOURCE
1314
1315    Purpose:  To identify the source of directory information contained
1316       in the content type.
1317
1318    Value type:  uri
1319
1320    Cardinality:  *
1321
1322    Special notes:  The SOURCE property is used to provide the means by
1323       which applications knowledgable in the given directory service
1324       protocol can obtain additional or more up-to-date information from
1325       the directory service.  It contains a URI as defined in [RFC3986]
1326       and/or other information referencing the vCard to which the
1327       information pertains.  When directory information is available
1328       from more than one source, the sending entity can pick what it
1329       considers to be the best source, or multiple SOURCE properties can
1330       be included.
1331
1332    ABNF:
1333
1334      SOURCE-param = "VALUE=uri" / pid-param / pref-param / altid-param
1335                   / mediatype-param / any-param
1336      SOURCE-value = URI
1337
1338    Examples:
1339
1340      SOURCE:ldap://ldap.example.com/cn=Babs%20Jensen,%20o=Babsco,%20c=US
1341
1342
1343
1344
1345
1346 Perreault                    Standards Track                   [Page 24]
1347 \f
1348 RFC 6350                          vCard                      August 2011
1349
1350
1351      SOURCE:http://directory.example.com/addressbooks/jdoe/
1352       Jean%20Dupont.vcf
1353
1354 6.1.4.  KIND
1355
1356    Purpose:  To specify the kind of object the vCard represents.
1357
1358    Value type:  A single text value.
1359
1360    Cardinality:  *1
1361
1362    Special notes:  The value may be one of the following:
1363
1364       "individual"  for a vCard representing a single person or entity.
1365          This is the default kind of vCard.
1366
1367       "group"  for a vCard representing a group of persons or entities.
1368          The group's member entities can be other vCards or other types
1369          of entities, such as email addresses or web sites.  A group
1370          vCard will usually contain MEMBER properties to specify the
1371          members of the group, but it is not required to.  A group vCard
1372          without MEMBER properties can be considered an abstract
1373          grouping, or one whose members are known empirically (perhaps
1374          "IETF Participants" or "Republican U.S. Senators").
1375
1376          All properties in a group vCard apply to the group as a whole,
1377          and not to any particular MEMBER.  For example, an EMAIL
1378          property might specify the address of a mailing list associated
1379          with the group, and an IMPP property might refer to a group
1380          chat room.
1381
1382       "org"  for a vCard representing an organization.  An organization
1383          vCard will not (in fact, MUST NOT) contain MEMBER properties,
1384          and so these are something of a cross between "individual" and
1385          "group".  An organization is a single entity, but not a person.
1386          It might represent a business or government, a department or
1387          division within a business or government, a club, an
1388          association, or the like.
1389
1390          All properties in an organization vCard apply to the
1391          organization as a whole, as is the case with a group vCard.
1392          For example, an EMAIL property might specify the address of a
1393          contact point for the organization.
1394
1395
1396
1397
1398
1399
1400
1401
1402 Perreault                    Standards Track                   [Page 25]
1403 \f
1404 RFC 6350                          vCard                      August 2011
1405
1406
1407       "location"  for a named geographical place.  A location vCard will
1408          usually contain a GEO property, but it is not required to.  A
1409          location vCard without a GEO property can be considered an
1410          abstract location, or one whose definition is known empirically
1411          (perhaps "New England" or "The Seashore").
1412
1413          All properties in a location vCard apply to the location
1414          itself, and not with any entity that might exist at that
1415          location.  For example, in a vCard for an office building, an
1416          ADR property might give the mailing address for the building,
1417          and a TEL property might specify the telephone number of the
1418          receptionist.
1419
1420       An x-name.  vCards MAY include private or experimental values for
1421          KIND.  Remember that x-name values are not intended for general
1422          use and are unlikely to interoperate.
1423
1424       An iana-token.  Additional values may be registered with IANA (see
1425          Section 10.3.4).  A new value's specification document MUST
1426          specify which properties make sense for that new kind of vCard
1427          and which do not.
1428
1429       Implementations MUST support the specific string values defined
1430       above.  If this property is absent, "individual" MUST be assumed
1431       as the default.  If this property is present but the
1432       implementation does not understand its value (the value is an
1433       x-name or iana-token that the implementation does not support),
1434       the implementation SHOULD act in a neutral way, which usually
1435       means treating the vCard as though its kind were "individual".
1436       The presence of MEMBER properties MAY, however, be taken as an
1437       indication that the unknown kind is an extension of "group".
1438
1439       Clients often need to visually distinguish contacts based on what
1440       they represent, and the KIND property provides a direct way for
1441       them to do so.  For example, when displaying contacts in a list,
1442       an icon could be displayed next to each one, using distinctive
1443       icons for the different kinds; a client might use an outline of a
1444       single person to represent an "individual", an outline of multiple
1445       people to represent a "group", and so on.  Alternatively, or in
1446       addition, a client might choose to segregate different kinds of
1447       vCards to different panes, tabs, or selections in the user
1448       interface.
1449
1450       Some clients might also make functional distinctions among the
1451       kinds, ignoring "location" vCards for some purposes and
1452       considering only "location" vCards for others.
1453
1454
1455
1456
1457
1458 Perreault                    Standards Track                   [Page 26]
1459 \f
1460 RFC 6350                          vCard                      August 2011
1461
1462
1463       When designing those sorts of visual and functional distinctions,
1464       client implementations have to decide how to fit unsupported kinds
1465       into the scheme.  What icon is used for them?  The one for
1466       "individual"?  A unique one, such as an icon of a question mark?
1467       Which tab do they go into?  It is beyond the scope of this
1468       specification to answer these questions, but these are things
1469       implementers need to consider.
1470
1471    ABNF:
1472
1473      KIND-param = "VALUE=text" / any-param
1474      KIND-value = "individual" / "group" / "org" / "location"
1475                 / iana-token / x-name
1476
1477    Example:
1478
1479       This represents someone named Jane Doe working in the marketing
1480       department of the North American division of ABC Inc.
1481
1482          BEGIN:VCARD
1483          VERSION:4.0
1484          KIND:individual
1485          FN:Jane Doe
1486          ORG:ABC\, Inc.;North American Division;Marketing
1487          END:VCARD
1488
1489    This represents the department itself, commonly known as ABC
1490    Marketing.
1491
1492          BEGIN:VCARD
1493          VERSION:4.0
1494          KIND:org
1495          FN:ABC Marketing
1496          ORG:ABC\, Inc.;North American Division;Marketing
1497          END:VCARD
1498
1499 6.1.5.  XML
1500
1501    Purpose:  To include extended XML-encoded vCard data in a plain
1502       vCard.
1503
1504    Value type:  A single text value.
1505
1506    Cardinality:  *
1507
1508    Special notes:  The content of this property is a single XML 1.0
1509       [W3C.REC-xml-20081126] element whose namespace MUST be explicitly
1510       specified using the xmlns attribute and MUST NOT be the vCard 4
1511
1512
1513
1514 Perreault                    Standards Track                   [Page 27]
1515 \f
1516 RFC 6350                          vCard                      August 2011
1517
1518
1519       namespace ("urn:ietf:params:xml:ns:vcard-4.0").  (This implies
1520       that it cannot duplicate a standard vCard property.)  The element
1521       is to be interpreted as if it was contained in a <vcard> element,
1522       as defined in [RFC6351].
1523
1524       The fragment is subject to normal line folding and escaping, i.e.,
1525       replace all backslashes with "\\", then replace all newlines with
1526       "\n", then fold long lines.
1527
1528       Support for this property is OPTIONAL, but implementations of this
1529       specification MUST preserve instances of this property when
1530       propagating vCards.
1531
1532       See [RFC6351] for more information on the intended use of this
1533       property.
1534
1535    ABNF:
1536
1537      XML-param = "VALUE=text" / altid-param
1538      XML-value = text
1539
1540 6.2.  Identification Properties
1541
1542    These types are used to capture information associated with the
1543    identification and naming of the entity associated with the vCard.
1544
1545 6.2.1.  FN
1546
1547    Purpose:  To specify the formatted text corresponding to the name of
1548       the object the vCard represents.
1549
1550    Value type:  A single text value.
1551
1552    Cardinality:  1*
1553
1554    Special notes:  This property is based on the semantics of the X.520
1555       Common Name attribute [CCITT.X520.1988].  The property MUST be
1556       present in the vCard object.
1557
1558    ABNF:
1559
1560      FN-param = "VALUE=text" / type-param / language-param / altid-param
1561               / pid-param / pref-param / any-param
1562      FN-value = text
1563
1564    Example:
1565
1566          FN:Mr. John Q. Public\, Esq.
1567
1568
1569
1570 Perreault                    Standards Track                   [Page 28]
1571 \f
1572 RFC 6350                          vCard                      August 2011
1573
1574
1575 6.2.2.  N
1576
1577    Purpose:  To specify the components of the name of the object the
1578       vCard represents.
1579
1580    Value type:  A single structured text value.  Each component can have
1581       multiple values.
1582
1583    Cardinality:  *1
1584
1585    Special note:  The structured property value corresponds, in
1586       sequence, to the Family Names (also known as surnames), Given
1587       Names, Additional Names, Honorific Prefixes, and Honorific
1588       Suffixes.  The text components are separated by the SEMICOLON
1589       character (U+003B).  Individual text components can include
1590       multiple text values separated by the COMMA character (U+002C).
1591       This property is based on the semantics of the X.520 individual
1592       name attributes [CCITT.X520.1988].  The property SHOULD be present
1593       in the vCard object when the name of the object the vCard
1594       represents follows the X.520 model.
1595
1596       The SORT-AS parameter MAY be applied to this property.
1597
1598    ABNF:
1599
1600      N-param = "VALUE=text" / sort-as-param / language-param
1601              / altid-param / any-param
1602      N-value = list-component 4(";" list-component)
1603
1604    Examples:
1605
1606              N:Public;John;Quinlan;Mr.;Esq.
1607
1608              N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.
1609
1610 6.2.3.  NICKNAME
1611
1612    Purpose:  To specify the text corresponding to the nickname of the
1613       object the vCard represents.
1614
1615    Value type:  One or more text values separated by a COMMA character
1616       (U+002C).
1617
1618    Cardinality:  *
1619
1620
1621
1622
1623
1624
1625
1626 Perreault                    Standards Track                   [Page 29]
1627 \f
1628 RFC 6350                          vCard                      August 2011
1629
1630
1631    Special note:  The nickname is the descriptive name given instead of
1632       or in addition to the one belonging to the object the vCard
1633       represents.  It can also be used to specify a familiar form of a
1634       proper name specified by the FN or N properties.
1635
1636    ABNF:
1637
1638      NICKNAME-param = "VALUE=text" / type-param / language-param
1639                     / altid-param / pid-param / pref-param / any-param
1640      NICKNAME-value = text-list
1641
1642    Examples:
1643
1644              NICKNAME:Robbie
1645
1646              NICKNAME:Jim,Jimmie
1647
1648              NICKNAME;TYPE=work:Boss
1649
1650 6.2.4.  PHOTO
1651
1652    Purpose:  To specify an image or photograph information that
1653       annotates some aspect of the object the vCard represents.
1654
1655    Value type:  A single URI.
1656
1657    Cardinality:  *
1658
1659    ABNF:
1660
1661      PHOTO-param = "VALUE=uri" / altid-param / type-param
1662                  / mediatype-param / pref-param / pid-param / any-param
1663      PHOTO-value = URI
1664
1665    Examples:
1666
1667        PHOTO:http://www.example.com/pub/photos/jqpublic.gif
1668
1669        PHOTO:data:image/jpeg;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhv
1670         AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
1671         ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
1672         <...remainder of base64-encoded data...>
1673
1674 6.2.5.  BDAY
1675
1676    Purpose:  To specify the birth date of the object the vCard
1677       represents.
1678
1679
1680
1681
1682 Perreault                    Standards Track                   [Page 30]
1683 \f
1684 RFC 6350                          vCard                      August 2011
1685
1686
1687    Value type:  The default is a single date-and-or-time value.  It can
1688       also be reset to a single text value.
1689
1690    Cardinality:  *1
1691
1692    ABNF:
1693
1694      BDAY-param = BDAY-param-date / BDAY-param-text
1695      BDAY-value = date-and-or-time / text
1696        ; Value and parameter MUST match.
1697
1698      BDAY-param-date = "VALUE=date-and-or-time"
1699      BDAY-param-text = "VALUE=text" / language-param
1700
1701      BDAY-param =/ altid-param / calscale-param / any-param
1702        ; calscale-param can only be present when BDAY-value is
1703        ; date-and-or-time and actually contains a date or date-time.
1704
1705    Examples:
1706
1707              BDAY:19960415
1708              BDAY:--0415
1709              BDAY;19531015T231000Z
1710              BDAY;VALUE=text:circa 1800
1711
1712 6.2.6.  ANNIVERSARY
1713
1714    Purpose:  The date of marriage, or equivalent, of the object the
1715       vCard represents.
1716
1717    Value type:  The default is a single date-and-or-time value.  It can
1718       also be reset to a single text value.
1719
1720    Cardinality:  *1
1721
1722    ABNF:
1723
1724      ANNIVERSARY-param = "VALUE=" ("date-and-or-time" / "text")
1725      ANNIVERSARY-value = date-and-or-time / text
1726        ; Value and parameter MUST match.
1727
1728      ANNIVERSARY-param =/ altid-param / calscale-param / any-param
1729        ; calscale-param can only be present when ANNIVERSARY-value is
1730        ; date-and-or-time and actually contains a date or date-time.
1731
1732    Examples:
1733
1734              ANNIVERSARY:19960415
1735
1736
1737
1738 Perreault                    Standards Track                   [Page 31]
1739 \f
1740 RFC 6350                          vCard                      August 2011
1741
1742
1743 6.2.7.  GENDER
1744
1745    Purpose:  To specify the components of the sex and gender identity of
1746       the object the vCard represents.
1747
1748    Value type:  A single structured value with two components.  Each
1749       component has a single text value.
1750
1751    Cardinality:  *1
1752
1753    Special notes:  The components correspond, in sequence, to the sex
1754       (biological), and gender identity.  Each component is optional.
1755
1756       Sex component:  A single letter.  M stands for "male", F stands
1757          for "female", O stands for "other", N stands for "none or not
1758          applicable", U stands for "unknown".
1759
1760       Gender identity component:  Free-form text.
1761
1762    ABNF:
1763
1764                    GENDER-param = "VALUE=text" / any-param
1765                    GENDER-value = sex [";" text]
1766
1767                    sex = "" / "M" / "F" / "O" / "N" / "U"
1768
1769    Examples:
1770
1771      GENDER:M
1772      GENDER:F
1773      GENDER:M;Fellow
1774      GENDER:F;grrrl
1775      GENDER:O;intersex
1776      GENDER:;it's complicated
1777
1778 6.3.  Delivery Addressing Properties
1779
1780    These types are concerned with information related to the delivery
1781    addressing or label for the vCard object.
1782
1783 6.3.1.  ADR
1784
1785    Purpose:  To specify the components of the delivery address for the
1786       vCard object.
1787
1788    Value type:  A single structured text value, separated by the
1789       SEMICOLON character (U+003B).
1790
1791
1792
1793
1794 Perreault                    Standards Track                   [Page 32]
1795 \f
1796 RFC 6350                          vCard                      August 2011
1797
1798
1799    Cardinality:  *
1800
1801    Special notes:  The structured type value consists of a sequence of
1802       address components.  The component values MUST be specified in
1803       their corresponding position.  The structured type value
1804       corresponds, in sequence, to
1805          the post office box;
1806          the extended address (e.g., apartment or suite number);
1807          the street address;
1808          the locality (e.g., city);
1809          the region (e.g., state or province);
1810          the postal code;
1811          the country name (full name in the language specified in
1812          Section 5.1).
1813
1814       When a component value is missing, the associated component
1815       separator MUST still be specified.
1816
1817       Experience with vCard 3 has shown that the first two components
1818       (post office box and extended address) are plagued with many
1819       interoperability issues.  To ensure maximal interoperability,
1820       their values SHOULD be empty.
1821
1822       The text components are separated by the SEMICOLON character
1823       (U+003B).  Where it makes semantic sense, individual text
1824       components can include multiple text values (e.g., a "street"
1825       component with multiple lines) separated by the COMMA character
1826       (U+002C).
1827
1828       The property can include the "PREF" parameter to indicate the
1829       preferred delivery address when more than one address is
1830       specified.
1831
1832       The GEO and TZ parameters MAY be used with this property.
1833
1834       The property can also include a "LABEL" parameter to present a
1835       delivery address label for the address.  Its value is a plain-text
1836       string representing the formatted address.  Newlines are encoded
1837       as \n, as they are for property values.
1838
1839    ABNF:
1840
1841      label-param = "LABEL=" param-value
1842
1843      ADR-param = "VALUE=text" / label-param / language-param
1844                / geo-parameter / tz-parameter / altid-param / pid-param
1845                / pref-param / type-param / any-param
1846
1847
1848
1849
1850 Perreault                    Standards Track                   [Page 33]
1851 \f
1852 RFC 6350                          vCard                      August 2011
1853
1854
1855      ADR-value = ADR-component-pobox ";" ADR-component-ext ";"
1856                  ADR-component-street ";" ADR-component-locality ";"
1857                  ADR-component-region ";" ADR-component-code ";"
1858                  ADR-component-country
1859      ADR-component-pobox    = list-component
1860      ADR-component-ext      = list-component
1861      ADR-component-street   = list-component
1862      ADR-component-locality = list-component
1863      ADR-component-region   = list-component
1864      ADR-component-code     = list-component
1865      ADR-component-country  = list-component
1866
1867    Example: In this example, the post office box and the extended
1868    address are absent.
1869
1870      ADR;GEO="geo:12.3457,78.910";LABEL="Mr. John Q. Public, Esq.\n
1871       Mail Drop: TNE QB\n123 Main Street\nAny Town, CA  91921-1234\n
1872       U.S.A.":;;123 Main Street;Any Town;CA;91921-1234;U.S.A.
1873
1874 6.4.  Communications Properties
1875
1876    These properties describe information about how to communicate with
1877    the object the vCard represents.
1878
1879 6.4.1.  TEL
1880
1881    Purpose:  To specify the telephone number for telephony communication
1882       with the object the vCard represents.
1883
1884    Value type:  By default, it is a single free-form text value (for
1885       backward compatibility with vCard 3), but it SHOULD be reset to a
1886       URI value.  It is expected that the URI scheme will be "tel", as
1887       specified in [RFC3966], but other schemes MAY be used.
1888
1889    Cardinality:  *
1890
1891    Special notes:  This property is based on the X.520 Telephone Number
1892       attribute [CCITT.X520.1988].
1893
1894       The property can include the "PREF" parameter to indicate a
1895       preferred-use telephone number.
1896
1897       The property can include the parameter "TYPE" to specify intended
1898       use for the telephone number.  The predefined values for the TYPE
1899       parameter are:
1900
1901
1902
1903
1904
1905
1906 Perreault                    Standards Track                   [Page 34]
1907 \f
1908 RFC 6350                          vCard                      August 2011
1909
1910
1911    +-----------+-------------------------------------------------------+
1912    | Value     | Description                                           |
1913    +-----------+-------------------------------------------------------+
1914    | text      | Indicates that the telephone number supports text     |
1915    |           | messages (SMS).                                       |
1916    | voice     | Indicates a voice telephone number.                   |
1917    | fax       | Indicates a facsimile telephone number.               |
1918    | cell      | Indicates a cellular or mobile telephone number.      |
1919    | video     | Indicates a video conferencing telephone number.      |
1920    | pager     | Indicates a paging device telephone number.           |
1921    | textphone | Indicates a telecommunication device for people with  |
1922    |           | hearing or speech difficulties.                       |
1923    +-----------+-------------------------------------------------------+
1924
1925       The default type is "voice".  These type parameter values can be
1926       specified as a parameter list (e.g., TYPE=text;TYPE=voice) or as a
1927       value list (e.g., TYPE="text,voice").  The default can be
1928       overridden to another set of values by specifying one or more
1929       alternate values.  For example, the default TYPE of "voice" can be
1930       reset to a VOICE and FAX telephone number by the value list
1931       TYPE="voice,fax".
1932
1933       If this property's value is a URI that can also be used for
1934       instant messaging, the IMPP (Section 6.4.3) property SHOULD be
1935       used in addition to this property.
1936
1937    ABNF:
1938
1939      TEL-param = TEL-text-param / TEL-uri-param
1940      TEL-value = TEL-text-value / TEL-uri-value
1941        ; Value and parameter MUST match.
1942
1943      TEL-text-param = "VALUE=text"
1944      TEL-text-value = text
1945
1946      TEL-uri-param = "VALUE=uri" / mediatype-param
1947      TEL-uri-value = URI
1948
1949      TEL-param =/ type-param / pid-param / pref-param / altid-param
1950                 / any-param
1951
1952      type-param-tel = "text" / "voice" / "fax" / "cell" / "video"
1953                     / "pager" / "textphone" / iana-token / x-name
1954        ; type-param-tel MUST NOT be used with a property other than TEL.
1955
1956
1957
1958
1959
1960
1961
1962 Perreault                    Standards Track                   [Page 35]
1963 \f
1964 RFC 6350                          vCard                      August 2011
1965
1966
1967    Example:
1968
1969      TEL;VALUE=uri;PREF=1;TYPE="voice,home":tel:+1-555-555-5555;ext=5555
1970      TEL;VALUE=uri;TYPE=home:tel:+33-01-23-45-67
1971
1972 6.4.2.  EMAIL
1973
1974    Purpose:  To specify the electronic mail address for communication
1975       with the object the vCard represents.
1976
1977    Value type:  A single text value.
1978
1979    Cardinality:  *
1980
1981    Special notes:  The property can include tye "PREF" parameter to
1982       indicate a preferred-use email address when more than one is
1983       specified.
1984
1985       Even though the value is free-form UTF-8 text, it is likely to be
1986       interpreted by a Mail User Agent (MUA) as an "addr-spec", as
1987       defined in [RFC5322], Section 3.4.1.  Readers should also be aware
1988       of the current work toward internationalized email addresses
1989       [RFC5335bis].
1990
1991    ABNF:
1992
1993      EMAIL-param = "VALUE=text" / pid-param / pref-param / type-param
1994                  / altid-param / any-param
1995      EMAIL-value = text
1996
1997    Example:
1998
1999            EMAIL;TYPE=work:jqpublic@xyz.example.com
2000
2001            EMAIL;PREF=1:jane_doe@example.com
2002
2003 6.4.3.  IMPP
2004
2005    Purpose:  To specify the URI for instant messaging and presence
2006       protocol communications with the object the vCard represents.
2007
2008    Value type:  A single URI.
2009
2010    Cardinality:  *
2011
2012    Special notes:  The property may include the "PREF" parameter to
2013       indicate that this is a preferred address and has the same
2014       semantics as the "PREF" parameter in a TEL property.
2015
2016
2017
2018 Perreault                    Standards Track                   [Page 36]
2019 \f
2020 RFC 6350                          vCard                      August 2011
2021
2022
2023       If this property's value is a URI that can be used for voice
2024       and/or video, the TEL property (Section 6.4.1) SHOULD be used in
2025       addition to this property.
2026
2027       This property is adapted from [RFC4770], which is made obsolete by
2028       this document.
2029
2030    ABNF:
2031
2032      IMPP-param = "VALUE=uri" / pid-param / pref-param / type-param
2033                 / mediatype-param / altid-param / any-param
2034      IMPP-value = URI
2035
2036    Example:
2037
2038        IMPP;PREF=1:xmpp:alice@example.com
2039
2040 6.4.4.  LANG
2041
2042    Purpose:  To specify the language(s) that may be used for contacting
2043       the entity associated with the vCard.
2044
2045    Value type:  A single language-tag value.
2046
2047    Cardinality:  *
2048
2049    ABNF:
2050
2051      LANG-param = "VALUE=language-tag" / pid-param / pref-param
2052                 / altid-param / type-param / any-param
2053      LANG-value = Language-Tag
2054
2055    Example:
2056
2057        LANG;TYPE=work;PREF=1:en
2058        LANG;TYPE=work;PREF=2:fr
2059        LANG;TYPE=home:fr
2060
2061 6.5.  Geographical Properties
2062
2063    These properties are concerned with information associated with
2064    geographical positions or regions associated with the object the
2065    vCard represents.
2066
2067 6.5.1.  TZ
2068
2069    Purpose:  To specify information related to the time zone of the
2070       object the vCard represents.
2071
2072
2073
2074 Perreault                    Standards Track                   [Page 37]
2075 \f
2076 RFC 6350                          vCard                      August 2011
2077
2078
2079    Value type:  The default is a single text value.  It can also be
2080       reset to a single URI or utc-offset value.
2081
2082    Cardinality:  *
2083
2084    Special notes:  It is expected that names from the public-domain
2085       Olson database [TZ-DB] will be used, but this is not a
2086       restriction.  See also [IANA-TZ].
2087
2088       Efforts are currently being directed at creating a standard URI
2089       scheme for expressing time zone information.  Usage of such a
2090       scheme would ensure a high level of interoperability between
2091       implementations that support it.
2092
2093       Note that utc-offset values SHOULD NOT be used because the UTC
2094       offset varies with time -- not just because of the usual daylight
2095       saving time shifts that occur in may regions, but often entire
2096       regions will "re-base" their overall offset.  The actual offset
2097       may be +/- 1 hour (or perhaps a little more) than the one given.
2098
2099    ABNF:
2100
2101      TZ-param = "VALUE=" ("text" / "uri" / "utc-offset")
2102      TZ-value = text / URI / utc-offset
2103        ; Value and parameter MUST match.
2104
2105      TZ-param =/ altid-param / pid-param / pref-param / type-param
2106                / mediatype-param / any-param
2107
2108    Examples:
2109
2110      TZ:Raleigh/North America
2111
2112      TZ;VALUE=utc-offset:-0500
2113        ; Note: utc-offset format is NOT RECOMMENDED.
2114
2115 6.5.2.  GEO
2116
2117    Purpose:  To specify information related to the global positioning of
2118       the object the vCard represents.
2119
2120    Value type:  A single URI.
2121
2122    Cardinality:  *
2123
2124    Special notes:  The "geo" URI scheme [RFC5870] is particularly well
2125       suited for this property, but other schemes MAY be used.
2126
2127
2128
2129
2130 Perreault                    Standards Track                   [Page 38]
2131 \f
2132 RFC 6350                          vCard                      August 2011
2133
2134
2135    ABNF:
2136
2137      GEO-param = "VALUE=uri" / pid-param / pref-param / type-param
2138                / mediatype-param / altid-param / any-param
2139      GEO-value = URI
2140
2141    Example:
2142
2143            GEO:geo:37.386013,-122.082932
2144
2145 6.6.  Organizational Properties
2146
2147    These properties are concerned with information associated with
2148    characteristics of the organization or organizational units of the
2149    object that the vCard represents.
2150
2151 6.6.1.  TITLE
2152
2153    Purpose:  To specify the position or job of the object the vCard
2154       represents.
2155
2156    Value type:  A single text value.
2157
2158    Cardinality:  *
2159
2160    Special notes:  This property is based on the X.520 Title attribute
2161       [CCITT.X520.1988].
2162
2163    ABNF:
2164
2165      TITLE-param = "VALUE=text" / language-param / pid-param
2166                  / pref-param / altid-param / type-param / any-param
2167      TITLE-value = text
2168
2169    Example:
2170
2171            TITLE:Research Scientist
2172
2173 6.6.2.  ROLE
2174
2175    Purpose:  To specify the function or part played in a particular
2176       situation by the object the vCard represents.
2177
2178    Value type:  A single text value.
2179
2180    Cardinality:  *
2181
2182
2183
2184
2185
2186 Perreault                    Standards Track                   [Page 39]
2187 \f
2188 RFC 6350                          vCard                      August 2011
2189
2190
2191    Special notes:  This property is based on the X.520 Business Category
2192       explanatory attribute [CCITT.X520.1988].  This property is
2193       included as an organizational type to avoid confusion with the
2194       semantics of the TITLE property and incorrect usage of that
2195       property when the semantics of this property is intended.
2196
2197    ABNF:
2198
2199      ROLE-param = "VALUE=text" / language-param / pid-param / pref-param
2200                 / type-param / altid-param / any-param
2201      ROLE-value = text
2202
2203    Example:
2204
2205            ROLE:Project Leader
2206
2207 6.6.3.  LOGO
2208
2209    Purpose:  To specify a graphic image of a logo associated with the
2210       object the vCard represents.
2211
2212    Value type:  A single URI.
2213
2214    Cardinality:  *
2215
2216    ABNF:
2217
2218      LOGO-param = "VALUE=uri" / language-param / pid-param / pref-param
2219                 / type-param / mediatype-param / altid-param / any-param
2220      LOGO-value = URI
2221
2222    Examples:
2223
2224      LOGO:http://www.example.com/pub/logos/abccorp.jpg
2225
2226      LOGO:data:image/jpeg;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvc
2227       AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
2228       ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
2229       <...the remainder of base64-encoded data...>
2230
2231 6.6.4.  ORG
2232
2233    Purpose:  To specify the organizational name and units associated
2234       with the vCard.
2235
2236    Value type:  A single structured text value consisting of components
2237       separated by the SEMICOLON character (U+003B).
2238
2239
2240
2241
2242 Perreault                    Standards Track                   [Page 40]
2243 \f
2244 RFC 6350                          vCard                      August 2011
2245
2246
2247    Cardinality:  *
2248
2249    Special notes:  The property is based on the X.520 Organization Name
2250       and Organization Unit attributes [CCITT.X520.1988].  The property
2251       value is a structured type consisting of the organization name,
2252       followed by zero or more levels of organizational unit names.
2253
2254       The SORT-AS parameter MAY be applied to this property.
2255
2256    ABNF:
2257
2258      ORG-param = "VALUE=text" / sort-as-param / language-param
2259                / pid-param / pref-param / altid-param / type-param
2260                / any-param
2261      ORG-value = component *(";" component)
2262
2263    Example: A property value consisting of an organizational name,
2264    organizational unit #1 name, and organizational unit #2 name.
2265
2266            ORG:ABC\, Inc.;North American Division;Marketing
2267
2268 6.6.5.  MEMBER
2269
2270    Purpose:  To include a member in the group this vCard represents.
2271
2272    Value type:  A single URI.  It MAY refer to something other than a
2273       vCard object.  For example, an email distribution list could
2274       employ the "mailto" URI scheme [RFC6068] for efficiency.
2275
2276    Cardinality:  *
2277
2278    Special notes:  This property MUST NOT be present unless the value of
2279       the KIND property is "group".
2280
2281    ABNF:
2282
2283      MEMBER-param = "VALUE=uri" / pid-param / pref-param / altid-param
2284                   / mediatype-param / any-param
2285      MEMBER-value = URI
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298 Perreault                    Standards Track                   [Page 41]
2299 \f
2300 RFC 6350                          vCard                      August 2011
2301
2302
2303    Examples:
2304
2305      BEGIN:VCARD
2306      VERSION:4.0
2307      KIND:group
2308      FN:The Doe family
2309      MEMBER:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af
2310      MEMBER:urn:uuid:b8767877-b4a1-4c70-9acc-505d3819e519
2311      END:VCARD
2312      BEGIN:VCARD
2313      VERSION:4.0
2314      FN:John Doe
2315      UID:urn:uuid:03a0e51f-d1aa-4385-8a53-e29025acd8af
2316      END:VCARD
2317      BEGIN:VCARD
2318      VERSION:4.0
2319      FN:Jane Doe
2320      UID:urn:uuid:b8767877-b4a1-4c70-9acc-505d3819e519
2321      END:VCARD
2322
2323      BEGIN:VCARD
2324      VERSION:4.0
2325      KIND:group
2326      FN:Funky distribution list
2327      MEMBER:mailto:subscriber1@example.com
2328      MEMBER:xmpp:subscriber2@example.com
2329      MEMBER:sip:subscriber3@example.com
2330      MEMBER:tel:+1-418-555-5555
2331      END:VCARD
2332
2333 6.6.6.  RELATED
2334
2335    Purpose:  To specify a relationship between another entity and the
2336       entity represented by this vCard.
2337
2338    Value type:  A single URI.  It can also be reset to a single text
2339       value.  The text value can be used to specify textual information.
2340
2341    Cardinality:  *
2342
2343    Special notes:  The TYPE parameter MAY be used to characterize the
2344       related entity.  It contains a comma-separated list of values that
2345       are registered with IANA as described in Section 10.2.  The
2346       registry is pre-populated with the values defined in [xfn].  This
2347       document also specifies two additional values:
2348
2349       agent:  an entity who may sometimes act on behalf of the entity
2350          associated with the vCard.
2351
2352
2353
2354 Perreault                    Standards Track                   [Page 42]
2355 \f
2356 RFC 6350                          vCard                      August 2011
2357
2358
2359       emergency:  indicates an emergency contact
2360
2361    ABNF:
2362
2363      RELATED-param = RELATED-param-uri / RELATED-param-text
2364      RELATED-value = URI / text
2365        ; Parameter and value MUST match.
2366
2367      RELATED-param-uri = "VALUE=uri" / mediatype-param
2368      RELATED-param-text = "VALUE=text" / language-param
2369
2370      RELATED-param =/ pid-param / pref-param / altid-param / type-param
2371                     / any-param
2372
2373      type-param-related = related-type-value *("," related-type-value)
2374        ; type-param-related MUST NOT be used with a property other than
2375        ; RELATED.
2376
2377      related-type-value = "contact" / "acquaintance" / "friend" / "met"
2378                         / "co-worker" / "colleague" / "co-resident"
2379                         / "neighbor" / "child" / "parent"
2380                         / "sibling" / "spouse" / "kin" / "muse"
2381                         / "crush" / "date" / "sweetheart" / "me"
2382                         / "agent" / "emergency"
2383
2384    Examples:
2385
2386    RELATED;TYPE=friend:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
2387    RELATED;TYPE=contact:http://example.com/directory/jdoe.vcf
2388    RELATED;TYPE=co-worker;VALUE=text:Please contact my assistant Jane
2389     Doe for any inquiries.
2390
2391 6.7.  Explanatory Properties
2392
2393    These properties are concerned with additional explanations, such as
2394    that related to informational notes or revisions specific to the
2395    vCard.
2396
2397 6.7.1.  CATEGORIES
2398
2399    Purpose:  To specify application category information about the
2400       vCard, also known as "tags".
2401
2402    Value type:  One or more text values separated by a COMMA character
2403       (U+002C).
2404
2405    Cardinality:  *
2406
2407
2408
2409
2410 Perreault                    Standards Track                   [Page 43]
2411 \f
2412 RFC 6350                          vCard                      August 2011
2413
2414
2415    ABNF:
2416
2417      CATEGORIES-param = "VALUE=text" / pid-param / pref-param
2418                       / type-param / altid-param / any-param
2419      CATEGORIES-value = text-list
2420
2421    Example:
2422
2423            CATEGORIES:TRAVEL AGENT
2424
2425            CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY
2426
2427 6.7.2.  NOTE
2428
2429    Purpose:  To specify supplemental information or a comment that is
2430       associated with the vCard.
2431
2432    Value type:  A single text value.
2433
2434    Cardinality:  *
2435
2436    Special notes:  The property is based on the X.520 Description
2437       attribute [CCITT.X520.1988].
2438
2439    ABNF:
2440
2441      NOTE-param = "VALUE=text" / language-param / pid-param / pref-param
2442                 / type-param / altid-param / any-param
2443      NOTE-value = text
2444
2445    Example:
2446
2447            NOTE:This fax number is operational 0800 to 1715
2448              EST\, Mon-Fri.
2449
2450 6.7.3.  PRODID
2451
2452    Purpose:  To specify the identifier for the product that created the
2453       vCard object.
2454
2455    Type value:  A single text value.
2456
2457    Cardinality:  *1
2458
2459    Special notes:  Implementations SHOULD use a method such as that
2460       specified for Formal Public Identifiers in [ISO9070] or for
2461       Universal Resource Names in [RFC3406] to ensure that the text
2462       value is unique.
2463
2464
2465
2466 Perreault                    Standards Track                   [Page 44]
2467 \f
2468 RFC 6350                          vCard                      August 2011
2469
2470
2471    ABNF:
2472
2473      PRODID-param = "VALUE=text" / any-param
2474      PRODID-value = text
2475
2476    Example:
2477
2478            PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN
2479
2480 6.7.4.  REV
2481
2482    Purpose:  To specify revision information about the current vCard.
2483
2484    Value type:  A single timestamp value.
2485
2486    Cardinality:  *1
2487
2488    Special notes:  The value distinguishes the current revision of the
2489       information in this vCard for other renditions of the information.
2490
2491    ABNF:
2492
2493      REV-param = "VALUE=timestamp" / any-param
2494      REV-value = timestamp
2495
2496    Example:
2497
2498            REV:19951031T222710Z
2499
2500 6.7.5.  SOUND
2501
2502    Purpose:  To specify a digital sound content information that
2503       annotates some aspect of the vCard.  This property is often used
2504       to specify the proper pronunciation of the name property value of
2505       the vCard.
2506
2507    Value type:  A single URI.
2508
2509    Cardinality:  *
2510
2511    ABNF:
2512
2513      SOUND-param = "VALUE=uri" / language-param / pid-param / pref-param
2514                  / type-param / mediatype-param / altid-param
2515                  / any-param
2516      SOUND-value = URI
2517
2518
2519
2520
2521
2522 Perreault                    Standards Track                   [Page 45]
2523 \f
2524 RFC 6350                          vCard                      August 2011
2525
2526
2527    Example:
2528
2529      SOUND:CID:JOHNQPUBLIC.part8.19960229T080000.xyzMail@example.com
2530
2531      SOUND:data:audio/basic;base64,MIICajCCAdOgAwIBAgICBEUwDQYJKoZIh
2532       AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
2533       ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
2534       <...the remainder of base64-encoded data...>
2535
2536 6.7.6.  UID
2537
2538    Purpose:  To specify a value that represents a globally unique
2539       identifier corresponding to the entity associated with the vCard.
2540
2541    Value type:  A single URI value.  It MAY also be reset to free-form
2542       text.
2543
2544    Cardinality:  *1
2545
2546    Special notes:  This property is used to uniquely identify the object
2547       that the vCard represents.  The "uuid" URN namespace defined in
2548       [RFC4122] is particularly well suited to this task, but other URI
2549       schemes MAY be used.  Free-form text MAY also be used.
2550
2551    ABNF:
2552
2553      UID-param = UID-uri-param / UID-text-param
2554      UID-value = UID-uri-value / UID-text-value
2555        ; Value and parameter MUST match.
2556
2557      UID-uri-param = "VALUE=uri"
2558      UID-uri-value = URI
2559
2560      UID-text-param = "VALUE=text"
2561      UID-text-value = text
2562
2563      UID-param =/ any-param
2564
2565    Example:
2566
2567            UID:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578 Perreault                    Standards Track                   [Page 46]
2579 \f
2580 RFC 6350                          vCard                      August 2011
2581
2582
2583 6.7.7.  CLIENTPIDMAP
2584
2585    Purpose:  To give a global meaning to a local PID source identifier.
2586
2587    Value type:  A semicolon-separated pair of values.  The first field
2588       is a small integer corresponding to the second field of a PID
2589       parameter instance.  The second field is a URI.  The "uuid" URN
2590       namespace defined in [RFC4122] is particularly well suited to this
2591       task, but other URI schemes MAY be used.
2592
2593    Cardinality:  *
2594
2595    Special notes:  PID source identifiers (the source identifier is the
2596       second field in a PID parameter instance) are small integers that
2597       only have significance within the scope of a single vCard
2598       instance.  Each distinct source identifier present in a vCard MUST
2599       have an associated CLIENTPIDMAP.  See Section 7 for more details
2600       on the usage of CLIENTPIDMAP.
2601
2602       PID source identifiers MUST be strictly positive.  Zero is not
2603       allowed.
2604
2605       As a special exception, the PID parameter MUST NOT be applied to
2606       this property.
2607
2608    ABNF:
2609
2610      CLIENTPIDMAP-param = any-param
2611      CLIENTPIDMAP-value = 1*DIGIT ";" URI
2612
2613    Example:
2614
2615      TEL;PID=3.1,4.2;VALUE=uri:tel:+1-555-555-5555
2616      EMAIL;PID=4.1,5.2:jdoe@example.com
2617      CLIENTPIDMAP:1;urn:uuid:3df403f4-5924-4bb7-b077-3c711d9eb34b
2618      CLIENTPIDMAP:2;urn:uuid:d89c9c7a-2e1b-4832-82de-7e992d95faa5
2619
2620 6.7.8.  URL
2621
2622    Purpose:  To specify a uniform resource locator associated with the
2623       object to which the vCard refers.  Examples for individuals
2624       include personal web sites, blogs, and social networking site
2625       identifiers.
2626
2627    Cardinality:  *
2628
2629    Value type:  A single uri value.
2630
2631
2632
2633
2634 Perreault                    Standards Track                   [Page 47]
2635 \f
2636 RFC 6350                          vCard                      August 2011
2637
2638
2639    ABNF:
2640
2641      URL-param = "VALUE=uri" / pid-param / pref-param / type-param
2642                / mediatype-param / altid-param / any-param
2643      URL-value = URI
2644
2645    Example:
2646
2647            URL:http://example.org/restaurant.french/~chezchic.html
2648
2649 6.7.9.  VERSION
2650
2651    Purpose:  To specify the version of the vCard specification used to
2652       format this vCard.
2653
2654    Value type:  A single text value.
2655
2656    Cardinality:  1
2657
2658    Special notes:  This property MUST be present in the vCard object,
2659       and it must appear immediately after BEGIN:VCARD.  The value MUST
2660       be "4.0" if the vCard corresponds to this specification.  Note
2661       that earlier versions of vCard allowed this property to be placed
2662       anywhere in the vCard object, or even to be absent.
2663
2664    ABNF:
2665
2666      VERSION-param = "VALUE=text" / any-param
2667      VERSION-value = "4.0"
2668
2669    Example:
2670
2671            VERSION:4.0
2672
2673 6.8.  Security Properties
2674
2675    These properties are concerned with the security of communication
2676    pathways or access to the vCard.
2677
2678 6.8.1.  KEY
2679
2680    Purpose:  To specify a public key or authentication certificate
2681       associated with the object that the vCard represents.
2682
2683    Value type:  A single URI.  It can also be reset to a text value.
2684
2685    Cardinality:  *
2686
2687
2688
2689
2690 Perreault                    Standards Track                   [Page 48]
2691 \f
2692 RFC 6350                          vCard                      August 2011
2693
2694
2695    ABNF:
2696
2697      KEY-param = KEY-uri-param / KEY-text-param
2698      KEY-value = KEY-uri-value / KEY-text-value
2699        ; Value and parameter MUST match.
2700
2701      KEY-uri-param = "VALUE=uri" / mediatype-param
2702      KEY-uri-value = URI
2703
2704      KEY-text-param = "VALUE=text"
2705      KEY-text-value = text
2706
2707      KEY-param =/ altid-param / pid-param / pref-param / type-param
2708                 / any-param
2709
2710    Examples:
2711
2712      KEY:http://www.example.com/keys/jdoe.cer
2713
2714      KEY;MEDIATYPE=application/pgp-keys:ftp://example.com/keys/jdoe
2715
2716      KEY:data:application/pgp-keys;base64,MIICajCCAdOgAwIBAgICBE
2717       UwDQYJKoZIhvcNAQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05l
2718       <... remainder of base64-encoded data ...>
2719
2720 6.9.  Calendar Properties
2721
2722    These properties are further specified in [RFC2739].
2723
2724 6.9.1.  FBURL
2725
2726    Purpose:  To specify the URI for the busy time associated with the
2727       object that the vCard represents.
2728
2729    Value type:  A single URI value.
2730
2731    Cardinality:  *
2732
2733    Special notes:  Where multiple FBURL properties are specified, the
2734       default FBURL property is indicated with the PREF parameter.  The
2735       FTP [RFC1738] or HTTP [RFC2616] type of URI points to an iCalendar
2736       [RFC5545] object associated with a snapshot of the next few weeks
2737       or months of busy time data.  If the iCalendar object is
2738       represented as a file or document, its file extension should be
2739       ".ifb".
2740
2741
2742
2743
2744
2745
2746 Perreault                    Standards Track                   [Page 49]
2747 \f
2748 RFC 6350                          vCard                      August 2011
2749
2750
2751    ABNF:
2752
2753      FBURL-param = "VALUE=uri" / pid-param / pref-param / type-param
2754                  / mediatype-param / altid-param / any-param
2755      FBURL-value = URI
2756
2757    Examples:
2758
2759      FBURL;PREF=1:http://www.example.com/busy/janedoe
2760      FBURL;MEDIATYPE=text/calendar:ftp://example.com/busy/project-a.ifb
2761
2762 6.9.2.  CALADRURI
2763
2764    Purpose:  To specify the calendar user address [RFC5545] to which a
2765       scheduling request [RFC5546] should be sent for the object
2766       represented by the vCard.
2767
2768    Value type:  A single URI value.
2769
2770    Cardinality:  *
2771
2772    Special notes:  Where multiple CALADRURI properties are specified,
2773       the default CALADRURI property is indicated with the PREF
2774       parameter.
2775
2776    ABNF:
2777
2778      CALADRURI-param = "VALUE=uri" / pid-param / pref-param / type-param
2779                      / mediatype-param / altid-param / any-param
2780      CALADRURI-value = URI
2781
2782    Example:
2783
2784      CALADRURI;PREF=1:mailto:janedoe@example.com
2785      CALADRURI:http://example.com/calendar/jdoe
2786
2787 6.9.3.  CALURI
2788
2789    Purpose:  To specify the URI for a calendar associated with the
2790       object represented by the vCard.
2791
2792    Value type:  A single URI value.
2793
2794    Cardinality:  *
2795
2796    Special notes:  Where multiple CALURI properties are specified, the
2797       default CALURI property is indicated with the PREF parameter.  The
2798       property should contain a URI pointing to an iCalendar [RFC5545]
2799
2800
2801
2802 Perreault                    Standards Track                   [Page 50]
2803 \f
2804 RFC 6350                          vCard                      August 2011
2805
2806
2807       object associated with a snapshot of the user's calendar store.
2808       If the iCalendar object is represented as a file or document, its
2809       file extension should be ".ics".
2810
2811    ABNF:
2812
2813      CALURI-param = "VALUE=uri" / pid-param / pref-param / type-param
2814                   / mediatype-param / altid-param / any-param
2815      CALURI-value = URI
2816
2817    Examples:
2818
2819      CALURI;PREF=1:http://cal.example.com/calA
2820      CALURI;MEDIATYPE=text/calendar:ftp://ftp.example.com/calA.ics
2821
2822 6.10.  Extended Properties and Parameters
2823
2824    The properties and parameters defined by this document can be
2825    extended.  Non-standard, private properties and parameters with a
2826    name starting with "X-" may be defined bilaterally between two
2827    cooperating agents without outside registration or standardization.
2828
2829 7.  Synchronization
2830
2831    vCard data often needs to be synchronized between devices.  In this
2832    context, synchronization is defined as the intelligent merging of two
2833    representations of the same object. vCard 4.0 includes mechanisms to
2834    aid this process.
2835
2836 7.1.  Mechanisms
2837
2838    Two mechanisms are available: the UID property is used to match
2839    multiple instances of the same vCard, while the PID parameter is used
2840    to match multiple instances of the same property.
2841
2842    The term "matching" is used here to mean recognizing that two
2843    instances are in fact representations of the same object.  For
2844    example, a single vCard that is shared with someone results in two
2845    vCard instances.  After they have evolved separately, they still
2846    represent the same object, and therefore may be matched by a
2847    synchronization engine.
2848
2849 7.1.1.  Matching vCard Instances
2850
2851    vCard instances for which the UID properties (Section 6.7.6) are
2852    equivalent MUST be matched.  Equivalence is determined as specified
2853    in [RFC3986], Section 6.
2854
2855
2856
2857
2858 Perreault                    Standards Track                   [Page 51]
2859 \f
2860 RFC 6350                          vCard                      August 2011
2861
2862
2863    In all other cases, vCard instances MAY be matched at the discretion
2864    of the synchronization engine.
2865
2866 7.1.2.  Matching Property Instances
2867
2868    Property instances belonging to unmatched vCards MUST NOT be matched.
2869
2870    Property instances whose name (e.g., EMAIL, TEL, etc.) is not the
2871    same MUST NOT be matched.
2872
2873    Property instances whose name is CLIENTPIDMAP are handled separately
2874    and MUST NOT be matched.  The synchronization MUST ensure that there
2875    is consistency of CLIENTPIDMAPs among matched vCard instances.
2876
2877    Property instances belonging to matched vCards, whose name is the
2878    same, and whose maximum cardinality is 1, MUST be matched.
2879
2880    Property instances belonging to matched vCards, whose name is the
2881    same, and whose PID parameters match, MUST be matched.  See
2882    Section 7.1.3 for details on PID matching.
2883
2884    In all other cases, property instances MAY be matched at the
2885    discretion of the synchronization engine.
2886
2887 7.1.3.  PID Matching
2888
2889    Two PID values for which the first fields are equivalent represent
2890    the same local value.
2891
2892    Two PID values representing the same local value and for which the
2893    second fields point to CLIENTPIDMAP properties whose second field
2894    URIs are equivalent (as specified in [RFC3986], Section 6) also
2895    represent the same global value.
2896
2897    PID parameters for which at least one pair of their values represent
2898    the same global value MUST be matched.
2899
2900    In all other cases, PID parameters MAY be matched at the discretion
2901    of the synchronization engine.
2902
2903    For example, PID value "5.1", in the first vCard below, and PID value
2904    "5.2", in the second vCard below, represent the same global value.
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914 Perreault                    Standards Track                   [Page 52]
2915 \f
2916 RFC 6350                          vCard                      August 2011
2917
2918
2919      BEGIN:VCARD
2920      VERSION:4.0
2921      EMAIL;PID=4.2,5.1:jdoe@example.com
2922      CLIENTPIDMAP:1;urn:uuid:3eef374e-7179-4196-a914-27358c3e6527
2923      CLIENTPIDMAP:2;urn:uuid:42bcd5a7-1699-4514-87b4-056edf68e9cc
2924      END:VCARD
2925
2926      BEGIN:VCARD
2927      VERSION:4.0
2928      EMAIL;PID=5.1,5.2:john@example.com
2929      CLIENTPIDMAP:1;urn:uuid:0c75c629-6a8d-4d5e-a07f-1bb35846854d
2930      CLIENTPIDMAP:2;urn:uuid:3eef374e-7179-4196-a914-27358c3e6527
2931      END:VCARD
2932
2933 7.2.  Example
2934
2935 7.2.1.  Creation
2936
2937    The following simple vCard is first created on a given device.
2938
2939      BEGIN:VCARD
2940      VERSION:4.0
2941      UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
2942      FN;PID=1.1:J. Doe
2943      N:Doe;J.;;;
2944      EMAIL;PID=1.1:jdoe@example.com
2945      CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
2946      END:VCARD
2947
2948    This new vCard is assigned the UID
2949    "urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1" by the creating
2950    device.  The FN and EMAIL properties are assigned the same local
2951    value of 1, and this value is given global context by associating it
2952    with "urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556", which
2953    represents the creating device.  We are at liberty to reuse the same
2954    local value since instances of different properties will never be
2955    matched.  The N property has no PID because it is forbidden by its
2956    maximum cardinality of 1.
2957
2958 7.2.2.  Initial Sharing
2959
2960    This vCard is shared with a second device.  Upon inspecting the UID
2961    property, the second device understands that this is a new vCard
2962    (i.e., unmatched) and thus the synchronization results in a simple
2963    copy.
2964
2965
2966
2967
2968
2969
2970 Perreault                    Standards Track                   [Page 53]
2971 \f
2972 RFC 6350                          vCard                      August 2011
2973
2974
2975 7.2.3.  Adding and Sharing a Property
2976
2977    A new phone number is created on the first device, then the vCard is
2978    shared with the second device.  This is what the second device
2979    receives:
2980
2981      BEGIN:VCARD
2982      VERSION:4.0
2983      UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
2984      FN;PID=1.1:J. Doe
2985      N:Doe;J.;;;
2986      EMAIL;PID=1.1:jdoe@example.com
2987      TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
2988      CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
2989      END:VCARD
2990
2991    Upon inspecting the UID property, the second device matches the vCard
2992    it received to the vCard that it already has stored.  It then starts
2993    comparing the properties of the two vCards in same-named pairs.
2994
2995    The FN properties are matched because the PID parameters have the
2996    same global value.  Since the property value is the same, no update
2997    takes place.
2998
2999    The N properties are matched automatically because their maximum
3000    cardinality is 1.  Since the property value is the same, no update
3001    takes place.
3002
3003    The EMAIL properties are matched because the PID parameters have the
3004    same global value.  Since the property value is the same, no update
3005    takes place.
3006
3007    The TEL property in the new vCard is not matched to any in the stored
3008    vCard because no property in the stored vCard has the same name.
3009    Therefore, this property is copied from the new vCard to the stored
3010    vCard.
3011
3012    The CLIENTPIDMAP property is handled separately by the
3013    synchronization engine.  It ensures that it is consistent with the
3014    stored one.  If it was not, the results would be up to the
3015    synchronization engine, and thus undefined by this document.
3016
3017 7.2.4.  Simultaneous Editing
3018
3019    A new email address and a new phone number are added to the vCard on
3020    each of the two devices, and then a new synchronization event
3021    happens.  Here are the vCards that are communicated to each other:
3022
3023
3024
3025
3026 Perreault                    Standards Track                   [Page 54]
3027 \f
3028 RFC 6350                          vCard                      August 2011
3029
3030
3031      BEGIN:VCARD
3032      VERSION:4.0
3033      UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
3034      FN;PID=1.1:J. Doe
3035      N:Doe;J.;;;
3036      EMAIL;PID=1.1:jdoe@example.com
3037      EMAIL;PID=2.1:boss@example.com
3038      TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
3039      TEL;PID=2.1;VALUE=uri:tel:+1-666-666-6666
3040      CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
3041      END:VCARD
3042
3043      BEGIN:VCARD
3044      VERSION:4.0
3045      UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
3046      FN;PID=1.1:J. Doe
3047      N:Doe;J.;;;
3048      EMAIL;PID=1.1:jdoe@example.com
3049      EMAIL;PID=2.2:ceo@example.com
3050      TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
3051      TEL;PID=2.2;VALUE=uri:tel:+1-666-666-6666
3052      CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
3053      CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee
3054      END:VCARD
3055
3056    On the first device, the same PID source identifier (1) is reused for
3057    the new EMAIL and TEL properties.  On the second device, a new source
3058    identifier (2) is generated, and a corresponding CLIENTPIDMAP
3059    property is created.  It contains the second device's identifier,
3060    "urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee".
3061
3062    The new EMAIL properties are unmatched on both sides since the PID
3063    global value is new in both cases.  The sync thus results in a copy
3064    on both sides.
3065
3066    Although the situation appears to be the same for the TEL properties,
3067    in this case, the synchronization engine is particularly smart and
3068    matches the two new TEL properties even though their PID global
3069    values are different.  Note that in this case, the rules of
3070    Section 7.1.2 state that two properties MAY be matched at the
3071    discretion of the synchronization engine.  Therefore, the two
3072    properties are merged.
3073
3074    All this results in the following vCard, which is stored on both
3075    devices:
3076
3077
3078
3079
3080
3081
3082 Perreault                    Standards Track                   [Page 55]
3083 \f
3084 RFC 6350                          vCard                      August 2011
3085
3086
3087      BEGIN:VCARD
3088      VERSION:4.0
3089      UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
3090      FN:J. Doe
3091      N:Doe;J.;;;
3092      EMAIL;PID=1.1:jdoe@example.com
3093      EMAIL;PID=2.1:boss@example.com
3094      EMAIL;PID=2.2:ceo@example.com
3095      TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
3096      TEL;PID=2.1,2.2;VALUE=uri:tel:+1-666-666-6666
3097      CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
3098      CLIENTPIDMAP:2;urn:uuid:1f762d2b-03c4-4a83-9a03-75ff658a6eee
3099      END:VCARD
3100
3101 7.2.5.  Global Context Simplification
3102
3103    The two devices finish their synchronization procedure by simplifying
3104    their global contexts.  Since they haven't talked to any other
3105    device, the following vCard is for all purposes equivalent to the
3106    above.  It is also shorter.
3107
3108      BEGIN:VCARD
3109      VERSION:4.0
3110      UID:urn:uuid:4fbe8971-0bc3-424c-9c26-36c3e1eff6b1
3111      FN:J. Doe
3112      N:Doe;J.;;;
3113      EMAIL;PID=1.1:jdoe@example.com
3114      EMAIL;PID=2.1:boss@example.com
3115      EMAIL;PID=3.1:ceo@example.com
3116      TEL;PID=1.1;VALUE=uri:tel:+1-555-555-5555
3117      TEL;PID=2.1;VALUE=uri:tel:+1-666-666-6666
3118      CLIENTPIDMAP:1;urn:uuid:53e374d9-337e-4727-8803-a1e9c14e0556
3119      END:VCARD
3120
3121    The details of global context simplification are unspecified by this
3122    document.  They are left up to the synchronization engine.  This
3123    example is merely intended to illustrate the possibility, which
3124    investigating would be, in the author's opinion, worthwhile.
3125
3126 8.  Example: Author's vCard
3127
3128     BEGIN:VCARD
3129     VERSION:4.0
3130     FN:Simon Perreault
3131     N:Perreault;Simon;;;ing. jr,M.Sc.
3132     BDAY:--0203
3133     ANNIVERSARY:20090808T1430-0500
3134     GENDER:M
3135
3136
3137
3138 Perreault                    Standards Track                   [Page 56]
3139 \f
3140 RFC 6350                          vCard                      August 2011
3141
3142
3143     LANG;PREF=1:fr
3144     LANG;PREF=2:en
3145     ORG;TYPE=work:Viagenie
3146     ADR;TYPE=work:;Suite D2-630;2875 Laurier;
3147      Quebec;QC;G1V 2M2;Canada
3148     TEL;VALUE=uri;TYPE="work,voice";PREF=1:tel:+1-418-656-9254;ext=102
3149     TEL;VALUE=uri;TYPE="work,cell,voice,video,text":tel:+1-418-262-6501
3150     EMAIL;TYPE=work:simon.perreault@viagenie.ca
3151     GEO;TYPE=work:geo:46.772673,-71.282945
3152     KEY;TYPE=work;VALUE=uri:
3153      http://www.viagenie.ca/simon.perreault/simon.asc
3154     TZ:-0500
3155     URL;TYPE=home:http://nomis80.org
3156     END:VCARD
3157
3158 9.  Security Considerations
3159
3160    o  Internet mail is often used to transport vCards and is subject to
3161       many well-known security attacks, including monitoring, replay,
3162       and forgery.  Care should be taken by any directory service in
3163       allowing information to leave the scope of the service itself,
3164       where any access controls or confidentiality can no longer be
3165       guaranteed.  Applications should also take care to display
3166       directory data in a "safe" environment.
3167
3168    o  vCards can carry cryptographic keys or certificates, as described
3169       in Section 6.8.1.
3170
3171    o  vCards often carry information that can be sensitive (e.g.,
3172       birthday, address, and phone information).  Although vCards have
3173       no inherent authentication or confidentiality provisions, they can
3174       easily be carried by any security mechanism that transfers MIME
3175       objects to address authentication or confidentiality (e.g., S/MIME
3176       [RFC5751], OpenPGP [RFC4880]).  In cases where the confidentiality
3177       or authenticity of information contained in vCard is a concern,
3178       the vCard SHOULD be transported using one of these secure
3179       mechanisms.  The KEY property (Section 6.8.1) can be used to
3180       transport the public key used by these mechanisms.
3181
3182    o  The information in a vCard may become out of date.  In cases where
3183       the vitality of data is important to an originator of a vCard, the
3184       SOURCE property (Section 6.1.3) SHOULD be specified.  In addition,
3185       the "REV" type described in Section 6.7.4 can be specified to
3186       indicate the last time that the vCard data was updated.
3187
3188    o  Many vCard properties may be used to transport URIs.  Please refer
3189       to [RFC3986], Section 7, for considerations related to URIs.
3190
3191
3192
3193
3194 Perreault                    Standards Track                   [Page 57]
3195 \f
3196 RFC 6350                          vCard                      August 2011
3197
3198
3199 10.  IANA Considerations
3200
3201 10.1.  Media Type Registration
3202
3203    IANA has registered the following Media Type (in
3204    <http://www.iana.org/>) and marked the text/directory Media Type as
3205    DEPRECATED.
3206
3207    To:  ietf-types@iana.org
3208
3209    Subject:  Registration of media type text/vcard
3210
3211    Type name:  text
3212
3213    Subtype name:  vcard
3214
3215    Required parameters:  none
3216
3217    Optional parameters:  version
3218
3219       The "version" parameter is to be interpreted identically as the
3220       VERSION vCard property.  If this parameter is present, all vCards
3221       in a text/vcard body part MUST have a VERSION property with value
3222       identical to that of this MIME parameter.
3223
3224       "charset": as defined for text/plain [RFC2046]; encodings other
3225       than UTF-8 [RFC3629] MUST NOT be used.
3226
3227    Encoding considerations:  8bit
3228
3229    Security considerations:  See Section 9.
3230
3231    Interoperability considerations:  The text/vcard media type is
3232       intended to identify vCard data of any version.  There are older
3233       specifications of vCard [RFC2426][vCard21] still in common use.
3234       While these formats are similar, they are not strictly compatible.
3235       In general, it is necessary to inspect the value of the VERSION
3236       property (see Section 6.7.9) for identifying the standard to which
3237       a given vCard object conforms.
3238
3239       In addition, the following media types are known to have been used
3240       to refer to vCard data.  They should be considered deprecated in
3241       favor of text/vcard.
3242
3243       *  text/directory
3244       *  text/directory; profile=vcard
3245       *  text/x-vcard
3246
3247
3248
3249
3250 Perreault                    Standards Track                   [Page 58]
3251 \f
3252 RFC 6350                          vCard                      August 2011
3253
3254
3255    Published specification:  RFC 6350
3256
3257    Applications that use this media type:  They are numerous, diverse,
3258       and include mail user agents, instant messaging clients, address
3259       book applications, directory servers, and customer relationship
3260       management software.
3261
3262    Additional information:
3263
3264       Magic number(s):
3265
3266       File extension(s):  .vcf .vcard
3267
3268       Macintosh file type code(s):
3269
3270    Person & email address to contact for further information:  vCard
3271       discussion mailing list <vcarddav@ietf.org>
3272
3273    Intended usage:  COMMON
3274
3275    Restrictions on usage:  none
3276
3277    Author:  Simon Perreault
3278
3279    Change controller:  IETF
3280
3281 10.2.  Registering New vCard Elements
3282
3283    This section defines the process for registering new or modified
3284    vCard elements (i.e., properties, parameters, value data types, and
3285    values) with IANA.
3286
3287 10.2.1.  Registration Procedure
3288
3289    The IETF has created a mailing list, vcarddav@ietf.org, which can be
3290    used for public discussion of vCard element proposals prior to
3291    registration.  Use of the mailing list is strongly encouraged.  The
3292    IESG has appointed a designated expert who will monitor the
3293    vcarddav@ietf.org mailing list and review registrations.
3294
3295    Registration of new vCard elements MUST be reviewed by the designated
3296    expert and published in an RFC.  A Standards Track RFC is REQUIRED
3297    for the registration of new value data types that modify existing
3298    properties.  A Standards Track RFC is also REQUIRED for registration
3299    of vCard elements that modify vCard elements previously documented in
3300    a Standards Track RFC.
3301
3302
3303
3304
3305
3306 Perreault                    Standards Track                   [Page 59]
3307 \f
3308 RFC 6350                          vCard                      August 2011
3309
3310
3311    The registration procedure begins when a completed registration
3312    template, defined in the sections below, is sent to vcarddav@ietf.org
3313    and iana@iana.org.  Within two weeks, the designated expert is
3314    expected to tell IANA and the submitter of the registration whether
3315    the registration is approved, approved with minor changes, or
3316    rejected with cause.  When a registration is rejected with cause, it
3317    can be re-submitted if the concerns listed in the cause are
3318    addressed.  Decisions made by the designated expert can be appealed
3319    to the IESG Applications Area Director, then to the IESG.  They
3320    follow the normal appeals procedure for IESG decisions.
3321
3322    Once the registration procedure concludes successfully, IANA creates
3323    or modifies the corresponding record in the vCard registry.  The
3324    completed registration template is discarded.
3325
3326    An RFC specifying new vCard elements MUST include the completed
3327    registration templates, which MAY be expanded with additional
3328    information.  These completed templates are intended to go in the
3329    body of the document, not in the IANA Considerations section.
3330
3331    Finally, note that there is an XML representation for vCard defined
3332    in [RFC6351].  An XML representation SHOULD be defined for new vCard
3333    elements.
3334
3335 10.2.2.  Vendor Namespace
3336
3337    The vendor namespace is used for vCard elements associated with
3338    commercially available products.  "Vendor" or "producer" are
3339    construed as equivalent and very broadly in this context.
3340
3341    A registration may be placed in the vendor namespace by anyone who
3342    needs to interchange files associated with the particular product.
3343    However, the registration formally belongs to the vendor or
3344    organization handling the vCard elements in the namespace being
3345    registered.  Changes to the specification will be made at their
3346    request, as discussed in subsequent sections.
3347
3348    vCard elements belonging to the vendor namespace will be
3349    distinguished by the "VND-" prefix.  This is followed by an IANA-
3350    registered Private Enterprise Number (PEN), a dash, and a vCard
3351    element designation of the vendor's choosing (e.g., "VND-123456-
3352    MUDPIE").
3353
3354    While public exposure and review of vCard elements to be registered
3355    in the vendor namespace are not required, using the vcarddav@ietf.org
3356    mailing list for review is strongly encouraged to improve the quality
3357    of those specifications.  Registrations in the vendor namespace may
3358    be submitted directly to the IANA.
3359
3360
3361
3362 Perreault                    Standards Track                   [Page 60]
3363 \f
3364 RFC 6350                          vCard                      August 2011
3365
3366
3367 10.2.3.  Registration Template for Properties
3368
3369    A property is defined by completing the following template.
3370
3371    Namespace:  Empty for the global namespace, "VND-NNNN-" for a vendor-
3372       specific property (where NNNN is replaced by the vendor's PEN).
3373
3374    Property name:  The name of the property.
3375
3376    Purpose:  The purpose of the property.  Give a short but clear
3377       description.
3378
3379    Value type:  Any of the valid value types for the property value
3380       needs to be specified.  The default value type also needs to be
3381       specified.
3382
3383    Cardinality:  See Section 6.
3384
3385    Property parameters:  Any of the valid property parameters for the
3386       property MUST be specified.
3387
3388    Description:  Any special notes about the property, how it is to be
3389       used, etc.
3390
3391    Format definition:  The ABNF for the property definition needs to be
3392       specified.
3393
3394    Example(s):  One or more examples of instances of the property need
3395       to be specified.
3396
3397 10.2.4.  Registration Template for Parameters
3398
3399    A parameter is defined by completing the following template.
3400
3401    Namespace:  Empty for the global namespace, "VND-NNNN-" for a vendor-
3402       specific property (where NNNN is replaced by the vendor's PEN).
3403
3404    Parameter name:  The name of the parameter.
3405
3406    Purpose:  The purpose of the parameter.  Give a short but clear
3407       description.
3408
3409    Description:  Any special notes about the parameter, how it is to be
3410       used, etc.
3411
3412    Format definition:  The ABNF for the parameter definition needs to be
3413       specified.
3414
3415
3416
3417
3418 Perreault                    Standards Track                   [Page 61]
3419 \f
3420 RFC 6350                          vCard                      August 2011
3421
3422
3423    Example(s):  One or more examples of instances of the parameter need
3424       to be specified.
3425
3426 10.2.5.  Registration Template for Value Data Types
3427
3428    A value data type is defined by completing the following template.
3429
3430    Value name:  The name of the value type.
3431
3432    Purpose:  The purpose of the value type.  Give a short but clear
3433       description.
3434
3435    Description:  Any special notes about the value type, how it is to be
3436       used, etc.
3437
3438    Format definition:  The ABNF for the value type definition needs to
3439       be specified.
3440
3441    Example(s):  One or more examples of instances of the value type need
3442       to be specified.
3443
3444 10.2.6.  Registration Template for Values
3445
3446    A value is defined by completing the following template.
3447
3448    Value:  The value literal.
3449
3450    Purpose:  The purpose of the value.  Give a short but clear
3451       description.
3452
3453    Conformance:  The vCard properties and/or parameters that can take
3454       this value needs to be specified.
3455
3456    Example(s):  One or more examples of instances of the value need to
3457       be specified.
3458
3459    The following is a fictitious example of a registration of a vCard
3460    value:
3461
3462    Value:  supervisor
3463
3464    Purpose:  It means that the related entity is the direct hierarchical
3465       superior (i.e., supervisor or manager) of the entity this vCard
3466       represents.
3467
3468    Conformance:  This value can be used with the "TYPE" parameter
3469       applied on the "RELATED" property.
3470
3471
3472
3473
3474 Perreault                    Standards Track                   [Page 62]
3475 \f
3476 RFC 6350                          vCard                      August 2011
3477
3478
3479    Example(s):
3480
3481    RELATED;TYPE=supervisor:urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6
3482
3483 10.3.  Initial vCard Elements Registries
3484
3485    The IANA has created and will maintain the following registries for
3486    vCard elements with pointers to appropriate reference documents.  The
3487    registries are grouped together under the heading "vCard Elements".
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530 Perreault                    Standards Track                   [Page 63]
3531 \f
3532 RFC 6350                          vCard                      August 2011
3533
3534
3535 10.3.1.  Properties Registry
3536
3537    The following table has been used to initialize the properties
3538    registry.
3539
3540           +-----------+--------------+-------------------------+
3541           | Namespace | Property     | Reference               |
3542           +-----------+--------------+-------------------------+
3543           |           | SOURCE       | RFC 6350, Section 6.1.3 |
3544           |           | KIND         | RFC 6350, Section 6.1.4 |
3545           |           | XML          | RFC 6350, Section 6.1.5 |
3546           |           | FN           | RFC 6350, Section 6.2.1 |
3547           |           | N            | RFC 6350, Section 6.2.2 |
3548           |           | NICKNAME     | RFC 6350, Section 6.2.3 |
3549           |           | PHOTO        | RFC 6350, Section 6.2.4 |
3550           |           | BDAY         | RFC 6350, Section 6.2.5 |
3551           |           | ANNIVERSARY  | RFC 6350, Section 6.2.6 |
3552           |           | GENDER       | RFC 6350, Section 6.2.7 |
3553           |           | ADR          | RFC 6350, Section 6.3.1 |
3554           |           | TEL          | RFC 6350, Section 6.4.1 |
3555           |           | EMAIL        | RFC 6350, Section 6.4.2 |
3556           |           | IMPP         | RFC 6350, Section 6.4.3 |
3557           |           | LANG         | RFC 6350, Section 6.4.4 |
3558           |           | TZ           | RFC 6350, Section 6.5.1 |
3559           |           | GEO          | RFC 6350, Section 6.5.2 |
3560           |           | TITLE        | RFC 6350, Section 6.6.1 |
3561           |           | ROLE         | RFC 6350, Section 6.6.2 |
3562           |           | LOGO         | RFC 6350, Section 6.6.3 |
3563           |           | ORG          | RFC 6350, Section 6.6.4 |
3564           |           | MEMBER       | RFC 6350, Section 6.6.5 |
3565           |           | RELATED      | RFC 6350, Section 6.6.6 |
3566           |           | CATEGORIES   | RFC 6350, Section 6.7.1 |
3567           |           | NOTE         | RFC 6350, Section 6.7.2 |
3568           |           | PRODID       | RFC 6350, Section 6.7.3 |
3569           |           | REV          | RFC 6350, Section 6.7.4 |
3570           |           | SOUND        | RFC 6350, Section 6.7.5 |
3571           |           | UID          | RFC 6350, Section 6.7.6 |
3572           |           | CLIENTPIDMAP | RFC 6350, Section 6.7.7 |
3573           |           | URL          | RFC 6350, Section 6.7.8 |
3574           |           | VERSION      | RFC 6350, Section 6.7.9 |
3575           |           | KEY          | RFC 6350, Section 6.8.1 |
3576           |           | FBURL        | RFC 6350, Section 6.9.1 |
3577           |           | CALADRURI    | RFC 6350, Section 6.9.2 |
3578           |           | CALURI       | RFC 6350, Section 6.9.3 |
3579           +-----------+--------------+-------------------------+
3580
3581
3582
3583
3584
3585
3586 Perreault                    Standards Track                   [Page 64]
3587 \f
3588 RFC 6350                          vCard                      August 2011
3589
3590
3591 10.3.2.  Parameters Registry
3592
3593    The following table has been used to initialize the parameters
3594    registry.
3595
3596             +-----------+-----------+------------------------+
3597             | Namespace | Parameter | Reference              |
3598             +-----------+-----------+------------------------+
3599             |           | LANGUAGE  | RFC 6350, Section 5.1  |
3600             |           | VALUE     | RFC 6350, Section 5.2  |
3601             |           | PREF      | RFC 6350, Section 5.3  |
3602             |           | ALTID     | RFC 6350, Section 5.4  |
3603             |           | PID       | RFC 6350, Section 5.5  |
3604             |           | TYPE      | RFC 6350, Section 5.6  |
3605             |           | MEDIATYPE | RFC 6350, Section 5.7  |
3606             |           | CALSCALE  | RFC 6350, Section 5.8  |
3607             |           | SORT-AS   | RFC 6350, Section 5.9  |
3608             |           | GEO       | RFC 6350, Section 5.10 |
3609             |           | TZ        | RFC 6350, Section 5.11 |
3610             +-----------+-----------+------------------------+
3611
3612 10.3.3.  Value Data Types Registry
3613
3614    The following table has been used to initialize the parameters
3615    registry.
3616
3617               +------------------+-------------------------+
3618               | Value Data Type  | Reference               |
3619               +------------------+-------------------------+
3620               | BOOLEAN          | RFC 6350, Section 4.4   |
3621               | DATE             | RFC 6350, Section 4.3.1 |
3622               | DATE-AND-OR-TIME | RFC 6350, Section 4.3.4 |
3623               | DATE-TIME        | RFC 6350, Section 4.3.3 |
3624               | FLOAT            | RFC 6350, Section 4.6   |
3625               | INTEGER          | RFC 6350, Section 4.5   |
3626               | LANGUAGE-TAG     | RFC 6350, Section 4.8   |
3627               | TEXT             | RFC 6350, Section 4.1   |
3628               | TIME             | RFC 6350, Section 4.3.2 |
3629               | TIMESTAMP        | RFC 6350, Section 4.3.5 |
3630               | URI              | RFC 6350, Section 4.2   |
3631               | UTC-OFFSET       | RFC 6350, Section 4.7   |
3632               +------------------+-------------------------+
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642 Perreault                    Standards Track                   [Page 65]
3643 \f
3644 RFC 6350                          vCard                      August 2011
3645
3646
3647 10.3.4.  Values Registries
3648
3649    Separate tables are used for property and parameter values.
3650
3651    The following table is to be used to initialize the property values
3652    registry.
3653
3654             +----------+------------+-------------------------+
3655             | Property | Value      | Reference               |
3656             +----------+------------+-------------------------+
3657             | BEGIN    | VCARD      | RFC 6350, Section 6.1.1 |
3658             | END      | VCARD      | RFC 6350, Section 6.1.2 |
3659             | KIND     | individual | RFC 6350, Section 6.1.4 |
3660             | KIND     | group      | RFC 6350, Section 6.1.4 |
3661             | KIND     | org        | RFC 6350, Section 6.1.4 |
3662             | KIND     | location   | RFC 6350, Section 6.1.4 |
3663             +----------+------------+-------------------------+
3664
3665    The following table has been used to initialize the parameter values
3666    registry.
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698 Perreault                    Standards Track                   [Page 66]
3699 \f
3700 RFC 6350                          vCard                      August 2011
3701
3702
3703    +------------------------+-----------+--------------+---------------+
3704    | Property               | Parameter | Value        | Reference     |
3705    +------------------------+-----------+--------------+---------------+
3706    | FN, NICKNAME, PHOTO,   | TYPE      | work         | RFC 6350,     |
3707    | ADR, TEL, EMAIL, IMPP, |           |              | Section 5.6   |
3708    | LANG, TZ, GEO, TITLE,  |           |              |               |
3709    | ROLE, LOGO, ORG,       |           |              |               |
3710    | RELATED, CATEGORIES,   |           |              |               |
3711    | NOTE, SOUND, URL, KEY, |           |              |               |
3712    | FBURL, CALADRURI, and  |           |              |               |
3713    | CALURI                 |           |              |               |
3714    | FN, NICKNAME, PHOTO,   | TYPE      | home         | RFC 6350,     |
3715    | ADR, TEL, EMAIL, IMPP, |           |              | Section 5.6   |
3716    | LANG, TZ, GEO, TITLE,  |           |              |               |
3717    | ROLE, LOGO, ORG,       |           |              |               |
3718    | RELATED, CATEGORIES,   |           |              |               |
3719    | NOTE, SOUND, URL, KEY, |           |              |               |
3720    | FBURL, CALADRURI, and  |           |              |               |
3721    | CALURI                 |           |              |               |
3722    | TEL                    | TYPE      | text         | RFC 6350,     |
3723    |                        |           |              | Section 6.4.1 |
3724    | TEL                    | TYPE      | voice        | RFC 6350,     |
3725    |                        |           |              | Section 6.4.1 |
3726    | TEL                    | TYPE      | fax          | RFC 6350,     |
3727    |                        |           |              | Section 6.4.1 |
3728    | TEL                    | TYPE      | cell         | RFC 6350,     |
3729    |                        |           |              | Section 6.4.1 |
3730    | TEL                    | TYPE      | video        | RFC 6350,     |
3731    |                        |           |              | Section 6.4.1 |
3732    | TEL                    | TYPE      | pager        | RFC 6350,     |
3733    |                        |           |              | Section 6.4.1 |
3734    | TEL                    | TYPE      | textphone    | RFC 6350,     |
3735    |                        |           |              | Section 6.4.1 |
3736    | BDAY, ANNIVERSARY      | CALSCALE  | gregorian    | RFC 6350,     |
3737    |                        |           |              | Section 5.8   |
3738    | RELATED                | TYPE      | contact      | RFC 6350,     |
3739    |                        |           |              | Section 6.6.6 |
3740    |                        |           |              | and [xfn]     |
3741    | RELATED                | TYPE      | acquaintance | RFC 6350,     |
3742    |                        |           |              | Section 6.6.6 |
3743    |                        |           |              | and [xfn]     |
3744    | RELATED                | TYPE      | friend       | RFC 6350,     |
3745    |                        |           |              | Section 6.6.6 |
3746    |                        |           |              | and [xfn]     |
3747    | RELATED                | TYPE      | met          | RFC 6350,     |
3748    |                        |           |              | Section 6.6.6 |
3749    |                        |           |              | and [xfn]     |
3750
3751
3752
3753
3754 Perreault                    Standards Track                   [Page 67]
3755 \f
3756 RFC 6350                          vCard                      August 2011
3757
3758
3759    | RELATED                | TYPE      | co-worker    | RFC 6350,     |
3760    |                        |           |              | Section 6.6.6 |
3761    |                        |           |              | and [xfn]     |
3762    | RELATED                | TYPE      | colleague    | RFC 6350,     |
3763    |                        |           |              | Section 6.6.6 |
3764    |                        |           |              | and [xfn]     |
3765    | RELATED                | TYPE      | co-resident  | RFC 6350,     |
3766    |                        |           |              | Section 6.6.6 |
3767    |                        |           |              | and [xfn]     |
3768    | RELATED                | TYPE      | neighbor     | RFC 6350,     |
3769    |                        |           |              | Section 6.6.6 |
3770    |                        |           |              | and [xfn]     |
3771    | RELATED                | TYPE      | child        | RFC 6350,     |
3772    |                        |           |              | Section 6.6.6 |
3773    |                        |           |              | and [xfn]     |
3774    | RELATED                | TYPE      | parent       | RFC 6350,     |
3775    |                        |           |              | Section 6.6.6 |
3776    |                        |           |              | and [xfn]     |
3777    | RELATED                | TYPE      | sibling      | RFC 6350,     |
3778    |                        |           |              | Section 6.6.6 |
3779    |                        |           |              | and [xfn]     |
3780    | RELATED                | TYPE      | spouse       | RFC 6350,     |
3781    |                        |           |              | Section 6.6.6 |
3782    |                        |           |              | and [xfn]     |
3783    | RELATED                | TYPE      | kin          | RFC 6350,     |
3784    |                        |           |              | Section 6.6.6 |
3785    |                        |           |              | and [xfn]     |
3786    | RELATED                | TYPE      | muse         | RFC 6350,     |
3787    |                        |           |              | Section 6.6.6 |
3788    |                        |           |              | and [xfn]     |
3789    | RELATED                | TYPE      | crush        | RFC 6350,     |
3790    |                        |           |              | Section 6.6.6 |
3791    |                        |           |              | and [xfn]     |
3792    | RELATED                | TYPE      | date         | RFC 6350,     |
3793    |                        |           |              | Section 6.6.6 |
3794    |                        |           |              | and [xfn]     |
3795    | RELATED                | TYPE      | sweetheart   | RFC 6350,     |
3796    |                        |           |              | Section 6.6.6 |
3797    |                        |           |              | and [xfn]     |
3798    | RELATED                | TYPE      | me           | RFC 6350,     |
3799    |                        |           |              | Section 6.6.6 |
3800    |                        |           |              | and [xfn]     |
3801    | RELATED                | TYPE      | agent        | RFC 6350,     |
3802    |                        |           |              | Section 6.6.6 |
3803    | RELATED                | TYPE      | emergency    | RFC 6350,     |
3804    |                        |           |              | Section 6.6.6 |
3805    +------------------------+-----------+--------------+---------------+
3806
3807
3808
3809
3810 Perreault                    Standards Track                   [Page 68]
3811 \f
3812 RFC 6350                          vCard                      August 2011
3813
3814
3815 11.  Acknowledgments
3816
3817    The authors would like to thank Tim Howes, Mark Smith, and Frank
3818    Dawson, the original authors of [RFC2425] and [RFC2426], Pete
3819    Resnick, who got this effort started and provided help along the way,
3820    as well as the following individuals who have participated in the
3821    drafting, review, and discussion of this memo:
3822
3823    Aki Niemi, Andy Mabbett, Alexander Mayrhofer, Alexey Melnikov, Anil
3824    Srivastava, Barry Leiba, Ben Fortuna, Bernard Desruisseaux, Bernie
3825    Hoeneisen, Bjoern Hoehrmann, Caleb Richardson, Chris Bryant, Chris
3826    Newman, Cyrus Daboo, Daisuke Miyakawa, Dan Brickley, Dan Mosedale,
3827    Dany Cauchie, Darryl Champagne, Dave Thewlis, Filip Navara, Florian
3828    Zeitz, Helge Hess, Jari Urpalainen, Javier Godoy, Jean-Luc Schellens,
3829    Joe Hildebrand, Jose Luis Gayosso, Joseph Smarr, Julian Reschke,
3830    Kepeng Li, Kevin Marks, Kevin Wu Won, Kurt Zeilenga, Lisa Dusseault,
3831    Marc Blanchet, Mark Paterson, Markus Lorenz, Michael Haardt, Mike
3832    Douglass, Nick Levinson, Peter K. Sheerin, Peter Mogensen, Peter
3833    Saint-Andre, Renato Iannella, Rohit Khare, Sly Gryphon, Stephane
3834    Bortzmeyer, Tantek Celik, and Zoltan Ordogh.
3835
3836 12.  References
3837
3838 12.1.  Normative References
3839
3840    [CCITT.X520.1988]
3841               International Telephone and Telegraph Consultative
3842               Committee, "Information Technology - Open Systems
3843               Interconnection - The Directory: Selected Attribute
3844               Types", CCITT Recommendation X.520, November 1988.
3845
3846    [IEEE.754.2008]
3847               Institute of Electrical and Electronics Engineers,
3848               "Standard for Binary Floating-Point Arithmetic",
3849               IEEE Standard 754, August 2008.
3850
3851    [ISO.8601.2000]
3852               International Organization for Standardization, "Data
3853               elements and interchange formats - Information interchange
3854               - Representation of dates and times", ISO Standard 8601,
3855               December 2000.
3856
3857    [ISO.8601.2004]
3858               International Organization for Standardization, "Data
3859               elements and interchange formats - Information interchange
3860               - Representation of dates and times", ISO Standard 8601,
3861               December 2004.
3862
3863
3864
3865
3866 Perreault                    Standards Track                   [Page 69]
3867 \f
3868 RFC 6350                          vCard                      August 2011
3869
3870
3871    [RFC2045]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
3872               Extensions (MIME) Part One: Format of Internet Message
3873               Bodies", RFC 2045, November 1996.
3874
3875    [RFC2046]  Freed, N. and N. Borenstein, "Multipurpose Internet Mail
3876               Extensions (MIME) Part Two: Media Types", RFC 2046,
3877               November 1996.
3878
3879    [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
3880               Requirement Levels", BCP 14, RFC 2119, March 1997.
3881
3882    [RFC2739]  Small, T., Hennessy, D., and F. Dawson, "Calendar
3883               Attributes for vCard and LDAP", RFC 2739, January 2000.
3884
3885    [RFC3629]  Yergeau, F., "UTF-8, a transformation format of ISO
3886               10646", STD 63, RFC 3629, November 2003.
3887
3888    [RFC3966]  Schulzrinne, H., "The tel URI for Telephone Numbers",
3889               RFC 3966, December 2004.
3890
3891    [RFC3986]  Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
3892               Resource Identifier (URI): Generic Syntax", STD 66,
3893               RFC 3986, January 2005.
3894
3895    [RFC4122]  Leach, P., Mealling, M., and R. Salz, "A Universally
3896               Unique IDentifier (UUID) URN Namespace", RFC 4122,
3897               July 2005.
3898
3899    [RFC4288]  Freed, N. and J. Klensin, "Media Type Specifications and
3900               Registration Procedures", BCP 13, RFC 4288, December 2005.
3901
3902    [RFC5234]  Crocker, D. and P. Overell, "Augmented BNF for Syntax
3903               Specifications: ABNF", STD 68, RFC 5234, January 2008.
3904
3905    [RFC5322]  Resnick, P., Ed., "Internet Message Format", RFC 5322,
3906               October 2008.
3907
3908    [RFC5545]  Desruisseaux, B., "Internet Calendaring and Scheduling
3909               Core Object Specification (iCalendar)", RFC 5545,
3910               September 2009.
3911
3912    [RFC5546]  Daboo, C., "iCalendar Transport-Independent
3913               Interoperability Protocol (iTIP)", RFC 5546,
3914               December 2009.
3915
3916    [RFC5646]  Phillips, A. and M. Davis, "Tags for Identifying
3917               Languages", BCP 47, RFC 5646, September 2009.
3918
3919
3920
3921
3922 Perreault                    Standards Track                   [Page 70]
3923 \f
3924 RFC 6350                          vCard                      August 2011
3925
3926
3927    [RFC5870]  Mayrhofer, A. and C. Spanring, "A Uniform Resource
3928               Identifier for Geographic Locations ('geo' URI)",
3929               RFC 5870, June 2010.
3930
3931    [RFC6351]  Perreault, S., "xCard: vCard XML Representation",
3932               RFC 6351, August 2011.
3933
3934    [W3C.REC-xml-20081126]
3935               Maler, E., Yergeau, F., Sperberg-McQueen, C., Paoli, J.,
3936               and T. Bray, "Extensible Markup Language (XML) 1.0 (Fifth
3937               Edition)", World Wide Web Consortium Recommendation REC-
3938               xml-20081126, November 2008,
3939               <http://www.w3.org/TR/2008/REC-xml-20081126>.
3940
3941    [xfn]      Celik, T., Mullenweg, M., and E. Meyer, "XFN 1.1 profile",
3942               <http://gmpg.org/xfn/11>.
3943
3944 12.2.  Informative References
3945
3946    [IANA-TZ]  Lear, E. and P. Eggert, "IANA Procedures for Maintaining
3947               the Timezone Database", Work in Progress, May 2011.
3948
3949    [ISO9070]  International Organization for Standardization,
3950               "Information Processing - SGML support facilities -
3951               Registration Procedures for Public Text Owner
3952               Identifiers", ISO 9070, April 1991.
3953
3954    [RFC1738]  Berners-Lee, T., Masinter, L., and M. McCahill, "Uniform
3955               Resource Locators (URL)", RFC 1738, December 1994.
3956
3957    [RFC2397]  Masinter, L., "The "data" URL scheme", RFC 2397,
3958               August 1998.
3959
3960    [RFC2425]  Howes, T., Smith, M., and F. Dawson, "A MIME Content-Type
3961               for Directory Information", RFC 2425, September 1998.
3962
3963    [RFC2426]  Dawson, F. and T. Howes, "vCard MIME Directory Profile",
3964               RFC 2426, September 1998.
3965
3966    [RFC2616]  Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
3967               Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext
3968               Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999.
3969
3970    [RFC3282]  Alvestrand, H., "Content Language Headers", RFC 3282,
3971               May 2002.
3972
3973
3974
3975
3976
3977
3978 Perreault                    Standards Track                   [Page 71]
3979 \f
3980 RFC 6350                          vCard                      August 2011
3981
3982
3983    [RFC3406]  Daigle, L., van Gulik, D., Iannella, R., and P. Faltstrom,
3984               "Uniform Resource Names (URN) Namespace Definition
3985               Mechanisms", BCP 66, RFC 3406, October 2002.
3986
3987    [RFC3536]  Hoffman, P., "Terminology Used in Internationalization in
3988               the IETF", RFC 3536, May 2003.
3989
3990    [RFC4770]  Jennings, C. and J. Reschke, Ed., "vCard Extensions for
3991               Instant Messaging (IM)", RFC 4770, January 2007.
3992
3993    [RFC4880]  Callas, J., Donnerhacke, L., Finney, H., Shaw, D., and R.
3994               Thayer, "OpenPGP Message Format", RFC 4880, November 2007.
3995
3996    [RFC5335bis]
3997               Yang, A. and S. Steele, "Internationalized Email Headers",
3998               Work in Progress, July 2011.
3999
4000    [RFC5751]  Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet
4001               Mail Extensions (S/MIME) Version 3.2 Message
4002               Specification", RFC 5751, January 2010.
4003
4004    [RFC6068]  Duerst, M., Masinter, L., and J. Zawinski, "The 'mailto'
4005               URI Scheme", RFC 6068, October 2010.
4006
4007    [TZ-DB]    Olson, A., "Time zone code and data",
4008               <ftp://elsie.nci.nih.gov/pub/>.
4009
4010    [vCard21]  Internet Mail Consortium, "vCard - The Electronic Business
4011               Card Version 2.1", September 1996.
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034 Perreault                    Standards Track                   [Page 72]
4035 \f
4036 RFC 6350                          vCard                      August 2011
4037
4038
4039 Appendix A.  Differences from RFCs 2425 and 2426
4040
4041    This appendix contains a high-level overview of the major changes
4042    that have been made in the vCard specification from RFCs 2425 and
4043    2426.  It is incomplete, as it only lists the most important changes.
4044
4045 A.1.  New Structure
4046
4047    o  [RFC2425] and [RFC2426] have been merged.
4048
4049    o  vCard is now not only a MIME type but a stand-alone format.
4050
4051    o  A proper MIME type registration form has been included.
4052
4053    o  UTF-8 is now the only possible character set.
4054
4055    o  New vCard elements can be registered from IANA.
4056
4057 A.2.  Removed Features
4058
4059    o  The CONTEXT and CHARSET parameters are no more.
4060
4061    o  The NAME, MAILER, LABEL, and CLASS properties are no more.
4062
4063    o  The "intl", "dom", "postal", and "parcel" TYPE parameter values
4064       for the ADR property have been removed.
4065
4066    o  In-line vCards (such as the value of the AGENT property) are no
4067       longer supported.
4068
4069 A.3.  New Properties and Parameters
4070
4071    o  The KIND, GENDER, LANG, ANNIVERSARY, XML, and CLIENTPIDMAP
4072       properties have been added.
4073
4074    o  [RFC2739], which defines the FBURL, CALADRURI, CAPURI, and CALURI
4075       properties, has been merged in.
4076
4077    o  [RFC4770], which defines the IMPP property, has been merged in.
4078
4079    o  The "work" and "home" TYPE parameter values are now applicable to
4080       many more properties.
4081
4082    o  The "pref" value of the TYPE parameter is now a parameter of its
4083       own, with a positive integer value indicating the level of
4084       preference.
4085
4086    o  The ALTID and PID parameters have been added.
4087
4088
4089
4090 Perreault                    Standards Track                   [Page 73]
4091 \f
4092 RFC 6350                          vCard                      August 2011
4093
4094
4095    o  The MEDIATYPE parameter has been added and replaces the TYPE
4096       parameter when it was used for indicating the media type of the
4097       property's content.
4098
4099 Author's Address
4100
4101    Simon Perreault
4102    Viagenie
4103    2875 Laurier, suite D2-630
4104    Quebec, QC  G1V 2M2
4105    Canada
4106
4107    Phone: +1 418 656 9254
4108    EMail: simon.perreault@viagenie.ca
4109    URI:   http://www.viagenie.ca
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146 Perreault                    Standards Track                   [Page 74]
4147 \f