XBM example for the IV widget
[rmail.git] / doc / rfc2426.txt
bloba393a67c986044459c664b0d1341b5723107c2ca
7 Network Working Group                                         F. Dawson
8 Request for Comments: 2426                Lotus Development Corporation
9 Category: Standards Track                                      T. Howes
10                                                 Netscape Communications
11                                                          September 1998
14                       vCard MIME Directory Profile
16 Status of this Memo
18    This document specifies an Internet standards track protocol for the
19    Internet community, and requests discussion and suggestions for
20    improvements.  Please refer to the current edition of the "Internet
21    Official Protocol Standards" (STD 1) for the standardization state
22    and status of this protocol.  Distribution of this memo is unlimited.
24 Copyright Notice
26    Copyright (C) The Internet Society (1998).  All Rights Reserved.
28 Abstract
30    This memo defines the profile of the MIME Content-Type [MIME-DIR] for
31    directory information for a white-pages person object, based on a
32    vCard electronic business card. The profile definition is independent
33    of any particular directory service or protocol. The profile is
34    defined for representing and exchanging a variety of information
35    about an individual (e.g., formatted and structured name and delivery
36    addresses, email address, multiple telephone numbers, photograph,
37    logo, audio clips, etc.). The directory information used by this
38    profile is based on the attributes for the person object defined in
39    the X.520 and X.521 directory services recommendations. The profile
40    also provides the method for including a [VCARD] representation of a
41    white-pages directory entry within the MIME Content-Type defined by
42    the [MIME-DIR] document.
44    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
45    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" and "OPTIONAL" in this
46    document are to be interpreted as described in [RFC 2119].
58 Dawson & Howes              Standards Track                     [Page 1]
60 RFC 2426              vCard MIME Directory Profile        September 1998
63 Table of Contents
65    Overview.........................................................3
66    1. THE VCARD MIME DIRECTORY PROFILE REGISTRATION.................4
67    2. MIME DIRECTORY FEATURES.......................................5
68     2.1 PREDEFINED TYPE USAGE ......................................5
69      2.1.1 BEGIN and END Type ......................................5
70      2.1.2 NAME Type ...............................................5
71      2.1.3 PROFILE Type ............................................5
72      2.1.4 SOURCE Type .............................................5
73     2.2 PREDEFINED TYPE PARAMETER USAGE ............................6
74     2.3 PREDEFINED VALUE TYPE USAGE ................................6
75     2.4 EXTENSIONS TO THE PREDEFINED VALUE TYPES ...................6
76      2.4.1 BINARY ..................................................6
77      2.4.2 VCARD ...................................................6
78      2.4.3 PHONE-NUMBER ............................................7
79      2.4.4 UTC-OFFSET ..............................................7
80     2.5 STRUCTURED TYPE VALUES .....................................7
81     2.6 LINE DELIMITING AND FOLDING ................................8
82    3. VCARD PROFILE FEATURES........................................8
83     3.1 IDENTIFICATION TYPES .......................................8
84      3.1.1 FN Type Definition ......................................8
85      3.1.2 N Type Definition .......................................9
86      3.1.3 NICKNAME Type Definition ................................9
87      3.1.4 PHOTO Type Definition ..................................10
88      3.1.5 BDAY Type Definition ...................................11
89     3.2 DELIVERY ADDRESSING TYPES .................................11
90      3.2.1 ADR Type Definition ....................................11
91      3.2.2 LABEL Type Definition ..................................13
92     3.3 TELECOMMUNICATIONS ADDRESSING TYPES .......................13
93      3.3.1 TEL Type Definition ....................................14
94      3.3.2 EMAIL Type Definition ..................................15
95      3.3.3 MAILER Type Definition .................................15
96     3.4 GEOGRAPHICAL TYPES ........................................16
97      3.4.1 TZ Type Definition .....................................16
98      3.4.2 GEO Type Definition ....................................16
99     3.5 ORGANIZATIONAL TYPES ......................................17
100      3.5.1 TITLE Type Definition ..................................17
101      3.5.2 ROLE Type Definition ...................................18
102      3.5.3 LOGO Type Definition ...................................18
103      3.5.4 AGENT Type Definition ..................................19
104      3.5.5 ORG Type Definition ....................................20
105     3.6 EXPLANATORY TYPES .........................................20
106      3.6.1 CATEGORIES Type Definition .............................20
107      3.6.2 NOTE Type Definition ...................................21
108      3.6.3 PRODID Type Definition .................................21
109      3.6.4 REV Type Definition ....................................22
110      3.6.5 SORT-STRING Type Definition ............................22
114 Dawson & Howes              Standards Track                     [Page 2]
116 RFC 2426              vCard MIME Directory Profile        September 1998
119      3.6.6 SOUND Type Definition ..................................23
120      3.6.7 UID Type Definition ....................................24
121      3.6.8 URL Type Definition ....................................25
122      3.6.9 VERSION Type Definition ................................25
123     3.7 SECURITY TYPES ............................................25
124      3.7.1 CLASS Type Definition ..................................26
125      3.7.2 KEY Type Definition ....................................26
126     3.8 EXTENDED TYPES ............................................27
127    4. FORMAL GRAMMAR...............................................27
128    5. DIFFERENCES FROM VCARD V2.1..................................37
129    6. ACKNOWLEDGEMENTS.............................................39
130    7. AUTHORS' ADDRESSES...........................................39
131    8. SECURITY CONSIDERATIONS......................................39
132    9. REFERENCES...................................................40
133    10. FULL COPYRIGHT STATEMENT....................................42
135 Overview
137    The [MIME-DIR] document defines a MIME Content-Type for holding
138    different kinds of directory information. The directory information
139    can be based on any of a number of directory schemas. This document
140    defines a [MIME-DIR] usage profile for conveying directory
141    information based on one such schema; that of the white-pages type of
142    person object.
144    The schema is based on the attributes for the person object defined
145    in the X.520 and X.521 directory services recommendations. The schema
146    has augmented the basic attributes defined in the X.500 series
147    recommendation in order to provide for an electronic representation
148    of the information commonly found on a paper business card. This
149    schema was first defined in the [VCARD] document. Hence, this [MIME-
150    DIR] profile is referred to as the vCard MIME Directory Profile.
152    A directory entry based on this usage profile can include traditional
153    directory, white-pages information such as the distinguished name
154    used to uniquely identify the entry, a formatted representation of
155    the name used for user-interface or presentation purposes, both the
156    structured and presentation form of the delivery address, various
157    telephone numbers and organizational information associated with the
158    entry. In addition, traditional paper business card information such
159    as an image of an organizational logo or identify photograph can be
160    included in this person object.
162    The vCard MIME Directory Profile also provides support for
163    representing other important information about the person associated
164    with the directory entry. For instance, the date of birth of the
165    person; an audio clip describing the pronunciation of the name
166    associated with the directory entry, or some other application of the
170 Dawson & Howes              Standards Track                     [Page 3]
172 RFC 2426              vCard MIME Directory Profile        September 1998
175    digital sound; longitude and latitude geo-positioning information
176    related to the person associated with the directory entry; date and
177    time that the directory information was last updated; annotations
178    often written on a business card; Uniform Resource Locators (URL) for
179    a website; public key information. The profile also provides support
180    for non-standard extensions to the schema. This provides the
181    flexibility for implementations to augment the current capabilities
182    of the profile in a standardized way. More information about this
183    electronic business card format can be found in [VCARD].
185 1.  The vCard Mime Directory Profile Registration
187    This profile is identified by the following [MIME-DIR] registration
188    template information. Subsequent sections define the profile
189    definition.
191    To: ietf-mime-directory@imc.org
193    Subject: Registration of text/directory MIME profile VCARD
195    Profile name: VCARD
197    Profile purpose: To hold person object or white-pages type of
198    directory information. The person schema captured in the directory
199    entries is that commonly found in an electronic business card.
201    Predefined MIME Directory value specifications used: uri, date,
202    date-time, float
204    New value specifications: This profile places further constraints on
205    the [MIME-DIR] text value specification. In addition, it adds a
206    binary, phone-number, utc-offset and vcard value specifications.
208    Predefined MIME Directory types used: SOURCE, NAME, PROFILE, BEGIN,
209    END.
211    Predefined MIME Directory parameters used: ENCODING, VALUE, CHARSET,
212    LANGUAGE, CONTEXT.
214    New types: FN, N, NICKNAME, PHOTO, BDAY, ADR, LABEL, TEL, EMAIL,
215    MAILER, TZ, GEO, TITLE, ROLE, LOGO, AGENT, ORG, CATEGORIES, NOTE,
216    PRODID, REV, SORT-STRING, SOUND, URL, UID, VERSION, CLASS, KEY
218    New parameters: TYPE
220    Profile special notes: The vCard object MUST contain the FN, N and
221    VERSION types. The type-grouping feature of [MIME-DIR] is supported
222    by this profile to group related vCard properties about a directory
226 Dawson & Howes              Standards Track                     [Page 4]
228 RFC 2426              vCard MIME Directory Profile        September 1998
231    entry. For example, vCard properties describing WORK or HOME related
232    characteristics can be grouped with a unique group label.
234    The profile permits the use of non-standard types (i.e., those
235    identified with the prefix string "X-") as a flexible method for
236    implementations to extend the functionality currently defined within
237    this profile.
239 2.  MIME Directory Features
241    The vCard MIME Directory Profile makes use of many of the features
242    defined by [MIME-DIR]. The following sections either clarify or
243    extend the content-type definition of [MIME-DIR].
245 2.1 Predefined Type Usage
247    The vCard MIME Directory Profile uses the following predefined types
248    from [MIME-DIR].
250 2.1.1 BEGIN and END Type
252    The content entity MUST begin with the BEGIN type with a value of
253    "VCARD". The content entity MUST end with the END type with a value
254    of "VCARD".
256 2.1.2 NAME Type
258    If the NAME type is present, then its value is the displayable,
259    presentation text associated with the source for the vCard, as
260    specified in the SOURCE type.
262 2.1.3 PROFILE Type
264    If the PROFILE type is present, then its value MUST be "VCARD".
266 2.1.4 SOURCE Type
268    If the SOURCE type is present, then its value provides information
269    how to find the source for the vCard.
282 Dawson & Howes              Standards Track                     [Page 5]
284 RFC 2426              vCard MIME Directory Profile        September 1998
287 2.2 Predefined Type Parameter Usage
289    The vCard MIME Directory Profile uses the following predefined type
290    parameters as defined by [MIME-DIR].
292         - LANGUAGE
294         - ENCODING
296         - VALUE
298 2.3 Predefined VALUE Type Usage
300    The predefined data type values specified in [MIME-DIR] MUST NOT be
301    repeated in COMMA separated value lists except within the N,
302    NICKNAME, ADR and CATEGORIES value types.
304    The text value type defined in [MIME-DIR] is further restricted such
305    that any SEMI-COLON character (ASCII decimal 59) in the value MUST be
306    escaped with the BACKSLASH character (ASCII decimal 92).
308 2.4 Extensions To The Predefined VALUE Types
310    The predefined data type values specified in [MIME-DIR] have been
311    extended by the vCard profile to include a number of value types that
312    are specific to this profile.
314 2.4.1 BINARY
316    The "binary" value type specifies that the type value is inline,
317    encoded binary data. This value type can be specified in the PHOTO,
318    LOGO, SOUND, and KEY types.
320    If inline encoded binary data is specified, the ENCODING type
321    parameter MUST be used to specify the encoding format. The binary
322    data MUST be encoded using the "B" encoding format. Long lines of
323    encoded binary data SHOULD BE folded to 75 characters using the
324    folding method defined in [MIME-DIR].
326    The value type is defined by the following notation:
328    binary = <A "B" binary encoded string as defined by [RFC 2047].>
330 2.4.2 VCARD
332    The "vcard" value type specifies that the type value is another
333    vCard. This value type can be specified in the AGENT type. The value
334    type is defined by this specification. Since each of the type
338 Dawson & Howes              Standards Track                     [Page 6]
340 RFC 2426              vCard MIME Directory Profile        September 1998
343    declarations with in the vcard value type are being specified within
344    a text value themselves, they MUST be terminated with the backslash
345    escape sequence "\n" or "\N", instead of the normal newline character
346    sequence CRLF. In addition, any COMMA character (ASCII decimal 44),
347    SEMI-COLON character (ASCII decimal 59) and COLON character (ASCII
348    decimal 58) MUST be escaped with the BACKSLASH character (ASCII
349    decimal 92). For example, with the AGENT type a value would be
350    specified as:
352         AGENT:BEGIN:VCARD\nFN:Joe Friday\nTEL:+1-919-555-7878\n
353          TITLE:Area Administrator\, Assistant\n EMAIL\;TYPE=INTERN\n
354          ET:jfriday@host.com\nEND:VCARD\n
356 2.4.3 PHONE-NUMBER
358    The "phone-number" value type specifies that the type value is a
359    telephone number. This value type can be specified in the TEL type.
360    The value type is a text value that has the special semantics of a
361    telephone number as defined in [CCITT E.163] and [CCITT X.121].
363 2.4.4 UTC-OFFSET
365    The "utc-offset" value type specifies that the type value is a signed
366    offset from UTC. This value type can be specified in the TZ type.
368    The value type is an offset from Coordinated Universal Time (UTC). It
369    is specified as a positive or negative difference in units of hours
370    and minutes (e.g., +hh:mm). The time is specified as a 24-hour clock.
371    Hour values are from 00 to 23, and minute values are from 00 to 59.
372    Hour and minutes are 2-digits with high order zeroes required to
373    maintain digit count. The extended format for ISO 8601 UTC offsets
374    MUST be used. The extended format makes use of a colon character as a
375    separator of the hour and minute text fields.
377    The value is defined by the following notation:
379         time-hour       = 2DIGIT        ;00-23
380         time-minute     = 2DIGIT        ;00-59
381         utc-offset      = ("+" / "-") time-hour ":" time-minute
383 2.5 Structured Type Values
385    Compound type values are delimited by a field delimiter, specified by
386    the SEMI-COLON character (ASCII decimal 59). A SEMI-COLON in a
387    component of a compound property value MUST be escaped with a
388    BACKSLASH character (ASCII decimal 92).
394 Dawson & Howes              Standards Track                     [Page 7]
396 RFC 2426              vCard MIME Directory Profile        September 1998
399    Lists of values are delimited by a list delimiter, specified by the
400    COMMA character (ASCII decimal 44). A COMMA character in a value MUST
401    be escaped with a BACKSLASH character (ASCII decimal 92).
403    This profile supports the type grouping mechanism defined in [MIME-
404    DIR]. Grouping of related types is a useful technique to communicate
405    common semantics concerning the properties of a vCard.
407 2.6 Line Delimiting and Folding
409    This profile supports the same line delimiting and folding methods
410    defined in [MIME-DIR]. Specifically, when parsing a content line,
411    folded lines must first be unfolded according to the unfolding
412    procedure described in [MIME-DIR]. After generating a content line,
413    lines longer than 75 characters SHOULD be folded according to the
414    folding procedure described in [MIME DIR].
416    Folding is done after any content encoding of a type value. Unfolding
417    is done before any decoding of a type value in a content line.
419 3.  vCard Profile Features
421    The vCard MIME Directory Profile Type contains directory information,
422    typically pertaining to a single directory entry. The information is
423    described using an attribute schema that is tailored for capturing
424    personal contact information. The vCard can include attributes that
425    describe identification, delivery addressing, telecommunications
426    addressing, geographical, organizational, general explanatory and
427    security and access information about the particular object
428    associated with the vCard.
430 3.1 Identification Types
432    These types are used in the vCard profile to capture information
433    associated with the identification and naming of the person or
434    resource associated with the vCard.
436 3.1.1 FN Type Definition
438    To: ietf-mime-directory@imc.org
440    Subject: Registration of text/directory MIME type FN
442    Type name:FN
444    Type purpose: To specify the formatted text corresponding to the name
445    of the object the vCard represents.
450 Dawson & Howes              Standards Track                     [Page 8]
452 RFC 2426              vCard MIME Directory Profile        September 1998
455    Type encoding: 8bit
457    Type value: A single text value.
459    Type special notes: This type is based on the semantics of the X.520
460    Common Name attribute. The property MUST be present in the vCard
461    object.
463    Type example:
465         FN:Mr. John Q. Public\, Esq.
467 3.1.2 N Type Definition
469    To: ietf-mime-directory@imc.org
471    Subject: Registration of text/directory MIME type N
473    Type name: N
475    Type purpose: To specify the components of the name of the object the
476    vCard represents.
478    Type encoding: 8bit
480    Type value: A single structured text value. Each component can have
481    multiple values.
483    Type special note: The structured type value corresponds, in
484    sequence, to the Family Name, Given Name, Additional Names, Honorific
485    Prefixes, and Honorific Suffixes. The text components are separated
486    by the SEMI-COLON character (ASCII decimal 59). Individual text
487    components can include multiple text values (e.g., multiple
488    Additional Names) separated by the COMMA character (ASCII decimal
489    44). This type is based on the semantics of the X.520 individual name
490    attributes. The property MUST be present in the vCard object.
492    Type example:
494         N:Public;John;Quinlan;Mr.;Esq.
496         N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.
498 3.1.3 NICKNAME Type Definition
500    To: ietf-mime-directory@imc.org
502    Subject: Registration of text/directory MIME type NICKNAME
506 Dawson & Howes              Standards Track                     [Page 9]
508 RFC 2426              vCard MIME Directory Profile        September 1998
511    Type name: NICKNAME
513    Type purpose: To specify the text corresponding to the nickname of
514    the object the vCard represents.
516    Type encoding: 8bit
518    Type value: One or more text values separated by a COMMA character
519    (ASCII decimal 44).
521    Type special note: The nickname is the descriptive name given instead
522    of or in addition to the one belonging to a person, place, or thing.
523    It can also be used to specify a familiar form of a proper name
524    specified by the FN or N types.
526    Type example:
528         NICKNAME:Robbie
530         NICKNAME:Jim,Jimmie
532 3.1.4 PHOTO Type Definition
534    To: ietf-mime-directory@imc.org
536    Subject: Registration of text/directory MIME type PHOTO
538    Type name: PHOTO
540    Type purpose: To specify an image or photograph information that
541    annotates some aspect of the object the vCard represents.
543    Type encoding: The encoding MUST be reset to "b" using the ENCODING
544    parameter in order to specify inline, encoded binary data. If the
545    value is referenced by a URI value, then the default encoding of 8bit
546    is used and no explicit ENCODING parameter is needed.
548    Type value: A single value. The default is binary value. It can also
549    be reset to uri value. The uri value can be used to specify a value
550    outside of this MIME entity.
552    Type special notes: The type can include the type parameter "TYPE" to
553    specify the graphic image format type. The TYPE parameter values MUST
554    be one of the IANA registered image formats or a non-standard image
555    format.
562 Dawson & Howes              Standards Track                    [Page 10]
564 RFC 2426              vCard MIME Directory Profile        September 1998
567    Type example:
569         PHOTO;VALUE=uri:http://www.abc.com/pub/photos
570          /jqpublic.gif
573         PHOTO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
574          AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
575          ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
576          <...remainder of "B" encoded binary data...>
578 3.1.5 BDAY Type Definition
580    To: ietf-mime-directory@imc.org
582    Subject: Registration of text/directory MIME type BDAY
584    Type name: BDAY
586    Type purpose: To specify the birth date of the object the vCard
587    represents.
589    Type encoding: 8bit
591    Type value: The default is a single date value. It can also be reset
592    to a single date-time value.
594    Type examples:
596         BDAY:1996-04-15
598         BDAY:1953-10-15T23:10:00Z
600         BDAY:1987-09-27T08:30:00-06:00
602 3.2 Delivery Addressing Types
604    These types are concerned with information related to the delivery
605    addressing or label for the vCard object.
607 3.2.1 ADR Type Definition
609    To: ietf-mime-directory@imc.org
611    Subject: Registration of text/directory MIME type ADR
613    Type name: ADR
618 Dawson & Howes              Standards Track                    [Page 11]
620 RFC 2426              vCard MIME Directory Profile        September 1998
623    Type purpose: To specify the components of the delivery address for
624    the vCard object.
626    Type encoding: 8bit
628    Type value: A single structured text value, separated by the
629    SEMI-COLON character (ASCII decimal 59).
631    Type special notes: The structured type value consists of a sequence
632    of address components. The component values MUST be specified in
633    their corresponding position. The structured type value corresponds,
634    in sequence, to the post office box; the extended address; the street
635    address; the locality (e.g., city); the region (e.g., state or
636    province); the postal code; the country name. When a component value
637    is missing, the associated component separator MUST still be
638    specified.
640    The text components are separated by the SEMI-COLON character (ASCII
641    decimal 59). Where it makes semantic sense, individual text
642    components can include multiple text values (e.g., a "street"
643    component with multiple lines) separated by the COMMA character
644    (ASCII decimal 44).
646    The type can include the type parameter "TYPE" to specify the
647    delivery address type. The TYPE parameter values can include "dom" to
648    indicate a domestic delivery address; "intl" to indicate an
649    international delivery address; "postal" to indicate a postal
650    delivery address; "parcel" to indicate a parcel delivery address;
651    "home" to indicate a delivery address for a residence; "work" to
652    indicate delivery address for a place of work; and "pref" to indicate
653    the preferred delivery address when more than one address is
654    specified. These type parameter values can be specified as a
655    parameter list (i.e., "TYPE=dom;TYPE=postal") or as a value list
656    (i.e., "TYPE=dom,postal"). This type is based on semantics of the
657    X.520 geographical and postal addressing attributes. The default is
658    "TYPE=intl,postal,parcel,work". The default can be overridden to some
659    other set of values by specifying one or more alternate values. For
660    example, the default can be reset to "TYPE=dom,postal,work,home" to
661    specify a domestic delivery address for postal delivery to a
662    residence that is also used for work.
664    Type example: In this example the post office box and the extended
665    address are absent.
667         ADR;TYPE=dom,home,postal,parcel:;;123 Main
668           Street;Any Town;CA;91921-1234
674 Dawson & Howes              Standards Track                    [Page 12]
676 RFC 2426              vCard MIME Directory Profile        September 1998
679 3.2.2 LABEL Type Definition
681    To: ietf-mime-directory@imc.org
683    Subject: Registration of text/directory MIME type LABEL
685    Type name: LABEL
687    Type purpose: To specify the formatted text corresponding to delivery
688    address of the object the vCard represents.
690    Type encoding: 8bit
692    Type value: A single text value.
694    Type special notes: The type value is formatted text that can be used
695    to present a delivery address label for the vCard object. The type
696    can include the type parameter "TYPE" to specify delivery label type.
697    The TYPE parameter values can include "dom" to indicate a domestic
698    delivery label; "intl" to indicate an international delivery label;
699    "postal" to indicate a postal delivery label; "parcel" to indicate a
700    parcel delivery label; "home" to indicate a delivery label for a
701    residence; "work" to indicate delivery label for a place of work; and
702    "pref" to indicate the preferred delivery label when more than one
703    label is specified. These type parameter values can be specified as a
704    parameter list (i.e., "TYPE=dom;TYPE=postal") or as a value list
705    (i.e., "TYPE=dom,postal"). This type is based on semantics of the
706    X.520 geographical and postal addressing attributes. The default is
707    "TYPE=intl,postal,parcel,work". The default can be overridden to some
708    other set of values by specifying one or more alternate values. For
709    example, the default can be reset to "TYPE=intl,post,parcel,home" to
710    specify an international delivery label for both postal and parcel
711    delivery to a residential location.
713    Type example: A multi-line address label.
715         LABEL;TYPE=dom,home,postal,parcel:Mr.John Q. Public\, Esq.\n
716          Mail Drop: TNE QB\n123 Main Street\nAny Town\, CA  91921-1234
717          \nU.S.A.
719 3.3 Telecommunications Addressing Types
721    These types are concerned with information associated with the
722    telecommunications addressing of the object the vCard represents.
730 Dawson & Howes              Standards Track                    [Page 13]
732 RFC 2426              vCard MIME Directory Profile        September 1998
735 3.3.1 TEL Type Definition
737    To: ietf-mime-directory@imc.org
739    Subject: Registration of text/directory MIME type TEL
741    Type name: TEL
743    Type purpose: To specify the telephone number for telephony
744    communication with the object the vCard represents.
746    Type encoding: 8bit
748    Type value: A single phone-number value.
750    Type special notes: The value of this type is specified in a
751    canonical form in order to specify an unambiguous representation of
752    the globally unique telephone endpoint. This type is based on the
753    X.500 Telephone Number attribute.
755    The type can include the type parameter "TYPE" to specify intended
756    use for the telephone number. The TYPE parameter values can include:
757    "home" to indicate a telephone number associated with a residence,
758    "msg" to indicate the telephone number has voice messaging support,
759    "work" to indicate a telephone number associated with a place of
760    work, "pref" to indicate a preferred-use telephone number, "voice" to
761    indicate a voice telephone number, "fax" to indicate a facsimile
762    telephone number, "cell" to indicate a cellular telephone number,
763    "video" to indicate a video conferencing telephone number, "pager" to
764    indicate a paging device telephone number, "bbs" to indicate a
765    bulletin board system telephone number, "modem" to indicate a MODEM
766    connected telephone number, "car" to indicate a car-phone telephone
767    number, "isdn" to indicate an ISDN service telephone number, "pcs" to
768    indicate a personal communication services telephone number. The
769    default type is "voice". These type parameter values can be specified
770    as a parameter list (i.e., "TYPE=work;TYPE=voice") or as a value list
771    (i.e., "TYPE=work,voice"). The default can be overridden to another
772    set of values by specifying one or more alternate values. For
773    example, the default TYPE of "voice" can be reset to a WORK and HOME,
774    VOICE and FAX telephone number by the value list
775    "TYPE=work,home,voice,fax".
777    Type example:
779         TEL;TYPE=work,voice,pref,msg:+1-213-555-1234
786 Dawson & Howes              Standards Track                    [Page 14]
788 RFC 2426              vCard MIME Directory Profile        September 1998
791 3.3.2 EMAIL Type Definition
793    To: ietf-mime-directory@imc.org
795    Subject: Registration of text/directory MIME type EMAIL
797    Type name: EMAIL
799    Type purpose: To specify the electronic mail address for
800    communication with the object the vCard represents.
802    Type encoding: 8bit
804    Type value: A single text value.
806    Type special notes: The type can include the type parameter "TYPE" to
807    specify the format or preference of the electronic mail address. The
808    TYPE parameter values can include: "internet" to indicate an Internet
809    addressing type, "x400" to indicate a X.400 addressing type or "pref"
810    to indicate a preferred-use email address when more than one is
811    specified. Another IANA registered address type can also be
812    specified. The default email type is "internet". A non-standard value
813    can also be specified.
815    Type example:
817         EMAIL;TYPE=internet:jqpublic@xyz.dom1.com
819         EMAIL;TYPE=internet:jdoe@isp.net
821         EMAIL;TYPE=internet,pref:jane_doe@abc.com
823 3.3.3 MAILER Type Definition
825    To: ietf-mime-directory@imc.org
827    Subject: Registration of text/directory MIME type MAILER
829    Type name: MAILER
831    Type purpose: To specify the type of electronic mail software that is
832    used by the individual associated with the vCard.
834    Type encoding: 8bit
836    Type value: A single text value.
842 Dawson & Howes              Standards Track                    [Page 15]
844 RFC 2426              vCard MIME Directory Profile        September 1998
847    Type special notes: This information can provide assistance to a
848    correspondent regarding the type of data representation which can be
849    used, and how they can be packaged. This property is based on the
850    private MIME type X-Mailer that is generally implemented by MIME user
851    agent products.
853    Type example:
855         MAILER:PigeonMail 2.1
857 3.4 Geographical Types
859    These types are concerned with information associated with
860    geographical positions or regions associated with the object the
861    vCard represents.
863 3.4.1 TZ Type Definition
865    To: ietf-mime-directory@imc.org
867    Subject: Registration of text/directory MIME type TZ
869    Type name: TZ
871    Type purpose: To specify information related to the time zone of the
872    object the vCard represents.
874    Type encoding: 8bit
876    Type value: The default is a single utc-offset value. It can also be
877    reset to a single text value.
879    Type special notes: The type value consists of a single value.
881    Type examples:
883         TZ:-05:00
885         TZ;VALUE=text:-05:00; EST; Raleigh/North America
886         ;This example has a single value, not a structure text value.
888 3.4.2 GEO Type Definition
890    To: ietf-mime-directory@imc.org
892    Subject: Registration of text/directory MIME type GEO
894    Type name: GEO
898 Dawson & Howes              Standards Track                    [Page 16]
900 RFC 2426              vCard MIME Directory Profile        September 1998
903    Type purpose: To specify information related to the global
904    positioning of the object the vCard represents.
906    Type encoding: 8bit
908    Type value: A single structured value consisting of two float values
909    separated by the SEMI-COLON character (ASCII decimal 59).
911    Type special notes: This type specifies information related to the
912    global position of the object associated with the vCard. The value
913    specifies latitude and longitude, in that order (i.e., "LAT LON"
914    ordering). The longitude represents the location east and west of the
915    prime meridian as a positive or negative real number, respectively.
916    The latitude represents the location north and south of the equator
917    as a positive or negative real number, respectively. The longitude
918    and latitude values MUST be specified as decimal degrees and should
919    be specified to six decimal places. This will allow for granularity
920    within a meter of the geographical position. The text components are
921    separated by the SEMI-COLON character (ASCII decimal 59). The simple
922    formula for converting degrees-minutes-seconds into decimal degrees
923    is:
925         decimal = degrees + minutes/60 + seconds/3600.
927    Type example:
929         GEO:37.386013;-122.082932
931 3.5 Organizational Types
933    These types are concerned with information associated with
934    characteristics of the organization or organizational units of the
935    object the vCard represents.
937 3.5.1 TITLE Type Definition
939    To: ietf-mime-directory@imc.org
941    Subject: Registration of text/directory MIME type TITLE
943    Type name: TITLE
945    Type purpose: To specify the job title, functional position or
946    function of the object the vCard represents.
948    Type encoding: 8bit
950    Type value: A single text value.
954 Dawson & Howes              Standards Track                    [Page 17]
956 RFC 2426              vCard MIME Directory Profile        September 1998
959    Type special notes: This type is based on the X.520 Title attribute.
961    Type example:
963         TITLE:Director\, Research and Development
965 3.5.2 ROLE Type Definition
967    To: ietf-mime-directory@imc.org
969    Subject: Registration of text/directory MIME type ROLE
971    Type name: ROLE
973    Type purpose: To specify information concerning the role, occupation,
974    or business category of the object the vCard represents.
976    Type encoding: 8bit
978    Type value: A single text value.
980    Type special notes: This type is based on the X.520 Business Category
981    explanatory attribute. This property is included as an organizational
982    type to avoid confusion with the semantics of the TITLE type and
983    incorrect usage of that type when the semantics of this type is
984    intended.
986    Type example:
988         ROLE:Programmer
990 3.5.3 LOGO Type Definition
992    To: ietf-mime-directory@imc.org
994    Subject: Registration of text/directory MIME type LOGO
996    Type name: LOGO
998    Type purpose: To specify a graphic image of a logo associated with
999    the object the vCard represents.
1001    Type encoding: The encoding MUST be reset to "b" using the ENCODING
1002    parameter in order to specify inline, encoded binary data. If the
1003    value is referenced by a URI value, then the default encoding of 8bit
1004    is used and no explicit ENCODING parameter is needed.
1010 Dawson & Howes              Standards Track                    [Page 18]
1012 RFC 2426              vCard MIME Directory Profile        September 1998
1015    Type value: A single value. The default is binary value. It can also
1016    be reset to uri value. The uri value can be used to specify a value
1017    outside of this MIME entity.
1019    Type special notes: The type can include the type parameter "TYPE" to
1020    specify the graphic image format type. The TYPE parameter values MUST
1021    be one of the IANA registered image formats or a non-standard image
1022    format.
1024    Type example:
1026         LOGO;VALUE=uri:http://www.abc.com/pub/logos/abccorp.jpg
1028         LOGO;ENCODING=b;TYPE=JPEG:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
1029          AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
1030          ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
1031          <...the remainder of "B" encoded binary data...>
1033 3.5.4 AGENT Type Definition
1035    To: ietf-mime-directory@imc.org
1037    Subject: Registration of text/directory MIME type AGENT
1039    Type name: AGENT
1041    Type purpose: To specify information about another person who will
1042    act on behalf of the individual or resource associated with the
1043    vCard.
1045    Type encoding: 8-bit
1047    Type value: The default is a single vcard value. It can also be reset
1048    to either a single text or uri value. The text value can be used to
1049    specify textual information. The uri value can be used to specify
1050    information outside of this MIME entity.
1052    Type special notes: This type typically is used to specify an area
1053    administrator, assistant, or secretary for the individual associated
1054    with the vCard. A key characteristic of the Agent type is that it
1055    represents somebody or something that is separately addressable.
1057    Type example:
1059         AGENT;VALUE=uri:
1060          CID:JQPUBLIC.part3.960129T083020.xyzMail@host3.com
1066 Dawson & Howes              Standards Track                    [Page 19]
1068 RFC 2426              vCard MIME Directory Profile        September 1998
1071         AGENT:BEGIN:VCARD\nFN:Susan Thomas\nTEL:+1-919-555-
1072          1234\nEMAIL\;INTERNET:sthomas@host.com\nEND:VCARD\n
1074 3.5.5 ORG Type Definition
1076    To: ietf-mime-directory@imc.org
1078    Subject: Registration of text/directory MIME type ORG
1080    Type name: ORG
1082    Type purpose: To specify the organizational name and units associated
1083    with the vCard.
1085    Type encoding: 8bit
1087    Type value: A single structured text value consisting of components
1088    separated the SEMI-COLON character (ASCII decimal 59).
1090    Type special notes: The type is based on the X.520 Organization Name
1091    and Organization Unit attributes. The type value is a structured type
1092    consisting of the organization name, followed by one or more levels
1093    of organizational unit names.
1095    Type example: A type value consisting of an organizational name,
1096    organizational unit #1 name and organizational unit #2 name.
1098         ORG:ABC\, Inc.;North American Division;Marketing
1100 3.6 Explanatory Types
1102    These types are concerned with additional explanations, such as that
1103    related to informational notes or revisions specific to the vCard.
1105 3.6.1 CATEGORIES Type Definition
1107    To: ietf-mime-directory@imc.org
1109    Subject: Registration of text/directory MIME type CATEGORIES
1111    Type name: CATEGORIES
1113    Type purpose: To specify application category information about the
1114    vCard.
1116    Type encoding: 8bit
1122 Dawson & Howes              Standards Track                    [Page 20]
1124 RFC 2426              vCard MIME Directory Profile        September 1998
1127    Type value: One or more text values separated by a COMMA character
1128    (ASCII decimal 44).
1130    Type example:
1132         CATEGORIES:TRAVEL AGENT
1134         CATEGORIES:INTERNET,IETF,INDUSTRY,INFORMATION TECHNOLOGY
1136 3.6.2 NOTE Type Definition
1138    To: ietf-mime-directory@imc.org
1140    Subject: Registration of text/directory MIME type NOTE
1142    Type name: NOTE
1144    Type purpose: To specify supplemental information or a comment that
1145    is associated with the vCard.
1147    Type encoding: 8bit
1149    Type value: A single text value.
1151    Type special notes: The type is based on the X.520 Description
1152    attribute.
1154    Type example:
1156         NOTE:This fax number is operational 0800 to 1715
1157           EST\, Mon-Fri.
1159 3.6.3 PRODID Type Definition
1161    To: ietf-mime-directory@imc.org
1163    Subject: Registration of text/directory MIME type PRODID
1165    Type name: PRODID
1167    Type purpose: To specify the identifier for the product that created
1168    the vCard object.
1170    Type encoding: 8-bit
1172    Type value: A single text value.
1178 Dawson & Howes              Standards Track                    [Page 21]
1180 RFC 2426              vCard MIME Directory Profile        September 1998
1183    Type special notes: Implementations SHOULD use a method such as that
1184    specified for Formal Public Identifiers in ISO 9070 to assure that
1185    the text value is unique.
1187    Type example:
1189         PRODID:-//ONLINE DIRECTORY//NONSGML Version 1//EN
1191 3.6.4 REV Type Definition
1193    To: ietf-mime-directory@imc.org
1195    Subject: Registration of text/directory MIME type REV
1197    Type name: REV
1199    Type purpose: To specify revision information about the current
1200    vCard.
1202    Type encoding: 8-bit
1204    Type value: The default is a single date-time value. Can also be
1205    reset to a single date value.
1207    Type special notes: The value distinguishes the current revision of
1208    the information in this vCard for other renditions of the
1209    information.
1211    Type example:
1213         REV:1995-10-31T22:27:10Z
1215         REV:1997-11-15
1217 3.6.5 SORT-STRING Type Definition
1219    To: ietf-mime-directory@imc.org
1221    Subject: Registration of text/directory MIME type SORT-STRING
1223    Type Name: SORT-STRING
1225    Type purpose: To specify the family name or given name text to be
1226    used for national-language-specific sorting of the FN and N types.
1228    Type encoding: 8bit
1230    Type value: A single text value.
1234 Dawson & Howes              Standards Track                    [Page 22]
1236 RFC 2426              vCard MIME Directory Profile        September 1998
1239    Type special notes: The sort string is used to provide family name or
1240    given name text that is to be used in locale- or national-language-
1241    specific sorting of the formatted name and structured name types.
1242    Without this information, sorting algorithms could incorrectly sort
1243    this vCard within a sequence of sorted vCards.  When this type is
1244    present in a vCard, then this family name or given name value is used
1245    for sorting the vCard.
1247    Type examples: For the case of family name sorting, the following
1248    examples define common sort string usage with the FN and N types.
1250         FN:Rene van der Harten
1251         N:van der Harten;Rene;J.;Sir;R.D.O.N.
1252         SORT-STRING:Harten
1254         FN:Robert Pau Shou Chang
1255         N:Pau;Shou Chang;Robert
1256         SORT-STRING:Pau
1258         FN:Osamu Koura
1259         N:Koura;Osamu
1260         SORT-STRING:Koura
1262         FN:Oscar del Pozo
1263         N:del Pozo Triscon;Oscar
1264         SORT-STRING:Pozo
1266         FN:Chistine d'Aboville
1267         N:d'Aboville;Christine
1268         SORT-STRING:Aboville
1270 3.6.6 SOUND Type Definition
1272    To: ietf-mime-directory@imc.org
1274    Subject: Registration of text/directory MIME type SOUND
1276    Type name: SOUND
1278    Type purpose: To specify a digital sound content information that
1279    annotates some aspect of the vCard. By default this type is used to
1280    specify the proper pronunciation of the name type value of the vCard.
1282    Type encoding: The encoding MUST be reset to "b" using the ENCODING
1283    parameter in order to specify inline, encoded binary data. If the
1284    value is referenced by a URI value, then the default encoding of 8bit
1285    is used and no explicit ENCODING parameter is needed.
1290 Dawson & Howes              Standards Track                    [Page 23]
1292 RFC 2426              vCard MIME Directory Profile        September 1998
1295    Type value: A single value. The default is binary value. It can also
1296    be reset to uri value. The uri value can be used to specify a value
1297    outside of this MIME entity.
1299    Type special notes: The type can include the type parameter "TYPE" to
1300    specify the audio format type. The TYPE parameter values MUST be one
1301    of the IANA registered audio formats or a non-standard audio format.
1303    Type example:
1305         SOUND;TYPE=BASIC;VALUE=uri:CID:JOHNQPUBLIC.part8.
1306          19960229T080000.xyzMail@host1.com
1308         SOUND;TYPE=BASIC;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcN
1309          AQEEBQAwdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENvbW11bm
1310          ljYXRpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
1311          <...the remainder of "B" encoded binary data...>
1313 3.6.7 UID Type Definition
1315    To: ietf-mime-directory@imc.org
1317    Subject: Registration of text/directory MIME type UID
1319    Type name: UID
1321    Type purpose: To specify a value that represents a globally unique
1322    identifier corresponding to the individual or resource associated
1323    with the vCard.
1325    Type encoding: 8bit
1327    Type value: A single text value.
1329    Type special notes: The type is used to uniquely identify the object
1330    that the vCard represents.
1332    The type can include the type parameter "TYPE" to specify the format
1333    of the identifier. The TYPE parameter value should be an IANA
1334    registered identifier format. The value can also be a non-standard
1335    format.
1337    Type example:
1339         UID:19950401-080045-40000F192713-0052
1346 Dawson & Howes              Standards Track                    [Page 24]
1348 RFC 2426              vCard MIME Directory Profile        September 1998
1351 3.6.8 URL Type Definition
1353    To: ietf-mime-directory@imc.org
1355    Subject: Registration of text/directory MIME type URL
1357    Type name: URL
1359    Type purpose: To specify a uniform resource locator associated with
1360    the object that the vCard refers to.
1362    Type encoding: 8bit
1364    Type value: A single uri value.
1366    Type example:
1368         URL:http://www.swbyps.restaurant.french/~chezchic.html
1370 3.6.9 VERSION Type Definition
1372    To: ietf-mime-directory@imc.org
1374    Subject: Registration of text/directory MIME type VERSION
1376    Type name: VERSION
1378    Type purpose: To specify the version of the vCard specification used
1379    to format this vCard.
1381    Type encoding: 8bit
1383    Type value: A single text value.
1385    Type special notes: The property MUST be present in the vCard object.
1386    The value MUST be "3.0" if the vCard corresponds to this
1387    specification.
1389    Type example:
1391         VERSION:3.0
1393 3.7 Security Types
1395    These types are concerned with the security of communication pathways
1396    or access to the vCard.
1402 Dawson & Howes              Standards Track                    [Page 25]
1404 RFC 2426              vCard MIME Directory Profile        September 1998
1407 3.7.1 CLASS Type Definition
1409    To: ietf-mime-directory@imc.org
1411    Subject: Registration of text/directory MIME type CLASS
1413    Type name: CLASS
1415    Type purpose: To specify the access classification for a vCard
1416    object.
1418    Type encoding: 8bit
1420    Type value: A single text value.
1422    Type special notes: An access classification is only one component of
1423    the general security model for a directory service. The
1424    classification attribute provides a method of capturing the intent of
1425    the owner for general access to information described by the vCard
1426    object.
1428    Type examples:
1430         CLASS:PUBLIC
1432         CLASS:PRIVATE
1434         CLASS:CONFIDENTIAL
1436 3.7.2 KEY Type Definition
1438    To: ietf-mime-directory@imc.org
1440    Subject: Registration of text/directory MIME type KEY
1442    Type name: KEY
1444    Type purpose: To specify a public key or authentication certificate
1445    associated with the object that the vCard represents.
1447    Type encoding: The encoding MUST be reset to "b" using the ENCODING
1448    parameter in order to specify inline, encoded binary data. If the
1449    value is a text value, then the default encoding of 8bit is used and
1450    no explicit ENCODING parameter is needed.
1452    Type value: A single value. The default is binary. It can also be
1453    reset to text value. The text value can be used to specify a text
1454    key.
1458 Dawson & Howes              Standards Track                    [Page 26]
1460 RFC 2426              vCard MIME Directory Profile        September 1998
1463    Type special notes: The type can also include the type parameter TYPE
1464    to specify the public key or authentication certificate format. The
1465    parameter type should specify an IANA registered public key or
1466    authentication certificate format. The parameter type can also
1467    specify a non-standard format.
1469    Type example:
1471         KEY;ENCODING=b:MIICajCCAdOgAwIBAgICBEUwDQYJKoZIhvcNAQEEBQA
1472          wdzELMAkGA1UEBhMCVVMxLDAqBgNVBAoTI05ldHNjYXBlIENbW11bmljYX
1473          Rpb25zIENvcnBvcmF0aW9uMRwwGgYDVQQLExNJbmZvcm1hdGlvbiBTeXN0
1474          ZW1zMRwwGgYDVQQDExNyb290Y2EubmV0c2NhcGUuY29tMB4XDTk3MDYwNj
1475          E5NDc1OVoXDTk3MTIwMzE5NDc1OVowgYkxCzAJBgNVBAYTAlVTMSYwJAYD
1476          VQQKEx1OZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3JwLjEYMBYGA1UEAx
1477          MPVGltb3RoeSBBIEhvd2VzMSEwHwYJKoZIhvcNAQkBFhJob3dlc0BuZXRz
1478          Y2FwZS5jb20xFTATBgoJkiaJk/IsZAEBEwVob3dlczBcMA0GCSqGSIb3DQ
1479          EBAQUAA0sAMEgCQQC0JZf6wkg8pLMXHHCUvMfL5H6zjSk4vTTXZpYyrdN2
1480          dXcoX49LKiOmgeJSzoiFKHtLOIboyludF90CgqcxtwKnAgMBAAGjNjA0MB
1481          EGCWCGSAGG+EIBAQQEAwIAoDAfBgNVHSMEGDAWgBT84FToB/GV3jr3mcau
1482          +hUMbsQukjANBgkqhkiG9w0BAQQFAAOBgQBexv7o7mi3PLXadkmNP9LcIP
1483          mx93HGp0Kgyx1jIVMyNgsemeAwBM+MSlhMfcpbTrONwNjZYW8vJDSoi//y
1484          rZlVt9bJbs7MNYZVsyF1unsqaln4/vy6Uawfg8VUMk1U7jt8LYpo4YULU7
1485          UZHPYVUaSgVttImOHZIKi4hlPXBOhcUQ==
1487 3.8 Extended Types
1489    The types defined by this document can be extended with private types
1490    using the non-standard, private values mechanism defined in [RFC
1491    2045]. Non-standard, private types with a name starting with "X-" may
1492    be defined bilaterally between two cooperating agents without outside
1493    registration or standardization.
1495 4.  Formal Grammar
1497    The following formal grammar is provided to assist developers in
1498    building parsers for the vCard.
1500    This syntax is written according to the form described in RFC 2234,
1501    but it references just this small subset of RFC 2234 literals:
1503    ;*******************************************
1504    ; Commonly Used Literal Definition
1505    ;*******************************************
1507    ALPHA        = %x41-5A / %x61-7A
1508         ; Latin Capital Letter A-Latin Capital Letter Z /
1509         ; Latin Small Letter a-Latin Small Letter z
1514 Dawson & Howes              Standards Track                    [Page 27]
1516 RFC 2426              vCard MIME Directory Profile        September 1998
1519    CHAR         = %x01-7F
1520         ; Any C0 Controls and Basic Latin, excluding NULL from
1521         ; Code Charts, pages 7-6 through 7-9 in [UNICODE]
1523    CR           = %x0D
1524         ; Carriage Return
1526    LF           = %0A
1527         ; Line Feed
1529    CRLF         = CR LF
1530         ; Internet standard newline
1532    ;CTL         = %x00-1F / %x7F
1533         ; Controls. Not used, but referenced in comments.
1535    DIGIT        = %x30-39
1536         ; Digit Zero-Digit Nine
1538    DQUOTE       = %x22
1539         ; Quotation Mark
1541    HTAB         = %x09
1542         ; Horizontal Tabulation
1544    SP           = %x20
1545         ; space
1547    VCHAR        = %x21-7E
1548         ; Visible (printing) characters
1550    WSP          = SP / HTAB
1551         ; White Space
1553    ;*******************************************
1554    ; Basic vCard Definition
1555    ;*******************************************
1557    vcard_entity = 1*(vcard)
1559    vcard        = [group "."] "BEGIN" ":" "VCARD" 1*CRLF
1560                   1*(contentline)
1561         ;A vCard object MUST include the VERSION, FN and N types.
1562                   [group "."] "END" ":" "VCARD" 1*CRLF
1564    contentline  = [group "."] name *(";" param ) ":" value CRLF
1565         ; When parsing a content line, folded lines must first
1566         ; be unfolded according to the unfolding procedure
1570 Dawson & Howes              Standards Track                    [Page 28]
1572 RFC 2426              vCard MIME Directory Profile        September 1998
1575         ; described above. When generating a content line, lines
1576         ; longer than 75 characters SHOULD be folded according to
1577         ; the folding procedure described in [MIME DIR].
1579    group        = 1*(ALPHA / DIGIT / "-")
1581    name         = iana-token / x-name
1582         ; Parsing of the param and value is
1583         ; based on the "name" or type identifier
1584         ; as defined in ABNF sections below
1586    iana-token   = 1*(ALPHA / DIGIT / "-")
1587         ; vCard type or parameter identifier registered with IANA
1589    x-name       = "X-" 1*(ALPHA / DIGIT / "-")
1590         ; Reserved for non-standard use
1592    param        = param-name "=" param-value *("," param-value)
1594    param-name   = iana-token / x-name
1596    param-value  = ptext / quoted-string
1598    ptext        = *SAFE-CHAR
1600    value        = *VALUE-CHAR
1602    quoted-string = DQUOTE QSAFE-CHAR DQUOTE
1604    NON-ASCII    = %x80-FF
1605         ; Use is restricted by CHARSET parameter
1606         ; on outer MIME object (UTF-8 preferred)
1608    QSAFE-CHAR   = WSP / %x21 / %x23-7E / NON-ASCII
1609         ; Any character except CTLs, DQUOTE
1611    SAFE-CHAR    = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E / NON-ASCII
1612         ; Any character except CTLs, DQUOTE, ";", ":", ","
1614    VALUE-CHAR   = WSP / VCHAR / NON-ASCII
1615         ; Any textual character
1617    ;*******************************************
1618    ; vCard Type Definition
1619    ;
1620    ; Provides type-specific definitions for how the
1621    ; "value" and "param" are defined.
1622    ;*******************************************
1626 Dawson & Howes              Standards Track                    [Page 29]
1628 RFC 2426              vCard MIME Directory Profile        September 1998
1631    ;For name="NAME"
1632    param        = ""
1633         ; No parameters allowed
1635    value        = text-value
1637    ;For name="PROFILE"
1638    param        = ""
1639         ; No parameters allowed
1641    value        = text-value
1642         ; Value MUST be the case insensitive value "VCARD
1644    ;For name="SOURCE"
1645    param        = source-param
1646         ; No parameters allowed
1648    value        = uri
1650    source-param = ("VALUE" "=" "uri")
1651                 / ("CONTEXT" "=" "word")
1652         ; Parameter value specifies the protocol context
1653         ; for the uri value.
1654                 / (x-name "=" *SAFE-CHAR)
1656    ;For name="FN"
1657    ;This type MUST be included in a vCard object.
1658    param        = text-param
1659         ; Text parameters allowed
1661    value        = text-value
1663    ;For name="N"
1664    ;This type MUST be included in a vCard object.
1666    param        = text-param
1667         ; Text parameters allowed
1669    value        = n-value
1671    n-value      = 0*4(text-value *("," text-value) ";")
1672                   text-value *("," text-value)
1673         ; Family; Given; Middle; Prefix; Suffix.
1674         ; Example: Public;John;Quincy,Adams;Reverend Dr. III
1676    ;For name="NICKNAME"
1677    param        = text-param
1678         ; Text parameters allowed
1682 Dawson & Howes              Standards Track                    [Page 30]
1684 RFC 2426              vCard MIME Directory Profile        September 1998
1687    value        = text-list
1689    ;For name="PHOTO"
1690    param        = img-inline-param
1691         ; Only image parameters allowed
1693    param        =/ img-refer-param
1694         ; Only image parameters allowed
1696    value        = img-inline-value
1697         ; Value and parameter MUST match
1699    value        =/ img-refer-value
1700         ; Value and parameter MUST match
1702    ;For name="BDAY"
1703    param        = ("VALUE" "=" "date")
1704         ; Only value parameter allowed
1706    param        =/ ("VALUE" "=" "date-time")
1707         ; Only value parameter allowed
1709    value        = date-value
1710         ; Value MUST match value type
1712    value        =/ date-time-value
1713         ; Value MUST match value type
1715    ;For name="ADR"
1716    param        = adr-param / text-param
1717         ; Only adr and text parameters allowed
1719    value        = adr-value
1721    ;For name="LABEL"
1722    param        = adr-param / text-param
1723         ; Only adr and text parameters allowed
1725    value        = text-value
1727    ;For name="TEL"
1728    param        = tel-param
1729         ; Only tel parameters allowed
1731    value        = phone-number-value
1733    tel-param    = "TYPE" "=" tel-type *("," tel-type)
1738 Dawson & Howes              Standards Track                    [Page 31]
1740 RFC 2426              vCard MIME Directory Profile        September 1998
1743    tel-type     = "HOME" / "WORK" / "PREF" / "VOICE" / "FAX" / "MSG"
1744                 / "CELL" / "PAGER" / "BBS" / "MODEM" / "CAR" / "ISDN"
1745                 / "VIDEO" / "PCS" / iana-token / x-name
1746         ; Values are case insensitive
1748    ;For name="EMAIL"
1749    param        = email-param
1750         ; Only email parameters allowed
1752    value        = text-value
1754    email-param  = "TYPE" "=" email-type ["," "PREF"]
1755         ; Value is case insensitive
1757    email-type   = "INTERNET" / "X400" / iana-token / "X-" word
1758         ; Values are case insensitive
1760    ;For name="MAILER"
1761    param        = text-param
1762         ; Only text parameters allowed
1764    value        = text-value
1766    ;For name="TZ"
1767    param        = ""
1768         ; No parameters allowed
1770    value        = utc-offset-value
1772    ;For name="GEO"
1773    param        = ""
1774         ; No parameters allowed
1776    value        = float-value ";" float-value
1778    ;For name="TITLE"
1779    param        = text-param
1780         ; Only text parameters allowed
1782    value        = text-value
1784    ;For name="ROLE"
1785    param        = text-param
1786         ; Only text parameters allowed
1788    value        = text-value
1790    ;For name="LOGO"
1794 Dawson & Howes              Standards Track                    [Page 32]
1796 RFC 2426              vCard MIME Directory Profile        September 1998
1799    param        = img-inline-param / img-refer-param
1800         ; Only image parameters allowed
1802    value        = img-inline-value / img-refer-value
1803         ; Value and parameter MUST match
1805    ;For name="AGENT"
1806    param        = agent-inline-param
1808    param        =/ agent-refer-param
1810    value        = agent-inline-value
1811         ; Value and parameter MUST match
1813    value        =/ agent-refer-value
1814         ; Value and parameter MUST match
1816    agent-inline-param = ""
1817         ; No parameters allowed
1819    agent-refer-param = "VALUE" "=" "uri"
1820         ; Only value parameter allowed
1822    agent-inline-value = text-value
1823         ; Value MUST be a valid vCard object
1825    agent-refer-value = uri
1826         ; URI MUST refer to image content of given type
1828    ;For name="ORG"
1830    param        = text-param
1831         ; Only text parameters allowed
1833    value        = org-value
1835    org-value    = *(text-value ";") text-value
1836         ; First is Organization Name, remainder are Organization Units.
1838    ;For name="CATEGORIES"
1839    param        = text-param
1840         ; Only text parameters allowed
1842    value        = text-list
1844    ;For name="NOTE"
1845    param        = text-param
1846         ; Only text parameters allowed
1850 Dawson & Howes              Standards Track                    [Page 33]
1852 RFC 2426              vCard MIME Directory Profile        September 1998
1855    value        = text-value
1857    ;For name="PRODID"
1858    param        = ""
1859         ; No parameters allowed
1861    value        = text-value
1863    ;For name="REV"
1864    param        = ["VALUE" =" "date-time"]
1865         ; Only value parameters allowed. Values are case insensitive.
1867    param        =/ "VALUE" =" "date"
1868         ; Only value parameters allowed. Values are case insensitive.
1870    value        = date-time-value
1872    value        =/ date-value
1874    ;For name="SORT-STRING"
1875    param        = text-param
1876         ; Only text parameters allowed
1878    value        = text-value
1880    ;For name="SOUND"
1881    param        = snd-inline-param
1882         ; Only sound parameters allowed
1884    param        =/ snd-refer-param
1885         ; Only sound parameters allowed
1887    value        = snd-line-value
1888         ; Value MUST match value type
1890    value        =/ snd-refer-value
1891         ; Value MUST match value type
1893    snd-inline-value     = binary-value CRLF
1894         ; Value MUST be "b" encoded audio content
1896    snd-inline-param     = ("VALUE" "=" "binary"])
1897                         / ("ENCODING" "=" "b")
1898                         / ("TYPE" "=" *SAFE-CHAR)
1899         ; Value MUST be an IANA registered audio type
1901    snd-refer-value      = uri
1902         ; URI MUST refer to audio content of given type
1906 Dawson & Howes              Standards Track                    [Page 34]
1908 RFC 2426              vCard MIME Directory Profile        September 1998
1911    snd-refer-param      = ("VALUE" "=" "uri")
1912                         / ("TYPE" "=" word)
1913         ; Value MUST be an IANA registered audio type
1915    ;For name="UID"
1916    param        = ""
1917         ; No parameters allowed
1919    value        = text-value
1921    ;For name="URL"
1922    param        = ""
1923         ; No parameters allowed
1925    value        = uri
1927    ;For name="VERSION"
1928    ;This type MUST be included in a vCard object.
1929    param        = ""
1930         ; No parameters allowed
1932    value        = text-value
1933         ; Value MUST be "3.0"
1935    ;For name="CLASS"
1936    param        = ""
1937         ; No parameters allowed
1939    value        = "PUBLIC" / "PRIVATE" / "CONFIDENTIAL"
1940                 / iana-token / x-name
1941         ; Value are case insensitive
1943    ;For name="KEY"
1944    param        = key-txt-param
1945         ; Only value and type parameters allowed
1947    param        =/ key-bin-param
1948         ; Only value and type parameters allowed
1950    value        = text-value
1952    value        =/ binary-value
1954    key-txt-param = "TYPE" "=" keytype
1956    key-bin-param = ("TYPE" "=" keytype)
1957                  / ("ENCODING" "=" "b")
1958         ; Value MUST be a "b" encoded key or certificate
1962 Dawson & Howes              Standards Track                    [Page 35]
1964 RFC 2426              vCard MIME Directory Profile        September 1998
1967    keytype      = "X509" / "PGP" / iana-token / x-name
1968         ; Values are case insensitive
1970    ;For name="X-" non-standard type
1971    param        = text-param / (x-name "=" param-value)
1972         ; Only text or non-standard parameters allowed
1974    value        = text-value
1976    ;*******************************************
1977    ; vCard Commonly Used Parameter Definition
1978    ;*******************************************
1980    text-param   = ("VALUE" "=" "ptext")
1981                 / ("LANGUAGE" "=" langval)
1982                 / (x-name "=" param-value)
1984    langval      = <a language string as defined in RFC 1766>
1986    img-inline-value     = binary-value
1987         ;Value MUST be "b" encoded image content
1989    img-inline-param
1991    img-inline-param     = ("VALUE" "=" "binary")
1992                         / ("ENCODING" "=" "b")
1993                         / ("TYPE" "=" param-value
1994         ;TYPE value MUST be an IANA registered image type
1996    img-refer-value = uri
1997         ;URI MUST refer to image content of given type
1999    img-refer-param      = ("VALUE" "=" "uri")
2000                         / ("TYPE" "=" param-value)
2001         ;TYPE value MUST be an IANA registered image type
2003    adr-param    = ("TYPE" "=" adr-type *("," adr-type))
2004                 / (text-param)
2006    adr-type     = "dom" / "intl" / "postal" / "parcel" / "home"
2007                 / "work" / "pref" / iana-type / x-name
2009    adr-value    = 0*6(text-value ";") text-value
2010         ; PO Box, Extended Address, Street, Locality, Region, Postal
2011         ; Code, Country Name
2018 Dawson & Howes              Standards Track                    [Page 36]
2020 RFC 2426              vCard MIME Directory Profile        September 1998
2023    ;*******************************************
2024    ; vCard Type Value Definition
2025    ;*******************************************
2027    text-value-list      = 1*text-value *("," 1*text-value)
2029    text-value   = *(SAFE-CHAR / ":" / DQUOTE / ESCAPED-CHAR)
2031    ESCAPED-CHAR = "\\" / "\;" / "\," / "\n" / "\N")
2032         ; \\ encodes \, \n or \N encodes newline
2033         ; \; encodes ;, \, encodes ,
2035    binary-value = <A "b" encoded text value as defined in [RFC 2047]>
2037    date-value   = <A single date value as defined in [MIME-DIR]>
2039    time-value   = <A single time value as defined in [MIME-DIR]>
2041    date-time-value = <A single date-time value as defined in [MIME-DIR]
2043    float-value  = <A single float value as defined in [MIME-DIR]>
2045    phone-number-value = <A single text  value as defined in [CCITT
2046                          E.163] and [CCITT X.121]>
2048    uri-value    = <A uri value as defined in [MIME-DIR]>
2050    utc-offset-value = ("+" / "-") time-hour ":" time-minute
2051    time-hour    = 2DIGIT                ;00-23
2052    time-minute  = 2DIGIT                ;00-59
2054 5.  Differences From vCard v2.1
2056    This specification has been reviewed by the IETF community. The
2057    review process introduced a number of differences from the [VCARD]
2058    version 2.1. These differences require that vCard objects conforming
2059    to this specification have a different version number than a vCard
2060    conforming to [VCARD]. The differences include the following:
2062         . The QUOTED-PRINTABLE inline encoding has been eliminated.
2063           Only the "B" encoding of [RFC 2047] is an allowed value for
2064           the ENCODING parameter.
2066         . The method for specifying CRLF character sequences in text
2067           type values has been changed. The CRLF character sequence in
2068           a text type value is specified with the backslash character
2069           sequence "\n" or "\N".
2074 Dawson & Howes              Standards Track                    [Page 37]
2076 RFC 2426              vCard MIME Directory Profile        September 1998
2079         . Any COMMA or SEMICOLON in a text type value must be backslash
2080           escaped.
2082         . VERSION value corresponding to this specification MUST be
2083           "3.0".
2085         . The [MIME-DIR] predefined types of SOURCE, NAME and PROFILE
2086           are allowed.
2088         . The [MIME-DIR] VALUE type parameter for value data typing is
2089           allowed. In addition, there are extensions made to these type
2090           values for additional value types used in this specification.
2092         . The [VCARD] CHARSET type parameter has been eliminated.
2093           Character set can only be specified on the CHARSET parameter
2094           on the Content-Type MIME header field.
2096         . The [VCARD] support for non-significant WSP character has
2097           been eliminated.
2099         . The "TYPE=" prefix to parameter values is required. In
2100           [VCARD] this was optional.
2102         . LOGO, PHOTO and SOUND multimedia formats MUST be either IANA
2103           registered types or non-standard types.
2105         . Inline binary content must be "B" encoded and folded. A blank
2106           line after the encoded binary content is no longer required.
2108         . TEL values can be identified as personal communication
2109           services telephone numbers with the PCS type parameter value.
2111         . The CATEGORIES, CLASS, NICKNAME, PRODID and SORT-STRING types
2112           have been added.
2114         . The VERSION, N and FN types MUST be specified in a vCard.
2115           This identifies the version of the specification that the
2116           object was formatted to. It also assures that every vCard
2117           will include both a structured and formatted name that can be
2118           used to identify the object.
2130 Dawson & Howes              Standards Track                    [Page 38]
2132 RFC 2426              vCard MIME Directory Profile        September 1998
2135 6.  Acknowledgements
2137    The many valuable comments contributed by members of the IETF ASID
2138    working group are gratefully acknowledged, as are the contributions
2139    by Roland Alden, Stephen Bartlett, Alec Dun, Patrik Faltstrom, Daniel
2140    Gurney, Bruce Johnston, Daniel Klaussen, Pete Miller, Keith Moore,
2141    Vinod Seraphin, Michelle Watkins. Chris Newman was especially helpful
2142    in navigating the intricacies of ABNF lore.
2144 7.  Authors' Addresses
2146    BEGIN:vCard
2147    VERSION:3.0
2148    FN:Frank Dawson
2149    ORG:Lotus Development Corporation
2150    ADR;TYPE=WORK,POSTAL,PARCEL:;;6544 Battleford Drive
2151     ;Raleigh;NC;27613-3502;U.S.A.
2152    TEL;TYPE=VOICE,MSG,WORK:+1-919-676-9515
2153    TEL;TYPE=FAX,WORK:+1-919-676-9564
2154    EMAIL;TYPE=INTERNET,PREF:Frank_Dawson@Lotus.com
2155    EMAIL;TYPE=INTERNET:fdawson@earthlink.net
2156    URL:http://home.earthlink.net/~fdawson
2157    END:vCard
2160    BEGIN:vCard
2161    VERSION:3.0
2162    FN:Tim Howes
2163    ORG:Netscape Communications Corp.
2164    ADR;TYPE=WORK:;;501 E. Middlefield Rd.;Mountain View;
2165     CA; 94043;U.S.A.
2166    TEL;TYPE=VOICE,MSG,WORK:+1-415-937-3419
2167    TEL;TYPE=FAX,WORK:+1-415-528-4164
2168    EMAIL;TYPE=INTERNET:howes@netscape.com
2169    END:vCard
2171 8.  Security Considerations
2173    vCards can carry cryptographic keys or certificates, as described in
2174    Section 3.7.2.
2176    Section 3.7.1 specifies a desired security classification policy for
2177    a particular vCard. That policy is not enforced in any way.
2179    The vCard objects have no inherent authentication or privacy, but can
2180    easily be carried by any security mechanism that transfers MIME
2181    objects with authentication or privacy. In cases where threats of
2182    "spoofed" vCard information is a concern, the vCard SHOULD BE
2186 Dawson & Howes              Standards Track                    [Page 39]
2188 RFC 2426              vCard MIME Directory Profile        September 1998
2191    transported using one of these secure mechanisms.
2193    The information in a vCard may become out of date. In cases where the
2194    vitality of data is important to an originator of a vCard, the "URL"
2195    type described in section 3.6.8 SHOULD BE specified. In addition, the
2196    "REV" type described in section 3.6.4 can be specified to indicate
2197    the last time that the vCard data was updated.
2199 9.  References
2201    [ISO 8601]    ISO 8601:1988 - Data elements and interchange formats -
2202                  Information interchange - Representation of dates and
2203                  times - The International Organization for
2204                  Standardization, June, 1988.
2206    [ISO 8601 TC] ISO 8601, Technical Corrigendum 1 - Data elements and
2207                  interchange formats - Information interchange -
2208                  Representation of dates and times - The International
2209                  Organization for Standardization, May, 1991.
2211    [ISO 9070]    ISO 9070, Information Processing - SGML support
2212                  facilities - Registration Procedures for Public Text
2213                  Owner Identifiers, April, 1991.
2215    [CCITT E.163] Recommendation E.163 - Numbering Plan for The
2216                  International Telephone Service, CCITT Blue Book,
2217                  Fascicle II.2, pp.  128-134, November, 1988.
2219    [CCITT X.121] Recommendation X.121 - International Numbering Plan for
2220                  Public Data Networks, CCITT Blue Book, Fascicle VIII.3,
2221                  pp. 317-332, November, 1988.
2223    [CCITT X.520] Recommendation X.520 - The Directory - Selected
2224                  Attribute Types, November 1988.
2226    [CCITT X.521] Recommendation X.521 - The Directory - Selected Object
2227                  Classes, November 1988.
2229    [MIME-DIR]    Howes, T., Smith, M., and F. Dawson, "A MIME Content-
2230                  Type for Directory Information", RFC 2425, September
2231                  1998.
2233    [RFC 1738]    Berners-Lee, T., Masinter, L., and M. McCahill,
2234                  "Uniform Resource Locators (URL)", RFC 1738, December
2235                  1994.
2237    [RFC 1766]    Alvestrand, H., "Tags for the Identification of
2238                  Languages", RFC 1766, March 1995.
2242 Dawson & Howes              Standards Track                    [Page 40]
2244 RFC 2426              vCard MIME Directory Profile        September 1998
2247    [RFC 1872]    Levinson, E., "The MIME Multipart/Related Content-
2248                  type", RFC 1872, December 1995.
2250    [RFC 2045]    Freed, N., and N. Borenstein, "Multipurpose Internet
2251                  Mail Extensions (MIME) - Part One: Format of Internet
2252                  Message Bodies", RFC 2045, November 1996.
2254    [RFC 2046]    Freed, N., and N. Borenstein, "Multipurpose Internet
2255                  Mail Extensions (MIME) - Part Two: Media Types", RFC
2256                  2046, November 1996.
2258    [RFC 2047]    Moore, K., "Multipurpose Internet Mail Extensions
2259                  (MIME) - Part Three: Message Header Extensions for
2260                  Non-ASCII Text", RFC 2047, November 1996.
2262    [RFC 2048]    Freed, N., Klensin, J., and J. Postel, "Multipurpose
2263                  Internet Mail Extensions (MIME) - Part Four:
2264                  Registration Procedures", RFC 2048, January 1997.
2266    [RFC 2119]    Bradner, S., "Key words for use in RFCs to Indicate
2267                  Requirement Levels", BCP 14, RFC 2119, March 1997.
2269    [RFC 2234]    Crocker, D., and P. Overell, "Augmented BNF for Syntax
2270                  Specifications: ABNF", RFC 2234, November 1997.
2272    [UNICODE]     "The Unicode Standard - Version 2.0", The Unicode
2273                  Consortium, July 1996.
2275    [VCARD]       Internet Mail Consortium, "vCard - The Electronic
2276                  Business Card Version 2.1",
2277                  http://www.imc.org/pdi/vcard-21.txt, September 18,
2278                  1996.
2298 Dawson & Howes              Standards Track                    [Page 41]
2300 RFC 2426              vCard MIME Directory Profile        September 1998
2303 10.  Full Copyright Statement
2305    Copyright (C) The Internet Society (1998).  All Rights Reserved.
2307    This document and translations of it may be copied and furnished to
2308    others, and derivative works that comment on or otherwise explain it
2309    or assist in its implementation may be prepared, copied, published
2310    and distributed, in whole or in part, without restriction of any
2311    kind, provided that the above copyright notice and this paragraph are
2312    included on all such copies and derivative works.  However, this
2313    document itself may not be modified in any way, such as by removing
2314    the copyright notice or references to the Internet Society or other
2315    Internet organizations, except as needed for the purpose of
2316    developing Internet standards in which case the procedures for
2317    copyrights defined in the Internet Standards process must be
2318    followed, or as required to translate it into languages other than
2319    English.
2321    The limited permissions granted above are perpetual and will not be
2322    revoked by the Internet Society or its successors or assigns.
2324    This document and the information contained herein is provided on an
2325    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
2326    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
2327    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
2328    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
2329    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
2354 Dawson & Howes              Standards Track                    [Page 42]