Network Working Group Frank Dawson INTERNET DRAFT Tim Howes draft-ietf-asid-mime-vcard-01.txt IBM/Netscape Communications November 26, 1996 An Application/Directory MIME Content-Type Electronic Business Card Profile Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as _work in progress._ To learn the current status of any Internet-Draft, please check the _1id-abstracts.txt_ listing contained in the Internet- Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or ftp.isi.edu (US West Coast). Abstract This memo defines a directory information profile for a white pages person, to be carried in an application/directory MIME Content-Type. The profile consists of type definitions (e.g., for name and email address) and the corresponding format of values that each type is allowed to contain. 1. Overview The application/directory MIME Content-Type defined in [MIME-DIR] is used for representing directory information in MIME format. It defines a general framework for carrying _type: value_ style information in the body of a MIME message, but does not define specific types or values. This document defines a profile containing the types and corresponding value formats for representing information about an electronic business card. The profile reflects the vCard (The Electronic Business Card) schema defined in [VCARD]. 1.1 The vCard Profile The profile is defined as follows, using the profile registration template from Section 8 of [MIME-DIR]. 1.2 vCard Profile Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME profile vcard Dawson & Howes [Page 1] Expires June 1997 vCard Application/Directory Content Type Profile name: vcard Profile purpose: To hold vcard information about an electronic business card. Profile types: BEGIN, END, FN, N, PHOTO, BDAY, ADR, LABEL, TEL, EMAIL, MAILER, TZ, GEO, TITLE, ROLE, LOGO, AGENT, ORG, NOTE, REV, SOUND, URL, UID, VERSION, KEY Profile special notes: The content entity must begin with the type BEGIN and end with the type END. There is no other ordering limitations on types within the content entity. The default transfer encoding for the vCard profile is _8BIT_. The default transfer encoding can be overridden for an individual type value by using the _ENCODING_ type parameter. The parameter value can be reset to either _7BIT_, _BASE64_ or _QUOTED-PRINTABLE_. This type parameter may be used on any profile type. The usual line-folding technique described in [MIME-DIR] can be used to represent type values consisting of long lines of text. For example, individual lines in the content entity are delimited by the [RFC 822] line break, which is a CRLF sequence (ASCII decimal 13, followed by ASCII decimal 10). Long lines of text can be split into a multiple-line representation using the RFC 822 _folding_ technique. That is, wherever there may be linear white space (NOT simply LWSP- chars), a CRLF immediately followed by at least one LWSP-char may instead be inserted. For example the line: NOTE:This is a long note that exists on a long line. Can be represented as: NOTE:This is a long note that exists on a long line. The process of moving from this folded multiple-line representation of a type value to its single line representation is called _unfolding_. Unfolding is accomplished by regarding CRLF immediately followed by a LWSP-char as equivalent to the LWSP-char. It is recommended that folding be limited to higher-level syntactic breaks in structured components of the property definition. A formatted text line break in a type value, MUST also be specified by a (RFC 822) line break, which is a CRLF sequence. However, since the CRLF sequence is used to delimit a line, type values with formatted line breaks (i.e., multiple lines) MUST be encoded using an alternate encoding of either Quoted-Printable or Base64, as defined in [RFC 1521]. For example, in the Quoted-Printable encoding the multiple lines of formatted text are separated with a Quoted-Printable CRLF sequence of _=0D_ followed by _=0A_ followed by a Quoted-Printable soft line Dawson & Howes [Page 2] Expires June 1997 vCard Application/Directory Content Type break sequence of _=_. Quoted-Printable lines of text must also be limited to less than 76 characters. The 76 characters does not include the CRLF [RFC 822] line break sequence. For example a multiple line LABEL value of: Mr. John Q. Public 123 Main Street Any Town, CA 12345 Would be represented in a Quoted-Printable encoding as: LABEL;ENCODING=QUOTED-PRINTABLE:Mr. John Q. Public=0D=0A= 123 Mail Street=0D=0A= Any Town, CA 12345 Compound property values are delimited by a field delimiter, specified by the SEMI-COLON character (ASCII decimal 59). A SEMI- COLON in a component of a compound property value must be escaped with a Backslash character The default character set is _UTF-8_. The default character set can be overridden for an individual type value by using the _CHARSET_ type parameter. This type parameter may be used on any profile type. However, the use of this parameter on some profile types may not make sense. The default language is _en-US_ (US English). The default language can be overridden for an individual type value by using the _LANGUAGE_ type parameter. This type parameter may be used on any profile type. However, the use of this parameter on some profile types may not make sense. The default location of the type values is inline with the profile type. However, for some profile types, such as those that specify multimedia values, it is efficient to organize the type value as a separate MIME entity. The type parameter _VALUE_ can be specified to override the _INLINE_ location of the type value. The type value can be specified as being located in a separate MIME entity with the _CID_ value. In this case, the type value is the Content-ID for the MIME entity containing the type value. In addition, the type value can be specified as being located out on the network within some Internet resource with the _URL_ value. In this case, the type value is the Uniform Resource Locator for the Internet resource containing the type value. This type parameter may be used on any profile type. However, the use of this parameter on some profile types may not make sense. This profile supports the type grouping mechanism defined in [MIME- DIR]. Grouping of related profile types is a useful technique to communicate common semantics concerning the properties of a vCard object. Intended usage: COMMON Dawson & Howes [Page 3] Expires June 1997 vCard Application/Directory Content Type The associated type definitions follow, using the type registration template from Section 9 of [MIME-DIR]. 1.3 Delimiter Profile Types The following profile types are used to delimit the vCard data within the content type. These types are necessary to completely define the content type so that it might be identified as a vCard object when the content type is in a persistent form outside of a MIME message. 1.3.1 BEGIN Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type BEGIN Type name: BEGIN Type purpose: To delimit the beginning of the vCard content data. Type encoding: text. Type special notes: The only valid value is _vCard_. Type example: BEGIN:vCard 1.3.2 END Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type END Type name: END Type purpose: To delimit the end of the vCard content data. Type encoding: text. Type special notes: The type either has no value or has the value _vCard_. Type example: END: vCard 1.4 Identification Profile Types These profile types are concerned with information associated with the identification and naming of the individual or resource associated with the vCard object. Dawson & Howes [Page 4] Expires June 1997 vCard Application/Directory Content Type 1.4.1 FN Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type FN Type name:FN Type purpose: To specify the formatted name string associated with the vCard object. Type encoding: text. Type special notes: The value is intended to be used as a formatted string corresponding to how the name of the individual or resource associated with the vCard is to be displayed. This type is based on the semantics of the X.520 Common Name attribute. The type may specify the type parameters CHARSET, to specify a character set for the type value, and LANGUAGE, to specify a language for the type value. These are further defined in [MIME-DIR]. Type example: FN:Mr. John Q. Public, Esq. 1.4.2 N Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type N Type name: N Type purpose: To specify the structured name strings associated with the vCard object. Type encoding: text. Type special note: The type value is a structured string corresponding, in sequence, to the Family Name, Given Name, Additional Names, Honorific Prefixes, and Suffixes corresponding to the individual or resource associated with the vCard. The component strings are delimited by SEMI-COLON character (ASCII decimal 59) and possibly one or more LWSP. This type is based on the semantics of the X.520 individual name attributes. The type may specify the type parameters CHARSET, to specify a character set for the type value, and LANGUAGE, to specify a language for the type value. These are further defined in [MIME-DIR]. Type example: N:Public;John;Quinlan;Mr.;Esq. Dawson & Howes [Page 5] Expires June 1997 vCard Application/Directory Content Type 1.4.3 PHOTO Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type PHOTO Type name: PHOTO Type purpose: To specify an image or photograph information that annotates some aspect of the vCard object. By default this type is used to specify a photograph or image of the individual or resource associated with the vCard. Type encoding: text. Type special notes: The type may include the type parameter _TYPE_ to specify the format of the graphic image. The TYPE parameter values may include _GIF_ to indicate the GIF format and _JPEG_ to indicate the JPEG format. The type may also include the type parameter _ENCODING_ to specify the content encoding applied to the graphic image. The ENCODING parameter value may include _7BIT_ to indicate the 7-bit encoding, _8BIT_ to indicate the 8-bit encoding, _BASE64_ to indicate the Base64 encoding or _QUOTED-PRINTABLE_ to indicate the quoted printable encoding. The type may also include the type parameter _VALUE_ to specify the location of the type value. The VALUE parameter values may include _INLINE_ to indicate that the graphic image value is included within the content type value, _URL_ to indicate the uniform resource locator for where the content for the graphic image can be found in the network, and _CID_ to indicate the content-id for the MIME entity that encapsulates the content for the graphic image. Type example: PHOTO;VALUE=URL:=http://www.abc.com/pub/photos /jqpublic.gif 1.4.4 BDAY Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type BDAY Type name: BDAY Type purpose: To specify the birthdate of the individual associated with the vCard. Type encoding: text. Type special notes: The text value is a string conforming to the ISO 8601 calendar date, complete representation. Type example: Dawson & Howes [Page 6] Expires June 1997 vCard Application/Directory Content Type BDAY:1996-04-15 1.5 Delivery Addressing Profile Types These profile types are concerned with information associated with the delivery addressing or label for the vCard object. 1.5.1 ADR Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type ADR Type name: ADR Type purpose: To specify the structured delivery address strings of the individual or resource associated with the vCard. Type encoding: text Type special notes: The type value is a string consisting of a sequence of address components (i.e., extended address, street address, locality, region, postal code, and country name) separated by SEMI-COLON character (ASCII decimal 59) and optionally one or more LWSP. The usual line-folding technique described in [MIME-DIR] can be used to represent type values consisting of long lines of text. However, a line break character in a value MUST be encoded using either Base64 or Quoted-Printable methods. The type may include the type parameter _TYPE_ to further qualify the usage of the delivery address. The TYPE parameter values may include: _DOM_ to indicate a domestic delivery address, _INTL_ to indicate an international delivery address, _POSTAL_ to indicate a postal delivery address, _PARCEL_ to indicate a parcel delivery address, _HOME_ to indicate a delivery address for a residence, _WORK_ to indicate delivery address for a place of work, and _PREF_ for the preferred delivery address when more than one address might be specified. These type parameter values may be specified as a parameter list (i.e., _TYPE=DOM;TYPE=POSTAL_) or as a value list (i.e., _TYPE=DOM;POSTAL_). This type is based on semantics of the X.520 geographical and postal addressing attributes. The default is _TYPE=INTL;POSTAL;PARCEL;WORK_. The default can be overridden to some other set of values by specifying one or more alternate values. For example, the default can be reset to _TYPE=DOM;POSTAL;WORK;HOME_ to specify a domestic delivery address for postal delivery to a residence that is also used for work. The type may also specify the type parameters CHARSET, to specify a character set for the type value, and LANGUAGE, to specify a language for the type value. These are further defined in [MIME-DIR]. Type example: Dawson & Howes [Page 7] Expires June 1997 vCard Application/Directory Content Type ADR;TYPE=DOM;HOME;POSTAL;PARCEL:123 Main Street;Any Town;CA;91921-1234 1.5.2 LABEL Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type LABEL Type name: LABEL Type purpose: To specify the formatted delivery address string of the individual or resource associated with the vCard. Type encoding: text Type special notes: The type value is a string consisting of a sequence of lines of formatted text corresponding to the delivery address. The usual line-folding technique described in [MIME-DIR] can be used to represent type values consisting of long lines of text. However, a formatted line break character in a value MUST be encoded using either Base64 or Quoted-Printable methods. The type may include the type parameter _TYPE_ to further qualify the usage of the delivery label. The TYPE parameter values may include: _DOM_ to indicate a domestic delivery label, _INTL_ to indicate an international delivery label, _POSTAL_ to indicate a postal delivery label, _PARCEL_ to indicate a parcel delivery label, _HOME_ to indicate a delivery label for a residence, _WORK_ to indicate delivery label for a place of work, and _PREF_ for the preferred delivery label when more than one label might be specified. These type parameter values may specified as a parameter list (i.e., _TYPE=DOM;TYPE=POSTAL_) or as a value list (i.e., _TYPE=DOM;POSTAL_). This type is based on semantics of the X.520 geographical and postal addressing attributes. The default is _TYPE=INTL;POSTAL;PARCEL;WORK_. The default can be overridden to some other set of values by specifying one or more alternate values. For example, the default can be reset to _TYPE=INTL;POST;PARCEL;HOME_ to specify an international delivery label for both postal and parcel delivery to a residencial location. Type example: LABEL;ENCODING=QUOTED-PRINTABLE;TYPE=DOM;HOME;= POSTAL;PARCEL:Mr.John Q. Public, Esq.=0D=0A= Mail Drop: TNE QB=0D=0A= 123 Main Street=0D=0A= Any Town, CA 91921-1234=0D=0A= U.S.A. Dawson & Howes [Page 8] Expires June 1997 vCard Application/Directory Content Type 1.6 Telecommunications Addressing Profile Types These profile types are concerned with information associated with the telecommunications addressing of the vCard object. 1.6.1 TEL Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type TEL Type name: TEL Type purpose: To specify the telephone number for telephony communication with the individual or resource associated with the vCard. Type encoding: text. Type special notes: .The value of this type is specified in a canonical form in order to specify an unambiguous representation of the globally unique telephone endpoint. This type is based on the X.500 Telephone Number attribute. The type may include the type parameter _TYPE_ to further qualify the usage of the telephone number. The TYPE parameter values may include: _HOME_ to indicate a telephone number associated with a residence, _MSG_ to indicate the telephone line has voice messaging support, _WORK_ to indicate a telephone number associated with a place of work, _PREF_ to indicate a preferred-use telephone number, _VOICE_ to indicate a voice telephone line, _FAX_ to indicate a facsimile telephone line, _CELL_ to indicate a cellular telephone line, _VIDEO_ to indicate a video conferencing telephone line, _PAGER_ to indicate a paging device telephone line, _BBS_ to indicate a bulletin board system telephone line, _MODEM_ to indicate a MODEM connected telephone line, _CAR_ to indicate a car-phone telephone line, _ISDN_ to indicate an ISDN service telephone line. The default type is _VOICE_. These type parameter values may specified as a parameter list (i.e., _TYPE=WORK;TYPE=VOICE_) or as a value list (i.e., _TYPE=WORK;VOICE_). The default may be overridden to another set of values by specifying one or more alternate values. For example, the default TYPE of _VOICE_ can be reset to a WORK and HOME, VOICE and FAX telephone number by the value list _TYPE=WORK;HOME;VOICE;FAX_. Type example: TEL;TYPE=WORK;VOICE;PREF;MSG:+1-213-555-1234 1.6.2 EMAIL Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type EMAIL Dawson & Howes [Page 9] Expires June 1997 vCard Application/Directory Content Type Type name: EMAIL Type purpose: To specify the address for electronic mail communication with the vCard object. The address is in the form of a specific addressing type. The default is an Internet addressing type. Type encoding: text. Type special notes: . The type may include the type parameter _TYPE_ to specify the addressing type of the electronic mail address. The TYPE parameter values may include: _INTERNET_ to indicate an Internet addressing type or _X400_ to indicate a X.400 addressing type. Other type values are allowed, but are to be specified by individual electronic mail service providers. The default email type is _INTERNET_. Type example: EMAIL;Type=INTERNET:jqpublic@xyz.dom1.com 1.6.3 MAILER Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type MAILER Type name: MAILER Type purpose: To specify the type of electronic mail software that is used by the individual associated with the vCard object. Type encoding: text. Type special notes: This information may provide assistance to a correspondent regarding the type of data representation which can be used, and how they may be packaged. This property is based on the private MIME type X-Mailer that is generally accepted within the MIME user agent product offerings. Type example: MAILER:GypsyMail 2.1 1.7 Geographical Profile Types These profile types are concerned with information associated with geographical positions or regions associated with the vCard object. 1.7.1 TZ Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type TZ Dawson & Howes [Page 10] Expires June 1997 vCard Application/Directory Content Type Type name: TZ Type purpose: To specify information related to the time zone of the vCard object. Type encoding: text. Type special notes: the type value is specified as a string as specified in a manner consistent with [ISO 8601]. It is an offset from Coordinated Universal Time (UTC). An ISO 8601 UTC offset, in basic format, is specified as a positive or negative difference in units of hours and minutes (e.g., +hhmm). If minutes are zero, then they may be omitted and the format would be specified in units of hours (e.g., +hh). The time is specified as a 24-hour clock. Hour values are from 00 to 24, and minute values are from 00 to 59. Hour and minutes are 2-digits with high order zeroes required to maintain digit count. The extended format for ISO 8601 makes use of a colon character as a separator of the hour and minute substrings. Type example: TZ:-0500 1.7.2 GEO Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type GEO Type name: GEO Type purpose: To specify information related to the global positioning of the vCard object. Type encoding: text. Type special notes: the type value is a structured string that specifies a longitude and latitude. The latitude represents the location north and south of the equator as a positive or negative number, respectively. The longitude represents the location east and west of the prime meridian as a positive or negative number, respectively. The string components are separated by the SEMI-COLON character (ASCII decimal 59). Type example: GEO:37.24;-17.87 1.8 Organizational Profile Types These profile types are concerned with information associated with characteristics of the organization or organizational units associated with the vCard object. Dawson & Howes [Page 11] Expires June 1997 vCard Application/Directory Content Type 1.8.1 TITLE Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type TITLE Type name: TITLE Type purpose: To specify the job title, functional position or function of the individual or resource associated with the vCard object within an organization Type encoding: text. Type special notes: This type is based on the X.520 Title attribute. The usual line-folding technique described in [MIME-DIR] can be used to represent type values consisting of long lines of text. The type may specify the type parameters CHARSET, to specify a character set for the type value, and LANGUAGE, to specify a language for the type value. These are further defined in [MIME-DIR]. Type example: TITLE:Director, Research and Development 1.8.2 ROLE Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type ROLE Type name: ROLE Type purpose: To specify information concerning the role, occupation, or business category of the vCard object within an organization. Type encoding: text. Type special notes: This type is based on the X.520 Business Category explanatory attribute. This property is included as an organizational type to avoid confusion with the semantics of the TITLE type and incorrect usage of that type when the semantics of this type is intended. The type may specify the type parameters CHARSET, to specify a character set for the type value, and LANGUAGE, to specify a language for the type value. These are further defined in [MIME-DIR]. Type example: ROLE:Programmer Dawson & Howes [Page 12] Expires June 1997 vCard Application/Directory Content Type 1.8.3 LOGO Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type LOGO Type name: LOGO Type purpose: To specify a graphic image of the logo of the organization that is associated with the individual or resource the vCard belongs to. Type encoding: text. Type special notes: The type may include the type parameter _TYPE_ to specify the format of the graphic image. The TYPE parameter values may include _GIF_ to indicate the GIF format and _JPEG_ to indicate the JPEG format. The type may also include the type parameter _ENCODING_ to specify the content encoding applied to the graphic image. The ENCODING parameter value may include _BASE64_ to indicate the Base64 encoding or _QUOTED-PRINTABLE_ to indicate the quoted- printable encoding. The type may also include the type parameter _VALUE_ to specify the location of the type value. The VALUE parameter values may include _INLINE_ to indicate that the graphic image value is included within the content type value, _URL_ to indicate the uniform resource locator for where the content for the graphic image can be found in the network, and _CID_ to indicate the content-id for the MIME entity that encapsulates the content for the graphic image. Type example: LOGO;VALUE=URL:http://www.abc.com/pub/logos/abccorp.jpg 1.8.4 AGENT Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type AGENT Type name: AGENT Type purpose: To specify information about another person who will act on behalf of the individual or resource associate with the vCard object. Type encoding: text. Type special notes: This type typically is used to specify an area administrator, assistant, or secretary for the individual associated with the vCard object. A key characteristic of the Agent type is that it represents somebody or something that is separately addressable. The value for this type is the content message identifier or Uniform Dawson & Howes [Page 13] Expires June 1997 vCard Application/Directory Content Type Resource Locator associated with the vCard defining the Agent individual or resource. The type may include the type parameter _VALUE_ to specify the location of the type value. The VALUE parameter values may include _CID_ to indicate the value specifies the content identifier for the MIME entity containing the value or _URL_ to indicate the value specifies the uniform resource locator for the value. The type parameter may also include _INLINE_; however, this is not a recommended practice as MIME user agents will not be expected to be able to process vCard objects nested in this manner. Nested vCard object will be expected to be mailed within a single message as multiple MIME entities. The INLINE nesting of vCard object may have some limited utility in where a monolithic data stream is required. Type example: AGENT;VALUE=CID: 1.8.5 ORG Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type ORG Type name: ORG Type purpose: To specify the organizational name and units associated with the vCard object. Type encoding: text. Type special notes: The type is based on the X.520 Organization Name and Organization Unit attributes. The type value is a structured string consisting of the organization name, followed by any organizational units. The string components are separated the SEMI- COLON character (ASCII decimal 59). The type may specify the type parameters CHARSET, to specify a character set for the type value, and LANGUAGE, to specify a language for the type value. These are further defined in [MIME-DIR]. Type example: ORG:ABC, Inc.;North American Division;Marketing 1.9 Explanatory Profile Types These profile types are concerned with additional explanations, such as that related to informational notes or revisions specific to the vCard object. Dawson & Howes [Page 14] Expires June 1997 vCard Application/Directory Content Type 1.9.1 NOTE Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type NOTE Type name: NOTE Type purpose: To specify supplemental information or a comment that is associated with the vCard object. Type encoding: text. Type special notes: The type is based on the X.520 Description attribute. The type may specify the type parameters CHARSET, to specify a character set for the type value, and LANGUAGE, to specify a language for the type value. These are further defined in [MIME-DIR]. Type example: NOTE:This fax number is operational 0800 to 1715 EST, Mon-Fri. 1.9.2 REV Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type REV Type name: REV Type purpose: To specify revision information about the current vCard object. Type encoding: text. Type special notes: The type value is a calendar date and time of day in a form conforming to ISO 8601 complete representation. The value distinguishes the current revision of the information defining this vCard object. Type example: REV:1995-10-31T22:27:10Z 1.9.3 SOUND Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type SOUND Type name: SOUND Dawson & Howes [Page 15] Expires June 1997 vCard Application/Directory Content Type Type purpose: To specify a digital sound content information that annotates some aspect of the vCard object. By default this type is used to specify the proper pronunciation of the name type value of the vCard object. Type encoding: text. Type special notes: The type may include the type parameter _TYPE_ to specify the format of the digital sound. The TYPE parameter values may include _PCM_ to indicate the MIME basic audio content type and _WAVE_ to indicate the Wave format. The type may also include the type parameter _ENCODING_ to specify the content encoding applied to the digital sound. The ENCODING parameter value may include _BASE64_ to indicate the Base64 encoding. The type may also include the type parameter _VALUE_ to specify the location of the type value. The VALUE parameter values may include _INLINE_ to indicate that the digital sound is included within the content type value, _URL_ to indicate the uniform resource locator for where the content for the digital sound can be found in the network, and _CID_ to indicate the content-id for the MIME entity that encapsulates the content for the digital sound. Type example: SOUND;TYPE=PCM;VALUE=CID: 1.9.4 URL Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type URL Type name: URL Type purpose: To specify an Internet location that can be used to obtain real-time or more complete information about the individual or resource associate with the vCard object. Type encoding: text. Type special notes: An application of this type might be to specify the location of a publicly accessible directory, such as an Internet whitepages, where up-to-date information can be found about the individual specified by a vCard. Type example: URL:http://www.swbyps.restaurant.french/~chezchic.html 1.9.5 UID Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type UID Dawson & Howes [Page 16] Expires June 1997 vCard Application/Directory Content Type Type name: UID Type purpose: To specify a value that represents a globally unique identifier corresponding to the individual or resource associated with the vCard object. Type encoding: text. Type special notes: The type value can be used as a mechanism to relate different vCard objects. Some examples of valid forms of unique identifiers would include ISO 9070 formal public identifiers (FPI) as defined in [ISO 9070], X.500 distinguished names, machine- generated random numbers with a statistically high likelihood of being globally unique, and Uniform Resource Locators (URL). If an URL is specified, it is suggested that the URL reference a service which will produce an updated version of the vCard associated with the individual or resource. The type may include the type parameter _TYPE_ to specify the format of the unique identifier. The TYPE parameter values may include _ISO9070_ to indicate the ISO 9070 FPI type of unique identifier, _X500_ to indicate the X.500 DSN type of unique identifier, _MACH_ to indicate a machine generated random number type of unique identifier, and _URL_ to indicate a Uniform Resource Locator type of unique identifier. Type example: UID;TYPE=MACH:19950401-080045-40000F192713-0052 1.9.6 Version Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type UID Type name: UID Type purpose: To specify a value that represents a globally unique identifier corresponding to the individual or resource associated with the vCard object. Type encoding: text. Type special notes: The type value can be used as a mechanism to relate different vCard objects. Some examples of valid forms of unique identifiers would include ISO 9070 formal public identifiers (FPI) as defined in [ISO 9070], X.500 distinguished names, machine- generated random numbers with a statistically high likelihood of being globally unique, and Uniform Resource Locators (URL). If an URL is specified, it is suggested that the URL reference a service which will produce an updated version of the vCard associated with the individual or resource. Dawson & Howes [Page 17] Expires June 1997 vCard Application/Directory Content Type The type may include the type parameter _TYPE_ to specify the format of the unique identifier. The TYPE parameter values may include _ISO9070_ to indicate the ISO 9070 FPI type of unique identifier, _X500_ to indicate the X.500 DSN type of unique identifier, _MACH_ to indicate a machine generated random number type of unique identifier, and _URL_ to indicate a Uniform Resource Locator type of unique identifier. Type example: UID;TYPE=MACH:19950401-080045-40000F192713-0052 1.10 Security Profile Types These profile types are concerned with the security of communication pathways or access to the vCard object. 1.10.1 KEY Type Definition To: ietf-mime-direct@umich.edu Subject: Registration of application/directory MIME type VERSION Type name: VERSION Type purpose: To specify an identifier corresponding to the highest version of the vCard profile used in creating the vCard object. Type encoding: text. Type special notes: The type value corresponding to this version of the vCard profile MUST be _2.1_. 1.11 Extended Profile Types The profile types defined by this document can be extended with private types using the private type mechanism defined in [MIME]. Private types with a name starting with _X-_ may be defined bilaterally between two cooperating agents without outside registration or standardization. 2. Formal Grammar The following modified Backus-Naur Notation (BNF) is provided to assist developers in building parsers for the vCard. This syntax is written according to the form described in RFC 822, but it references just this small subset of RFC 822 literals: CR = ; (15, 13.) LF = ; (12,10.) CRLF = CR LF SPACE = ; (40,32.) HTAB = ; (11,9.) Dawson & Howes [Page 18] Expires June 1997 vCard Application/Directory Content Type All literal property names are valid as upper, lower, or mixed case. ws = 1*(SPACE / HTAB) ; _whitespace,_ one or more spaces or tabs wsls = 1*(SPACE / HTAB / CRLF) ; whitespace with line separators word = groups = groups _._ word / word vcard_entity = 1*([wsls] vcard [wsls]) vcard = _BEGIN_ [ws] _:_ [ws] _VCARD_ [ws] 1*CRLF items *CRLF _END_ [ws] _:_ [ws] _VCARD_ 1*CRLF items = items *CRLF item / item ; these may be _folded_ item = [groups _._] name [params] _:_ value CRLF / [groups _._] _ADR_ [params] _:_ addressparts CRLF / [groups _._] _ORG_ [params] _:_ orgparts CRLF / [groups _._] _N_ [params] _:_ nameparts CRLF / [groups _._] _AGENT_ [params] _:_ vcard CRLF ; these may be _folded_ name = _LOGO_ / _PHOTO_ / _LABEL_ / _FN_ / _TITLE_ / _SOUND_ / _VERSION_ / _TEL_ / _EMAIL_ / _TZ_ / _GEO_ / _NOTE_ / _URL_ / _BDAY_ / _ROLE_ / _REV_ / _UID_ / _KEY_ / _MAILER_ / _X-_ word ; these may be _folded_ value = 7bit / quoted-printable / base64 7bit = <7bit us-ascii printable chars, excluding CR LF> 8bit = quoted-printable = base64 = ; the end of the text is marked with two CRLF sequences ; this results in one blank line before the start of the next ; property Dawson & Howes [Page 19] Expires June 1997 vCard Application/Directory Content Type params = _;_ [ws] paramlist paramlist = paramlist [ws] _;_ [ws] param / param param = _TYPE_ [ws] _=_ [ws] ptypeval / _VALUE_ [ws] _=_ [ws] pvalueval / _ENCODING_ [ws] _=_ [ws] pencodingval / _CHARSET_ [ws] _=_ [ws] charsetval / _LANGUAGE_ [ws] _=_ [ws] langval / _X-_ word [ws] _=_ [ws] word / knowntype ptypeval = knowntype / _X-_ word pvalueval = _INLINE_ / _URL_ / _CONTENT-ID_ / _CID_ / _X-_ word pencodingval = _7BIT_ / 8BIT _ _ / _QUOTED-PRINTABLE_ / _BASE64_ / _X-_ word charsetval = langval = addressparts = 0*6(strnosemi _;_) strnosemi ; PO Box, Extended Addr, Street, Locality, Region, Postal Code, ; Country Name orgparts = *(strnosemi _;_) strnosemi ; First is Organization Name, remainder are Organization Units. nameparts = 0*4(strnosemi _;_) strnosemi ; Family, Given, Middle, Prefix, Suffix. ; Example:Public;John;Q.;Reverend Dr.;III, Esq. strnosemi = *(*nonsemi (_\;_ / _\_ CRLF)) *nonsemi ; To include a semicolon in this string, it must be escaped ; with a _\_ character. nonsemi = knowntype = _DOM_ / _INTL_ / _POSTAL_ / _PARCEL_ / _HOME_ / _WORK_ / _PREF_ / _VOICE_ / _FAX_ / _MSG_ / _CELL_ / _PAGER_ / _BBS_ / _MODEM_ / _CAR_ / _ISDN_ / _VIDEO_ / _INTERNET_ / _GIF_ / _JPEG_ / _PCM_ / _WAVE_ / _X509_ / _PGP_ 2.1 Acknowledgements The authors would like to thank the participants in the IETF ASID working group, in addition to the following individuals, Roland Alden, Stephen Bartlett, Daniel Klaussen, Michelle Watkins; who provided numerous suggestions and comments on this work. Dawson & Howes [Page 20] Expires June 1997 vCard Application/Directory Content Type 2.2 Authors's Addresses BEGIN:vCard FN:Frank Dawson ORG:IBM Corporation;Network Software Division ADR;TYPE=WORK,POSTAL,PARCEL:APNA/CC-303/Bldg. 002; 3039 Cornwallis Rd.;Research Triangle Park; NC;27709;U.S.A. TEL;TYPE=VOICE,MSG,WORK: +1 (919) 254-5861 TEL;TYPE=FAX,WORK: +1-919-543-6822 EMAIL;TYPE=INTERNET;PREF:fdawson@raleigh.ibm.com EMAIL;TYPE=INTERNET:fdawson@earthlink.net URL:http://home.earthlink.net/~fdawson END:vCard BEGIN:vCard FN:Tim Howes ORG:Netscape Communications Corp. ADR;TYPE=WORK: 501 E. Middlefield Rd.;Mountain View; CA; 94043;U.S.A. TEL;TYPE=VOICE,MSG,WORK:+1-415-937-3419 EMAIL;TYPE=INTERNET:howes@netscape.com END:vCard 2.3 References The following documents are referenced by this work. [ISO 639] ISO 639:1988 - Code for the representation of names of languages - The International Organization for Standardization, April 1988. [ISO 3166] ISO 3166:1993 - Codes for the representation of names of countries - The International Organization for Standardization, December 1993. [ISO 8601] ISO 8601:1988 - Data elements and interchange formats - Information interchange - Representation of dates and times - The International Organization for Standardization, June, 1988. [ISO 8601 TC] ISO 8601, Technical Corrigendum 1 - Data elements and interchange formats - Information interchange - Representation of dates and times - The International Organization for Standardization, May, 1991. [ISO 9070] ISO 9070, Information Processing - SGML support facilities - Registration Procedures for Public Text Owner Identifiers, April, 1991. [CCITT E.163] Recommendation E.163 - Numbering Plan for The International Telephone Service, CCITT Blue Book, Fascicle II.2, pp. 128-134, November, 1988. Dawson & Howes [Page 21] Expires June 1997 vCard Application/Directory Content Type [CCITT X.121] Recommendation X.121 - International Numbering Plan for Public Data Networks, CCITT Blue Book, Fascicle VIII.3, pp. 317-332, November, 1988. [CCITT X.520] Recommendation X.520 - The Directory - Selected Attribute Types, November 1988. [CCITT X.521] Recommendation X.521 - The Directory - Selected Object Classes, November 1988. [MIME-DIR] Howes, T., Smith, M., _A MIME Content-Type for Directory Information_, Internet-draft-ietf-asid-mime-direct-03.txt, November, 1996. [MIME-REG] Freed, N., Postel, J., _Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures,_ Internet- Draft draft-ietf-822ext-mime-reg-02.txt, December 1995. [RFC-822] Crocker, D., _Standard for the Format of ARPA Internet Text Messages_, STD 11, RFC 822, August 1982. [RFC-1521] Borenstein, N., Freed, N., _MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies_, RFC 1521, September 1993. [RFC-1522] Moore, K., _MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text_, RFC 1522, September 1993. [RFC-1738] Berners-Lee, T., Masinter, L., McCahill, M., _Uniform Resource Locators (URL)_, RFC 1738, December 1994. [RFC-1766] Alvestrand, H., _Tags for the Identification of Languages_, March 1995. [RFC-1872] Levinson, E., _The MIME Multipart/Related Content-type,_ RFC 1872, December 1995. [VCARD] VERSIT Consortium, _vCard - The Electronic Business Card Version 2.1_, http://www.versit.com/pdi, September 18, 1996. Dawson & Howes [Page 22] Expires June 1997