| rfc9554.original | rfc9554.txt | |||
|---|---|---|---|---|
| Calendaring Extensions R. Stepanek | Internet Engineering Task Force (IETF) R. Stepanek | |||
| Internet-Draft Fastmail | Request for Comments: 9554 Fastmail | |||
| Updates: 6350 (if approved) M. Loffredo | Updates: 6350 M. Loffredo | |||
| Intended status: Standards Track IIT-CNR | Category: Standards Track IIT-CNR | |||
| Expires: 3 March 2024 31 August 2023 | ISSN: 2070-1721 March 2024 | |||
| vCard Format Extension for JSContact | vCard Format Extension for JSContact | |||
| draft-ietf-calext-vcard-jscontact-extensions-10 | ||||
| Abstract | Abstract | |||
| This document defines a set of new properties for vCard and extends | This document defines a set of new properties for vCard and extends | |||
| the use of existing ones. Their primary purpose is to align the same | the use of existing ones. Their primary purpose is to align the same | |||
| set of features between the JSContact and vCard formats, but the new | set of features between the JSContact and vCard formats, but the new | |||
| definitions also aim to be useful within just the vCard format. This | definitions also aim to be useful within just the vCard format. This | |||
| document updates RFC 6350 (vCard). | document updates RFC 6350 ("vCard Format Specification"). | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This is an Internet Standards Track document. | |||
| provisions of BCP 78 and BCP 79. | ||||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
| Internet Standards is available in Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 3 March 2024. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9554. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2023 IETF Trust and the persons identified as the | Copyright (c) 2024 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| This document may contain material from IETF Documents or IETF | This document may contain material from IETF Documents or IETF | |||
| Contributions published or made publicly available before November | Contributions published or made publicly available before November | |||
| 10, 2008. The person(s) controlling the copyright in some of this | 10, 2008. The person(s) controlling the copyright in some of this | |||
| material may not have granted the IETF Trust the right to allow | material may not have granted the IETF Trust the right to allow | |||
| modifications of such material outside the IETF Standards Process. | modifications of such material outside the IETF Standards Process. | |||
| Without obtaining an adequate license from the person(s) controlling | Without obtaining an adequate license from the person(s) controlling | |||
| the copyright in such materials, this document may not be modified | the copyright in such materials, this document may not be modified | |||
| outside the IETF Standards Process, and derivative works of it may | outside the IETF Standards Process, and derivative works of it may | |||
| not be created outside the IETF Standards Process, except to format | not be created outside the IETF Standards Process, except to format | |||
| it for publication as an RFC or to translate it into languages other | it for publication as an RFC or to translate it into languages other | |||
| than English. | than English. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction | |||
| 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3 | 1.1. Notational Conventions | |||
| 1.2. ABNF Notations . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. ABNF Notations | |||
| 2. Updated Properties . . . . . . . . . . . . . . . . . . . . . 3 | 2. Updated Properties | |||
| 2.1. ADR . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. ADR | |||
| 2.2. N . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2.2. N | |||
| 3. New Properties . . . . . . . . . . . . . . . . . . . . . . . 6 | 3. New Properties | |||
| 3.1. CREATED . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.1. CREATED | |||
| 3.2. GRAMGENDER . . . . . . . . . . . . . . . . . . . . . . . 7 | 3.2. GRAMGENDER | |||
| 3.3. LANGUAGE . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3.3. LANGUAGE | |||
| 3.4. PRONOUNS . . . . . . . . . . . . . . . . . . . . . . . . 9 | 3.4. PRONOUNS | |||
| 3.5. SOCIALPROFILE . . . . . . . . . . . . . . . . . . . . . . 10 | 3.5. SOCIALPROFILE | |||
| 4. New Parameters . . . . . . . . . . . . . . . . . . . . . . . 11 | 4. New Parameters | |||
| 4.1. AUTHOR . . . . . . . . . . . . . . . . . . . . . . . . . 11 | 4.1. AUTHOR | |||
| 4.2. AUTHOR-NAME . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.2. AUTHOR-NAME | |||
| 4.3. CREATED . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.3. CREATED | |||
| 4.4. DERIVED . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 4.4. DERIVED | |||
| 4.5. LABEL . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4.5. LABEL | |||
| 4.6. PHONETIC . . . . . . . . . . . . . . . . . . . . . . . . 14 | 4.6. PHONETIC | |||
| 4.7. PROP-ID . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 4.7. PROP-ID | |||
| 4.8. SCRIPT . . . . . . . . . . . . . . . . . . . . . . . . . 15 | 4.8. SCRIPT | |||
| 4.9. SERVICE-TYPE . . . . . . . . . . . . . . . . . . . . . . 16 | 4.9. SERVICE-TYPE | |||
| 4.10. USERNAME . . . . . . . . . . . . . . . . . . . . . . . . 16 | 4.10. USERNAME | |||
| 5. New Values . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 5. New Values | |||
| 5.1. Billing Address Type Value . . . . . . . . . . . . . . . 17 | 5.1. Billing Address Type Value | |||
| 5.2. Delivery Address Type Value . . . . . . . . . . . . . . . 17 | 5.2. Delivery Address Type Value | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 17 | 6. Security Considerations | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 | 7. IANA Considerations | |||
| 7.1. Changes to the "vCard Properties" registry . . . . . . . 17 | 7.1. Changes to the vCard Properties Registry | |||
| 7.1.1. New property definitions . . . . . . . . . . . . . . 17 | 7.1.1. New vCard Property Definitions | |||
| 7.1.2. Updated vCard properties . . . . . . . . . . . . . . 18 | 7.1.2. Updated vCard Properties | |||
| 7.2. Changes to the "vCard Parameters" registry . . . . . . . 18 | 7.2. Changes to the vCard Parameters Registry | |||
| 7.3. Changes to the "vCard Property Values" registry . . . . . 19 | 7.3. Changes to the vCard Property Values Registry | |||
| 7.4. Changes to the "vCard Parameter Values" registry . . . . 20 | 7.4. Changes to the vCard Parameter Values Registry | |||
| 8. References | ||||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 20 | 8.1. Normative References | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 9. Informative References | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 21 | Acknowledgements | |||
| 10. Informative References . . . . . . . . . . . . . . . . . . . 21 | Authors' Addresses | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22 | ||||
| 1. Introduction | 1. Introduction | |||
| The JSContact [I-D.ietf-calext-jscontact] format aims to be an | The JSContact [RFC9553] format aims to be an alternative to the vCard | |||
| alternative to the vCard [RFC6350] format for representation of | [RFC6350] format for representation of contact and address book data. | |||
| contact and address book data. As such, it introduces new semantics | As such, it introduces new semantics that are not covered in the | |||
| that are not covered in the current definition of vCard and its | current definition of vCard and its various extensions. Converting | |||
| various extensions. Converting contact data between the two formats | contact data between the two formats is defined in [RFC9555] with the | |||
| is defined in [I-D.ietf-calext-jscontact-vcard] with the goal of not | goal of not losing any semantics during conversion. To achieve this, | |||
| losing any semantics during conversion. To do so, this document | this document defines a new set of properties for vCard and extends | |||
| defines a new set of properties for vCard and extends existing | existing definitions. | |||
| definitions. | ||||
| 1.1. Notational Conventions | 1.1. Notational Conventions | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| 1.2. ABNF Notations | 1.2. ABNF Notations | |||
| The ABNF definitions in this document use the notations of [RFC5234]. | The ABNF definitions in this document use the notations of [RFC5234]. | |||
| ABNF rules not defined in this document either are defined in | ABNF rules not defined in this document are defined in either | |||
| [RFC5234] (such as the ABNF for CRLF, WSP, DQUOTE, VCHAR, ALPHA, and | [RFC5234] (such as the ABNF for CRLF, WSP, DQUOTE, VCHAR, ALPHA, and | |||
| DIGIT) or [RFC6350]. | DIGIT) or [RFC6350]. | |||
| 2. Updated Properties | 2. Updated Properties | |||
| 2.1. ADR | 2.1. ADR | |||
| This specification modifies the definition of the "ADR" property. It | This specification modifies the definition of the ADR property. It | |||
| extends its structured value with additional address components to | extends its structured value with additional address components to | |||
| better support the variety of international addresses. It separates | better support the variety of international addresses. It separates | |||
| the address parts that currently typically are combined in street | the address parts, which currently are typically combined in street | |||
| address component values into distinct components. | address component values, into distinct components. | |||
| Implementations SHOULD write a combined value of these components in | Implementations SHOULD write a combined value of these components in | |||
| the street address component for backwards compatibility, but SHOULD | the street address component for backwards compatibility, but they | |||
| ignore the street component during read if the ADR property value | SHOULD ignore the street component during reads if the ADR property | |||
| contains any of the new components. | value contains any of the new components. | |||
| The following change is made to the first paragraph in the "Special | The following change is made to the first paragraph under "Special | |||
| Notes" section, originally specified in Section 6.3.1 of [RFC6350]. | notes", as originally specified in Section 6.3.1 of [RFC6350]. The | |||
| All remaining paragraphs of that section in the original | remaining paragraphs of that section in the original specification | |||
| specification still apply. | still apply. | |||
| Special notes: The structured type value consists of a sequence of | Special notes: The structured type value consists of a sequence of | |||
| address components. The component values MUST be specified in | address components. The component values MUST be specified in their | |||
| their corresponding position. The structured type value | corresponding position. The structured type value corresponds, in | |||
| corresponds, in sequence, to | sequence, to the | |||
| the post office box; | ||||
| the extended address (e.g., apartment or suite number); | ||||
| the street address; | ||||
| the locality (e.g., city); | ||||
| the region (e.g., state or province); | ||||
| the postal code; | ||||
| the country name (full name in the language specified in | ||||
| Section 5.1 of [RFC6350]); | ||||
| the room or suite number or identifier | ||||
| the apartment number, extension designation or box number. | ||||
| the building floor or level; | ||||
| the street number; | ||||
| the street name; | ||||
| the building, tower, condominium; | ||||
| the block name or number; | ||||
| the subdistrict; | ||||
| the district; | ||||
| the landmark or another publicly known prominent feature that can | ||||
| substitute the street name and number, e.g., "White House"", "Taj | ||||
| Mahal""; | ||||
| the cardinal direction or quadrant, e.g., "North" | ||||
| The following change is made to the definition of "ADR-value" in the | post office box; | |||
| "ABNF" section, originally specified in Section 6.3.1 of [RFC6350]. | extended address (e.g., apartment or suite number); | |||
| street address; | ||||
| locality (e.g., city); | ||||
| region (e.g., state or province); | ||||
| postal code; | ||||
| country name (full name in the language specified in Section 5.1 | ||||
| of [RFC6350]); | ||||
| room, suite number, or identifier; | ||||
| apartment number, extension designation, or box number; | ||||
| building floor or level; | ||||
| street number; | ||||
| street name; | ||||
| building, tower, or condominium; | ||||
| block name or number; | ||||
| subdistrict; | ||||
| district; | ||||
| landmark or another publicly known prominent feature that can | ||||
| substitute the street name and number (e.g., "White House" and | ||||
| "Taj Mahal"); and | ||||
| the cardinal direction or quadrant (e.g., "north"). | ||||
| The following change is made to the definition of "ADR-value" under | ||||
| "ABNF", as originally specified in Section 6.3.1 of [RFC6350]. | ||||
| ABNF | ABNF | |||
| ADR-value = ADR-component-pobox ";" ADR-component-ext ";" | ||||
| ADR-component-street ";" ADR-component-locality ";" | ||||
| ADR-component-region ";" ADR-component-code ";" | ||||
| ADR-component-country ";" | ||||
| ; above components are defined in RFC 6350, section 6.3.1 | ||||
| ADR-component-room ";" ADR-component-apartment ";" | ||||
| ADR-component-floor ";" | ||||
| ADR-component-streetnumber ";" ADR-component-streetname ";" | ||||
| ADR-component-building ";" ADR-component-block ";" | ||||
| ADR-component-subdistrict ";" ADR-component-district ";" | ||||
| ADR-component-landmark ";" ADR-component-direction | ||||
| ADR-component-pobox = list-component | ||||
| ADR-component-ext = list-component | ||||
| ADR-component-street = list-component | ||||
| ADR-component-locality = list-component | ||||
| ADR-component-region = list-component | ||||
| ADR-component-code = list-component | ||||
| ADR-component-country = list-component | ||||
| ADR-component-room = list-component | ||||
| ADR-component-apartment = list-component | ||||
| ADR-component-floor = list-component | ||||
| ADR-component-streetnumber = list-component | ||||
| ADR-component-streetname = list-component | ||||
| ADR-component-building = list-component | ||||
| ADR-component-block = list-component | ||||
| ADR-component-subdistrict = list-component | ||||
| ADR-component-district = list-component | ||||
| ADR-component-landmark = list-component | ||||
| ADR-component-direction = list-component | ||||
| The following change is made to the "Example" section, originally | ADR-value = ADR-component-pobox ";" ADR-component-ext ";" | |||
| specified in Section 6.2.2 of [RFC6350]. | ADR-component-street ";" ADR-component-locality ";" | |||
| ADR-component-region ";" ADR-component-code ";" | ||||
| ADR-component-country ";" | ||||
| ; above components are defined in RFC 6350, Section 6.3.1 | ||||
| ADR-component-room ";" ADR-component-apartment ";" | ||||
| ADR-component-floor ";" | ||||
| ADR-component-streetnumber ";" ADR-component-streetname ";" | ||||
| ADR-component-building ";" ADR-component-block ";" | ||||
| ADR-component-subdistrict ";" ADR-component-district ";" | ||||
| ADR-component-landmark ";" ADR-component-direction | ||||
| ADR-component-pobox = list-component | ||||
| ADR-component-ext = list-component | ||||
| ADR-component-street = list-component | ||||
| ADR-component-locality = list-component | ||||
| ADR-component-region = list-component | ||||
| ADR-component-code = list-component | ||||
| ADR-component-country = list-component | ||||
| ADR-component-room = list-component | ||||
| ADR-component-apartment = list-component | ||||
| ADR-component-floor = list-component | ||||
| ADR-component-streetnumber = list-component | ||||
| ADR-component-streetname = list-component | ||||
| ADR-component-building = list-component | ||||
| ADR-component-block = list-component | ||||
| ADR-component-subdistrict = list-component | ||||
| ADR-component-district = list-component | ||||
| ADR-component-landmark = list-component | ||||
| ADR-component-direction = list-component | ||||
| The following change is made under "Example", as originally specified | ||||
| in Section 6.3.1 of [RFC6350]. | ||||
| Example: In this example, the post office box and the extended | Example: In this example, the post office box and the extended | |||
| address components are absent. The street number and name are | address components are absent. The street number and name are both | |||
| added both as separate components, as well as combined in the | added as separate components and are combined in the street component | |||
| street component for backwards-compatibility. | for backwards compatibility. | |||
| ADR;GEO="geo:12.3457,78.910": | ||||
| ;;123 Main Street;Any Town;CA;91921-1234;U.S.A.;;123;Main Street;;;;;;; | ADR;GEO="geo:12.3457,78.910": | |||
| ;;123 Main Street;Any Town;CA;91921-1234;U.S.A.;;123;Main Street;;;;;;; | ||||
| 2.2. N | 2.2. N | |||
| This specification modifies the definition of the "N" property. It | This specification modifies the definition of the N property. It | |||
| extends its structured value with additional name components to | extends its structured value with additional name components to | |||
| better support international names and generation markers. Doing so, | better support international names and generation markers. In doing | |||
| this also facilitates formatting N property values using the Unicode | so, this also facilitates formatting N property values using the | |||
| CLDR Person Name [CLDRPersonName] formatting standard. | Unicode Common Locale Data Repository (CLDR) Person Name | |||
| [CLDRPersonName] formatting standard. | ||||
| One new component is for secondary surnames, as in some cultures, | One new component is for secondary surnames, because in some | |||
| such secondary surname kinds are used to indicate the paternal and | cultures, such secondary surname kinds are used to indicate the | |||
| maternal family names or generational names indicating father, | paternal and maternal family names or generational names indicating | |||
| grandfather. Another new component indicates a generation ("II", | father or grandfather. Another new component indicates a generation | |||
| "XVI") or parental relation ("Jr.", "Sr."). | ("II", "XVI") or parental relation ("Jr.", "Sr."). | |||
| Currently, implementations typically place secondary surnames in the | Currently, implementations typically place secondary surnames in the | |||
| family name components, and generational markers in the honorific | family name component and generational markers in the honorific | |||
| suffixes component. For backwards compatibility, implementations | suffixes component. For backwards compatibility, implementations | |||
| SHOULD add such values to both the newly defined components and their | SHOULD add such values to both the newly defined components and their | |||
| backwards-compatible counterpart. Reading N property values, | backwards-compatible counterpart. Reading N property values, | |||
| implementations SHOULD ignore any value in the backward-compatible | implementations SHOULD ignore any value in the backwards-compatible | |||
| component if an equal value is set in the according new component. | component if an equal value is set in the new component accordingly. | |||
| For example, a "Jr." that occurs in both honorific suffixes and | For example, a "Jr." that occurs in both honorific suffixes and | |||
| generation should only be handled as a generational marker. | generation should only be handled as a generational marker. | |||
| The following change is made to the first paragraph in the "Special | The following change is made to the first paragraph under "Special | |||
| Notes" section, originally specified in Section 6.2.2 of [RFC6350]. | note", as originally specified in Section 6.2.2 of [RFC6350]. The | |||
| All remaining text of this and the following paragraphs of that | remaining paragraphs of that section in the original specification | |||
| section in the original specification still apply. | still apply. | |||
| Special notes: The structured property value corresponds, in | Special notes: The structured property value corresponds, in | |||
| sequence, to the | sequence, to the | |||
| family names (also known as surnames), | ||||
| given names, | ||||
| additional names, | ||||
| honorific prefixes, | ||||
| honorific suffixes, | ||||
| secondary surname, | ||||
| and generation. | ||||
| The following change is made to the "ABNF" section, originally | family names (also known as surnames); | |||
| specified in Section 6.2.2 of [RFC6350]. | given names; | |||
| additional names; | ||||
| honorific prefixes; | ||||
| honorific suffixes; | ||||
| secondary surname; and | ||||
| generation. | ||||
| The following change is made under "ABNF", as originally specified in | ||||
| Section 6.2.2 of [RFC6350]. | ||||
| ABNF | ABNF | |||
| N-param = "VALUE=text" / sort-as-param / language-param | ||||
| / altid-param / any-param | ||||
| N-value = list-component 6(";" list-component) | ||||
| The following change is made to the "Example" section, originally | N-param = "VALUE=text" / sort-as-param / language-param | |||
| / altid-param / any-param | ||||
| N-value = list-component 6(";" list-component) | ||||
| The following change is made under "Examples", as originally | ||||
| specified in Section 6.2.2 of [RFC6350]. | specified in Section 6.2.2 of [RFC6350]. | |||
| Example | Examples | |||
| N:Public;John;Quinlan;Mr.;Esq. | ||||
| N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.;;Jr. | N:Public;John;Quinlan;Mr.;Esq. | |||
| N:Stevenson;John;Philip,Paul;Dr.;Jr.,M.D.,A.C.P.;;Jr. | ||||
| No change is required for the definition of the SORT-AS parameter, | No change is required for the definition of the SORT-AS parameter, | |||
| but the new components also apply for use with this parameter. | but the new components also apply for use with this parameter. | |||
| 3. New Properties | 3. New Properties | |||
| 3.1. CREATED | 3.1. CREATED | |||
| Property name: CREATED | Property name: CREATED | |||
| Purpose: This property defines the date and time when the vCard was | Purpose: Defines the date and time when the vCard was created. | |||
| created | ||||
| Value type: A single timestamp value. | Value type: A single timestamp value. | |||
| Cardinality: *1 | Cardinality: *1 | |||
| Property parameters: VALUE | Property parameters: VALUE | |||
| Description: This is the time stamp when the vCard was created. | Description: This is the timestamp when the vCard was created. | |||
| Copying the vCard across systems does not count as a new creation, | Copying the vCard across systems does not count as a new creation | |||
| nor does a new revision. Instead, the time stamp value typically | nor a new revision. Instead, the timestamp value typically stays | |||
| stays unchanged for the existence of the vCard. | unchanged for the existence of the vCard. | |||
| Format definition: This property is defined by the following | Format definition: This property is defined by the following | |||
| notation: | notation: | |||
| created = "CREATED" createdparam ":" timestamp | created = "CREATED" createdparam ":" timestamp | |||
| createdparam = *( | createdparam = *( | |||
| ; | ; | |||
| ; The following are OPTIONAL, | ; The following are OPTIONAL | |||
| ; but MUST NOT occur more than once. | ; but MUST NOT occur more than once. | |||
| ; | ; | |||
| (";" "VALUE" "=" "timestamp") / | (";" "VALUE" "=" "timestamp") / | |||
| ; | ; | |||
| ; The following are OPTIONAL, | ; The following are OPTIONAL | |||
| ; and MAY occur more than once. | ; and MAY occur more than once. | |||
| ; | ; | |||
| (";" any-param) | (";" any-param) | |||
| ; | ; | |||
| ) | ) | |||
| Example(s): | Example(s): | |||
| CREATED:20220705T093412Z | CREATED:20220705T093412Z | |||
| CREATED;VALUE=TIMESTAMP:20211022T140000-05 | CREATED;VALUE=TIMESTAMP:20211022T140000-05 | |||
| 3.2. GRAMGENDER | 3.2. GRAMGENDER | |||
| Property name: GRAMGENDER | Property name: GRAMGENDER | |||
| Purpose: This property defines which grammatical gender to use in | Purpose: Defines which grammatical gender to use in salutations and | |||
| salutations and other grammatical constructs. | other grammatical constructs. | |||
| Value type: A single text value, restricted to an enumerated list of | Value type: A single text value that is restricted to an enumerated | |||
| allowed values. | list of allowed values. | |||
| Cardinality: * | Cardinality: * | |||
| Property parameters: LANG | Property parameters: LANG, ALTID | |||
| Description: This property defines the grammatical gender that the | Description: This property defines the grammatical gender that the | |||
| contact prefers to be addressed by or referred at in written or | contact prefers to be addressed by or referred to as in written or | |||
| spoken form. For example, the German language distinguishes by | spoken form. For example, the German language distinguishes by | |||
| grammatical gender in salutations such as "Sehr geehrte" | grammatical gender in salutations such as "Sehr geehrte" | |||
| (feminine) and "Sehr geehrter" (masculine). Multiple occurrences | (feminine) and "Sehr geehrter" (masculine). Multiple occurrences | |||
| of this property MUST be distinguished by the LANG parameter. | of this property MUST be distinguished by the LANG parameter. | |||
| Format definition: This property is defined by the following | Format definition: This property is defined by the following | |||
| notation: | notation: | |||
| gramgender = "GRAMGENDER" gramgender-param | gramgender = "GRAMGENDER" gramgender-param | |||
| ":" gramgender-value | ":" gramgender-value | |||
| gramgender-param = | gramgender-param = | |||
| *( | *( | |||
| ; | ; | |||
| ; The following are OPTIONAL, | ; The following are OPTIONAL | |||
| ; but MUST NOT occur more than once. | ; but MUST NOT occur more than once. | |||
| ; | ; | |||
| (";" language-param) / | (";" language-param) / | |||
| (";" altid-param) / | ||||
| ; | ; | |||
| ; The following are OPTIONAL, | ; The following are OPTIONAL | |||
| ; and MAY occur more than once. | ; and MAY occur more than once. | |||
| ; | ; | |||
| (";" any-param) | (";" any-param) | |||
| ; | ; | |||
| ) | ) | |||
| gramgender-value = "animate" / | gramgender-value = "animate" / | |||
| "common" / | "common" / | |||
| "feminine" / | "feminine" / | |||
| "inanimate" / | "inanimate" / | |||
| skipping to change at page 9, line 9 ¶ | skipping to change at line 383 ¶ | |||
| iana-token / | iana-token / | |||
| x-name | x-name | |||
| Example(s): | Example(s): | |||
| GRAMGENDER:neuter | GRAMGENDER:neuter | |||
| 3.3. LANGUAGE | 3.3. LANGUAGE | |||
| Property name: LANGUAGE | Property name: LANGUAGE | |||
| Purpose: This property defines the default language that human- | Purpose: Defines the default language that human-readable text | |||
| readable text values in this vCard should be assumed written in. | values in this vCard are assumed to be written in. | |||
| Value type: A single Language-Tag value as defined in Section 4 of | Value type: A single Language-Tag value as defined in Section 4 of | |||
| [RFC6350]. | [RFC6350]. | |||
| Cardinality: *1 | Cardinality: *1 | |||
| Property parameters: The LANGUAGE parameter MUST NOT be assigned to | Property parameters: The LANGUAGE parameter MUST NOT be assigned to | |||
| this property. | this property. | |||
| Description: This property defines the language in which property | Description: This property defines the language that property values | |||
| values of type TEXT shall be assumed to be written for this vCard. | of type TEXT are assumed to be written in for this vCard. If a | |||
| If a vCard property includes the LANGUAGE parameter, then the | vCard property includes the LANGUAGE parameter, then the parameter | |||
| parameter value has higher precedence than the LANGUAGE property | value has higher precedence than the LANGUAGE property value. | |||
| value. | ||||
| Format definition: This property is defined by the following | Format definition: This property is defined by the following | |||
| notation: | notation: | |||
| language-prop = "LANGUAGE" any-param ":" Language-Tag | language-prop = "LANGUAGE" any-param ":" Language-Tag | |||
| ; Language-Tag is defined in RFC6350, Section 4. | ; Language-Tag is defined in RFC 6350, Section 4. | |||
| Example(s): | Example(s): | |||
| LANGUAGE:de-AT | LANGUAGE:de-AT | |||
| 3.4. PRONOUNS | 3.4. PRONOUNS | |||
| Property name: PRONOUNS | Property name: PRONOUNS | |||
| Purpose: This property defines the pronouns that shall be used to | Purpose: Defines the pronouns that shall be used to refer to the | |||
| refer to the entity represented by this vCard. | entity represented by this vCard. | |||
| Value type: A single text value. | Value type: A single text value. | |||
| Cardinality: * | Cardinality: * | |||
| Property parameters: LANG, PREF, TYPE | Property parameters: LANG, PREF, TYPE, ALTID | |||
| Description: This property contains the pronouns that the contact | Description: This property contains the pronouns that the contact | |||
| chooses to use for themselves. The value is free-form text. | chooses to use for themselves. The value is free-form text. | |||
| These pronouns shall be used when addressing or referring to the | These pronouns shall be used when addressing or referring to the | |||
| contact. Multiple occurrences of this property MAY define | contact. Multiple occurrences of this property MAY define | |||
| pronouns for multiple languages, preferences and contexts. | pronouns for multiple languages, preferences, and contexts. | |||
| Multiple pronouns in the same language SHOULD use the PREF | Multiple pronouns in the same language SHOULD use the PREF | |||
| parameter, otherwise, the order of preference is implementation- | parameter; otherwise, the order of preference is implementation- | |||
| specific. | specific. | |||
| Format definition: This property is defined by the following | Format definition: This property is defined by the following | |||
| notation: | notation: | |||
| pronouns = "PRONOUNS" pronouns-param ":" text | pronouns = "PRONOUNS" pronouns-param ":" text | |||
| pronouns-param = | pronouns-param = | |||
| *( | *( | |||
| ; | ; | |||
| ; The following are OPTIONAL, | ; The following are OPTIONAL | |||
| ; but MUST NOT occur more than once. | ; but MUST NOT occur more than once. | |||
| ; | ; | |||
| (";" language-param) / | (";" language-param) / | |||
| (";" pref-param) / | (";" pref-param) / | |||
| (";" type-param) / | (";" type-param) / | |||
| (";" altid-param) / | (";" altid-param) / | |||
| ; | ; | |||
| ; The following are OPTIONAL, | ; The following are OPTIONAL | |||
| ; and MAY occur more than once. | ; and MAY occur more than once. | |||
| ; | ; | |||
| (";" any-param) | (";" any-param) | |||
| ; | ; | |||
| ) | ) | |||
| Example(s): | Example(s): | |||
| PRONOUNS;LANG=en;PREF=1:xe/xir | PRONOUNS;LANG=en;PREF=1:xe/xir | |||
| PRONOUNS;LANG=en;PREF=2:they/them | PRONOUNS;LANG=en;PREF=2:they/them | |||
| 3.5. SOCIALPROFILE | 3.5. SOCIALPROFILE | |||
| Property name: SOCIALPROFILE | Property name: SOCIALPROFILE | |||
| Purpose: To specify the URI or username for social media profiles | Purpose: Specifies the URI or username for social media profiles | |||
| associated with the object the vCard represents. | associated with the object the vCard represents. | |||
| Value type: A single URI or TEXT value. The default value type is | Value type: A single URI or TEXT value. The default value type is | |||
| URI. | URI. | |||
| Cardinality: * | Cardinality: * | |||
| Property parameters: The SERVICE-TYPE parameter MUST be assigned to | Property parameters: The SERVICE-TYPE parameter MUST be assigned to | |||
| this property if the value type is TEXT, it MAY be assigned if the | this property if the value type is TEXT, and it MAY be assigned if | |||
| value type is URI. In either case, it MUST NOT be assigned more | the value type is URI. In either case, it MUST NOT be assigned | |||
| than once. | more than once. | |||
| Description: Several vCard address book implementations currently | Description: Several vCard address book implementations currently | |||
| use an experimental X-SOCIALPROFILE property to store social media | use an experimental X-SOCIALPROFILE property to store social media | |||
| profiles for contacts. This specification provides an IANA- | profiles for contacts. This specification provides an IANA- | |||
| registered property for the same purpose. In addition to the | registered property for the same purpose. In addition to the | |||
| typical use of this property with URI values, it also allows | typical use of this property with URI values, it also allows | |||
| setting usernames for social media services as free-text TEXT | setting usernames for social media services as free-text TEXT | |||
| values, in which case the service name MUST be provided as a | values, in which case the service name MUST be provided as a | |||
| parameter. Names MUST be considered equal if they match case- | parameter. Names MUST be considered equal if they match case- | |||
| insensitively. | insensitively. | |||
| skipping to change at page 11, line 37 ¶ | skipping to change at line 506 ¶ | |||
| SOCIALPROFILE;SERVICE-TYPE=Mastodon:https://example.com/@foo | SOCIALPROFILE;SERVICE-TYPE=Mastodon:https://example.com/@foo | |||
| SOCIALPROFILE:https://example.com/ietf | SOCIALPROFILE:https://example.com/ietf | |||
| SOCIALPROFILE;SERVICE-TYPE=SomeSite;VALUE=text:peter94 | SOCIALPROFILE;SERVICE-TYPE=SomeSite;VALUE=text:peter94 | |||
| 4. New Parameters | 4. New Parameters | |||
| 4.1. AUTHOR | 4.1. AUTHOR | |||
| Parameter name: AUTHOR | Parameter name: AUTHOR | |||
| Purpose: This parameter identifies the author of the associated | Purpose: Identifies the author of the associated property value. | |||
| property value. | ||||
| Description: This parameter MAY be set on any property where | Description: This parameter MAY be set on any property where | |||
| conveying authorship is desired. It identifies the author as a | conveying authorship is desired. It identifies the author as a | |||
| URI [RFC3986]. Since every valid URI includes the COLON (U+003A) | URI [RFC3986]. Since every valid URI includes the COLON (U+003A) | |||
| character, the parameter value MUST be quoted. Note that as an | character, the parameter value MUST be quoted. Note that as an | |||
| alternative or in addition to this parameter, the AUTHOR-NAME | alternative or in addition to this parameter, the AUTHOR-NAME | |||
| parameter allows naming an author as free-text value (see | parameter allows naming an author as a free-text value (see | |||
| Section 4.2). | Section 4.2). | |||
| Format definition: | Format definition: | |||
| author-param = "AUTHOR" "=" DQUOTE URI DQUOTE | author-param = "AUTHOR" "=" DQUOTE URI DQUOTE | |||
| Example(s): | Example(s): | |||
| NOTE;AUTHOR="mailto:john@example.com":This is some note. | NOTE;AUTHOR="mailto:john@example.com":This is some note. | |||
| 4.2. AUTHOR-NAME | 4.2. AUTHOR-NAME | |||
| Parameter name: AUTHOR-NAME | Parameter name: AUTHOR-NAME | |||
| Purpose: This parameter names the author of the associated property | Purpose: Names the author of the associated property value. | |||
| value. | ||||
| Description: This parameter MAY be set on any property where | Description: This parameter MAY be set on any property where | |||
| conveying authorship is desired. It names the author as a free- | conveying authorship is desired. It names the author as a free- | |||
| text value. The parameter value MUST NOT be empty. | text value. The parameter value MUST NOT be empty. | |||
| Implementations MUST take care to quote the name part, if | Implementations MUST take care to quote the name part, if | |||
| otherwise the part would not be a valid param-value (see | otherwise the part would not be a valid param-value (see | |||
| Section 3.3 of [RFC6350]). Note that as an alternative or in | Section 3.3 of [RFC6350]). Note that as an alternative or in | |||
| addition to this parameter, the AUTHOR parameter allows | addition to this parameter, the AUTHOR parameter allows | |||
| identifying an author by URI (see Section 4.1). | identifying an author by URI (see Section 4.1). | |||
| skipping to change at page 12, line 32 ¶ | skipping to change at line 548 ¶ | |||
| author-name-param = "AUTHOR-NAME" "=" param-value ; not empty | author-name-param = "AUTHOR-NAME" "=" param-value ; not empty | |||
| Example(s): | Example(s): | |||
| NOTE;AUTHOR-NAME=John Doe:This is some note. | NOTE;AUTHOR-NAME=John Doe:This is some note. | |||
| NOTE;AUTHOR-NAME="_:l33tHckr:_":A note by an unusual author name. | NOTE;AUTHOR-NAME="_:l33tHckr:_":A note by an unusual author name. | |||
| 4.3. CREATED | 4.3. CREATED | |||
| Parameter name: CREATED | Parameter name: CREATED | |||
| Purpose: This parameter defines the date and time when a property | Purpose: Defines the date and time when a property was created in a | |||
| was created in a vCard. | vCard. | |||
| Description: This parameter MAY be set on any property to define the | Description: This parameter MAY be set on any property to define the | |||
| point in time when the property was created. The value MUST be a | point in time when the property was created. The value MUST be a | |||
| valid TIMESTAMP value as defined in Section 4.3.5 of [RFC6350]. | valid TIMESTAMP value as defined in Section 4.3.5 of [RFC6350]. | |||
| Generally, updating a property value SHOULD NOT change the | Generally, updating a property value SHOULD NOT change the | |||
| creation timestamp. | creation timestamp. | |||
| Format definition: | Format definition: | |||
| created-param = "CREATED" "=" param-value ; | created-param = "CREATED" "=" param-value ; | |||
| ; a valid TIMESTAMP of Section 4.3.5 of [RFC6350] | ; a valid TIMESTAMP of Section 4.3.5 of RFC 6350 | |||
| Example(s): | Example(s): | |||
| NOTE;CREATED=20221122T151823Z:This is some note. | NOTE;CREATED=20221122T151823Z:This is some note. | |||
| 4.4. DERIVED | 4.4. DERIVED | |||
| Parameter name: DERIVED | Parameter name: DERIVED | |||
| Purpose: This parameter specifies that the value of the associated | Purpose: Specifies that the value of the associated property is | |||
| property is derived from some other property values in the same | derived from some other property values in the same vCard. | |||
| vCard. | ||||
| Description: This property parameter SHOULD be specified on an | Description: This property parameter SHOULD be specified on a | |||
| property if the property value is derived from some other | property if the property value is derived from some other | |||
| properties in the same vCard. When present with a value of true, | properties in the same vCard. When present with a value of true, | |||
| clients MUST NOT update the property. | clients MUST NOT update the property. | |||
| For an example, an implementation may derive the value of the FN | As an example, an implementation may derive the value of the FN | |||
| property from the name components of the N property. It indicates | property from the name components of the N property. It indicates | |||
| this fact by setting the DERIVED parameter on the FN property to | this fact by setting the DERIVED parameter on the FN property to | |||
| true. | true. | |||
| Format definition: | Format definition: | |||
| derived-param = "DERIVED" "=" ("true" / "false") | derived-param = "DERIVED" "=" ("true" / "false") | |||
| ; Default is false | ; Default is false | |||
| Example(s): | Example(s): | |||
| N:;John;Quinlan;Mr.; | N:;John;Quinlan;Mr.; | |||
| FN;DERIVED=TRUE:Mr. John Quinlan | FN;DERIVED=TRUE:Mr. John Quinlan | |||
| 4.5. LABEL | 4.5. LABEL | |||
| Parameter name: LABEL | Parameter name: LABEL | |||
| Purpose: This parameter is used with the ADR property. Its value | Purpose: Used with the ADR property. Its value contains a formatted | |||
| contains a formatted text representation of that address, e.g. for | text representation of that address, e.g., for delivery. | |||
| delivery. | ||||
| Description: Section 6.3.1 of [RFC6350] defines the ADR property, | Description: Section 6.3.1 of [RFC6350] defines the ADR property, | |||
| noting that the property can also include a LABEL parameter to | noting that the property can also include a LABEL parameter to | |||
| present a delivery address label for the address. But this | present a delivery address label for the address. But this | |||
| parameter was not included in the IANA Parameters Registry | parameter was not included in the IANA "vCard Parameters" registry | |||
| Section 10.3.2 of [RFC6350] and accordingly is not a registered | (Section 10.3.2 of [RFC6350]) and, accordingly, is not a | |||
| standard vCard element. This specification defines and registers | registered standard vCard element. This specification defines and | |||
| the LABEL parameter for use with the ADR property as originally | registers the LABEL parameter for use with the ADR property as | |||
| intended. | originally intended. | |||
| Format definition: | Format definition: | |||
| label-param = "LABEL" "=" param-value | label-param = "LABEL" "=" param-value | |||
| Example(s): The LABEL parameter as illustrated the ADR property | Example(s): The LABEL parameter as illustrated in the ADR property | |||
| example in Section 6.3.1 of [RFC6350]. | example in Section 6.3.1 of [RFC6350]. | |||
| ADR;LABEL="Mr. John Q. Public, Esq.\nMail Drop: TNE QB\n123 | ADR;LABEL="Mr. John Q. Public, Esq.\nMail Drop: TNE QB\n123 | |||
| Main Street\nAny Town, CA 91921-1234\nU.S.A.": | Main Street\nAny Town, CA 91921-1234\nU.S.A.": | |||
| ;;123 Main Street;Any Town;CA;91921-1234;U.S.A. | ;;123 Main Street;Any Town;CA;91921-1234;U.S.A. | |||
| 4.6. PHONETIC | 4.6. PHONETIC | |||
| Parameter name: PHONETIC | Parameter name: PHONETIC | |||
| Purpose: This parameter defines how to pronounce the value of | Purpose: Defines how to pronounce the value of another property in | |||
| another property in the same vCard. | the same vCard. | |||
| Description: This property parameter indicates that the value of its | Description: This property parameter indicates that the value of its | |||
| property contains the phonetic representation of a same-named | property contains the phonetic representation of another same- | |||
| other property in the same vCard. Exemplary uses are to define | named property in the same vCard. Exemplary uses are defining how | |||
| how pronounce a Japanese name, or for romanization of Mandarin or | to pronounce Japanese names and romanizing Mandarin or Cantonese | |||
| Cantonese name and address components. | names and address components. | |||
| The parameter value indicates the phonetic system and MUST be one | The parameter value indicates the phonetic system and MUST be one | |||
| of the values enumerated in the IANA vCard Parameter Values | of the values enumerated in the IANA "vCard Parameter Values" | |||
| (Section 7.4) registry. This specification defines the following | registry (Section 7.4). This specification defines the following | |||
| values: | values: | |||
| * ipa: denotes the International Phonetic Alphabet [IPA]. | ipa: denotes the International Phonetic Alphabet [IPA]. | |||
| * piny: denotes the Standard Mandarin romanization system "Hanyu | jyut: denotes the Cantonese romanization system "Jyutping". | |||
| Pinyin". | ||||
| * jyut: denotes the Cantonese romanization system "Jyutping". | piny: denotes the Standard Mandarin romanization system "Hanyu | |||
| Pinyin". | ||||
| * script: denotes the unknown phonetic system. The SCRIPT | script: denotes the unknown phonetic system. The SCRIPT | |||
| (Section 4.8) parameter MUST be set in addition to the PHONETIC | (Section 4.8) parameter MUST be set in addition to the PHONETIC | |||
| parameter. | parameter. | |||
| The value type of the property on which the PHONETIC parameter is | The value type of the property on which the PHONETIC parameter is | |||
| set MUST be of the same type as its related property. If a | set MUST be of the same type as its related property. If a | |||
| component value is set in the property on which the PHONETIC | component value is set in the property on which the PHONETIC | |||
| parameter is set, then a component value also MUST be set at that | parameter is set, then a component value also MUST be set at that | |||
| same position in the related property. On the other hand, not | same position in the related property. On the other hand, not | |||
| every component value in the related property needs to have a | every component value in the related property needs to have a | |||
| phonetic representation. | phonetic representation. | |||
| The ALTID parameter (Section 5.4 of [RFC6350]) MUST be set with | The ALTID (Section 5.4 of [RFC6350]) parameter MUST be set with | |||
| equal values on both the related property and the property having | equal values on both the related property and the property having | |||
| the PHONETIC parameter set. If more than one same-named property | the PHONETIC parameter set. If more than one same-named property | |||
| has both the PHONETIC parameter set and an equal ALTID parameter | has both the PHONETIC parameter set and an equal ALTID parameter | |||
| value, then at most one of these properties MAY not have the | value, then at most, one of these properties MAY not have the | |||
| LANGUAGE parameter set and all others MUST have the LANGUAGE | LANGUAGE parameter set, and all others MUST have the LANGUAGE | |||
| parameter set. The LANGUAGE parameters MUST NOT have equal | parameter set. The LANGUAGE parameters MUST NOT have equal | |||
| values. The LANGUAGE parameter value SHOULD NOT contain a script | values. The LANGUAGE parameter value SHOULD NOT contain a script | |||
| subtag in its Language-Tag value and any such subtag MUST be | subtag in its Language-Tag value, and any such subtag MUST be | |||
| ignored in favor of the SCRIPT (Section 4.8) parameter value. | ignored in favor of the SCRIPT (Section 4.8) parameter value. | |||
| This specification defines the PHONETIC parameter for use with the | This specification defines the PHONETIC parameter for use with the | |||
| ADR and N properties. | ADR and N properties. | |||
| Format definition: | Format definition: | |||
| phonetic-param = "PHONETIC=" phonetic-value | phonetic-param = "PHONETIC=" phonetic-value | |||
| phonetic-value = "ipa" / "piny" / "jyut" / "script" / iana-token / x-name | phonetic-value = "ipa" / "piny" / "jyut" / "script" / iana-token / x-name | |||
| Example(s): | Example(s): | |||
| N;ALTID=1;LANGUAGE=zh-Hant:å«;ä¸å±±;æ–‡,逸仙;;;; | N;ALTID=1;LANGUAGE=zh-Hant:å«;ä¸å±±;æ–‡,逸仙;;;; | |||
| N;ALTID=1;PHONETIC=jyut; | N;ALTID=1;PHONETIC=jyut; | |||
| SCRIPT=Latn;LANGUAGE=yue:syun1;zung1saan1;man4,jat6sin1;;;; | SCRIPT=Latn;LANGUAGE=yue:syun1;zung1saan1;man4,jat6sin1;;;; | |||
| 4.7. PROP-ID | 4.7. PROP-ID | |||
| Parameter name: PROP-ID | Parameter name: PROP-ID | |||
| Purpose: This parameter identifies a property among all its siblings | Purpose: Identifies a property among all its siblings of the same | |||
| of the same property name. | property name. | |||
| Description: This parameter uniquely identifies a property among all | Description: This parameter uniquely identifies a property among all | |||
| of its siblings with the same name within a vCard. A valid PROP- | of its siblings with the same name within a vCard. A valid PROP- | |||
| ID value must be of 1 and a maximum of 255 octets in size, and it | ID value must be of 1 and a maximum of 255 octets in size, and it | |||
| MUST only contain the ASCII alphanumeric characters (A-Za-z0-9), | MUST only contain the ASCII alphanumeric characters (A-Za-z0-9), | |||
| hyphen (-), and underscore (_). The identifier only has the | hyphen (-), and underscore (_). The identifier's only purpose is | |||
| purpose to uniquely identify siblings, its value has no other | to uniquely identify siblings; its value has no other meaning. If | |||
| meaning. If an application makes use of PROP-ID it SHOULD assign | an application makes use of PROP-ID, it SHOULD assign a unique | |||
| a unique identifier to each sibling property of the same name | identifier to each sibling property of the same name within their | |||
| within their embedding component. The same identifier MAY be used | embedding component. The same identifier MAY be used for | |||
| for properties of a different name, and it MAY also be assigned to | properties of a different name, and it MAY also be assigned to a | |||
| a same-named property that is not a sibling. | same-named property that is not a sibling. | |||
| Resolving duplicate identifier conflicts is specific to the | Resolving duplicate identifier conflicts is specific to the | |||
| application. Similarly, handling properties where some but not | application. Similarly, handling properties where some but not | |||
| all siblings have a PROP-ID is assigned, is application-specific. | all siblings have a PROP-ID assigned is application-specific. | |||
| Format definition: | Format definition: | |||
| prop-id-param = "PROP-ID" "=" 1*255(ALPHA / DIGIT / "-"/ "_") | prop-id-param = "PROP-ID" "=" 1*255(ALPHA / DIGIT / "-"/ "_") | |||
| Example(s): | Example(s): | |||
| PHOTO;PROP-ID=p827:data:image/jpeg;base64,MIICajCCAdOgAwIBAg | PHOTO;PROP-ID=p827:data:image/jpeg;base64,MIICajCCAdOgAwIBAg | |||
| <...remainder of base64-encoded data...> | <...remainder of base64-encoded data...> | |||
| 4.8. SCRIPT | 4.8. SCRIPT | |||
| Parameter name: SCRIPT | Parameter name: SCRIPT | |||
| Purpose: This parameter defines the script in which a property value | Purpose: Defines the script that a property value is written in. | |||
| is written in. | ||||
| Description: This parameter allows defining a script for a property | Description: This parameter allows defining a script for a property | |||
| value without also defining a language as the LANGUAGE parameter | value without also defining a language as the LANGUAGE parameter | |||
| would. The value MUST be a Script Subtag as defined in | would. The value MUST be a script subtag as defined in | |||
| Section 2.2.3 of [RFC5646]. This specification makes use of the | Section 2.2.3 of [RFC5646]. This specification makes use of the | |||
| SCRIPT parameter in combination with the PHONETIC (Section 4.6) | SCRIPT parameter in combination with the PHONETIC (Section 4.6) | |||
| parameter. | parameter. | |||
| Format definition: | Format definition: | |||
| script-param = 4ALPHA | script-param = 4ALPHA | |||
| Example(s): | Example(s): | |||
| SCRIPT=Latn | SCRIPT=Latn | |||
| 4.9. SERVICE-TYPE | 4.9. SERVICE-TYPE | |||
| Parameter name: SERVICE-TYPE | Parameter name: SERVICE-TYPE | |||
| Purpose: To define the online service name associated with a | Purpose: Defines the online service name associated with a messaging | |||
| messaging or social media profile. | or social media profile. | |||
| Description: This parameter MAY be specified on a IMPP or | Description: This parameter MAY be specified on an IMPP or a | |||
| SOCIALPROFILE property to name the online service associated with | SOCIALPROFILE property to name the online service associated with | |||
| that property value. Its value is case-sensitive, its letter | that property value. Its value is case-sensitive; its letter | |||
| cases MUST be preserved. | cases MUST be preserved. | |||
| Several vCard address book implementations currently use an | Several vCard address book implementations currently use an | |||
| experimental X-SERVICE-TYPE parameter. This specification | experimental X-SERVICE-TYPE parameter. This specification | |||
| provides an IANA-registered parameter for the same purpose. | provides an IANA-registered parameter for the same purpose. | |||
| Format definition: | Format definition: | |||
| service-type-param = "SERVICE-TYPE" "=" param-value | service-type-param = "SERVICE-TYPE" "=" param-value | |||
| Example(s): | Example(s): | |||
| SOCIALPROFILE;SERVICE-TYPE=Mastodon:https://example.com/@foo | SOCIALPROFILE;SERVICE-TYPE=Mastodon:https://example.com/@foo | |||
| 4.10. USERNAME | 4.10. USERNAME | |||
| Parameter name: USERNAME | Parameter name: USERNAME | |||
| Purpose: To define a username, such as the user of a messaging or | Purpose: Defines a username such as the user of a messaging or | |||
| social media service. | social media service. | |||
| Description: This parameter MAY be specified on a IMPP or | Description: This parameter MAY be specified on an IMPP or a | |||
| SOCIALPROFILE property to name the user with that property value. | SOCIALPROFILE property to name the user with that property value. | |||
| Its value is case-sensitive, its letter cases MUST be preserved. | Its value is case-sensitive; its letter cases MUST be preserved. | |||
| The IMPP or SOCIALPROFILE value type MUST be URI. | The IMPP or SOCIALPROFILE value type MUST be URI. | |||
| Format definition: | Format definition: | |||
| username-param = "USERNAME" "=" param-value | username-param = "USERNAME" "=" param-value | |||
| Example(s): | Example(s): | |||
| SOCIALPROFILE;USERNAME="The Foo":https://example.com/@foo | SOCIALPROFILE;USERNAME="The Foo":https://example.com/@foo | |||
| 5. New Values | 5. New Values | |||
| 5.1. Billing Address Type Value | 5.1. Billing Address Type Value | |||
| Value: billing | Value: billing | |||
| Purpose: This indicates to use this address for billing, e.g., to | Purpose: Indicates using this address for billing, e.g., to send | |||
| send invoices to. | invoices to. | |||
| Conformance: This value can be used with the "TYPE" parameter | Conformance: This value can be used with the TYPE parameter applied | |||
| applied on the "ADR" property. | on the ADR property. | |||
| Example(s): | Example(s): | |||
| ADR;TYPE=billing:;;123 Main Street;Any Town;CA;91921-1234;U.S.A. | ADR;TYPE=billing:;;123 Main Street;Any Town;CA;91921-1234;U.S.A. | |||
| 5.2. Delivery Address Type Value | 5.2. Delivery Address Type Value | |||
| Value: delivery | Value: delivery | |||
| Purpose: This indicates to use this address for delivery, e.g., to | Purpose: Indicates using this address for delivery, e.g., to send | |||
| send packages to. | packages to. | |||
| Conformance: This value can be used with the "TYPE" parameter | Conformance: This value can be used with the TYPE parameter applied | |||
| applied on the "ADR" property. | on the ADR property. | |||
| Example(s): | Example(s): | |||
| ADR;TYPE=delivery:;;123 Main Street;Any Town;CA;91921-1234;U.S.A. | ADR;TYPE=delivery:;;123 Main Street;Any Town;CA;91921-1234;U.S.A. | |||
| 6. Security Considerations | 6. Security Considerations | |||
| This specification extends the vCard Format Specification. The same | This specification extends "vCard Format Specification" [RFC6350]. | |||
| security considerations as outlined in Section 9 of [RFC6350] apply. | The same security considerations as outlined in Section 9 of | |||
| [RFC6350] apply. | ||||
| 7. IANA Considerations | 7. IANA Considerations | |||
| 7.1. Changes to the "vCard Properties" registry | 7.1. Changes to the vCard Properties Registry | |||
| 7.1.1. New property definitions | ||||
| IANA is requested to add the following entries to the "vCard | ||||
| Properties" registry, defined in Section 10.3.1. of [RFC6350]. | ||||
| +===========+===============+============================+ | ||||
| | Namespace | Property | Reference | | ||||
| +===========+===============+============================+ | ||||
| | | CREATED | This document, Section 3.1 | | ||||
| +-----------+---------------+----------------------------+ | ||||
| | | GRAMGENDER | This document, Section 3.2 | | ||||
| +-----------+---------------+----------------------------+ | ||||
| | | LANGUAGE | This document, Section 3.3 | | ||||
| +-----------+---------------+----------------------------+ | ||||
| | | PRONOUNS | This document, Section 3.4 | | ||||
| +-----------+---------------+----------------------------+ | ||||
| | | SOCIALPROFILE | This document, Section 3.5 | | ||||
| +-----------+---------------+----------------------------+ | ||||
| Table 1: New vCard Properties | ||||
| 7.1.2. Updated vCard properties | ||||
| IANA is requested to add Section 2.1 of this document as reference | 7.1.1. New vCard Property Definitions | |||
| for the ADR property. | ||||
| IANA is requested to add Section 2.2 of this document as reference | IANA has added the following entries to the "vCard Properties" | |||
| for the N property. | registry, as defined in Section 10.3.1 of [RFC6350]. | |||
| 7.2. Changes to the "vCard Parameters" registry | +===========+===============+=======================+ | |||
| | Namespace | Property | Reference | | ||||
| +===========+===============+=======================+ | ||||
| | | CREATED | RFC 9554, Section 3.1 | | ||||
| +-----------+---------------+-----------------------+ | ||||
| | | GRAMGENDER | RFC 9554, Section 3.2 | | ||||
| +-----------+---------------+-----------------------+ | ||||
| | | LANGUAGE | RFC 9554, Section 3.3 | | ||||
| +-----------+---------------+-----------------------+ | ||||
| | | PRONOUNS | RFC 9554, Section 3.4 | | ||||
| +-----------+---------------+-----------------------+ | ||||
| | | SOCIALPROFILE | RFC 9554, Section 3.5 | | ||||
| +-----------+---------------+-----------------------+ | ||||
| IANA is requested to add the following entries to the "vCard | Table 1: New vCard Properties | |||
| Parameters" registry, defined in Section 10.3.2. of [RFC6350]. | ||||
| +===========+==============+================================+ | 7.1.2. Updated vCard Properties | |||
| | Namespace | Parameter | Reference | | ||||
| +===========+==============+================================+ | ||||
| | | AUTHOR | This document, Section 4.1 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | AUTHOR-NAME | This document, Section 4.2 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | CREATED | This document, Section 4.3 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | DERIVED | This document, Section 4.4 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | LABEL | Section 6.3.1 of [RFC6350] and | | ||||
| | | | this document, Section 4.5 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | PHONETIC | This document, Section 4.6 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | PROP-ID | This document, Section 4.7 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | SCRIPT | This document, Section 4.8 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | SERVICE-TYPE | This document, Section 4.9 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| | | USERNAME | This document, Section 4.10 | | ||||
| +-----------+--------------+--------------------------------+ | ||||
| Table 2: New vCard Parameters | IANA has added Section 2.1 of this document as a reference for the | |||
| ADR property and Section 2.2 of this document as a reference for the | ||||
| N property in the "vCard Properties" registry. | ||||
| 7.3. Changes to the "vCard Property Values" registry | 7.2. Changes to the vCard Parameters Registry | |||
| IANA is requested to add the following entries to the "vCard Property | IANA has added the following entries to the "vCard Parameters" | |||
| Values" registry, defined in Section 10.3.4. of [RFC6350]. | registry, as defined in Section 10.3.2 of [RFC6350]. | |||
| +============+===========+============================+ | +===========+==============+===========================+ | |||
| | Property | Value | Reference | | | Namespace | Parameter | Reference | | |||
| +============+===========+============================+ | +===========+==============+===========================+ | |||
| | GRAMGENDER | animate | This document, Section 3.2 | | | | AUTHOR | RFC 9554, Section 4.1 | | |||
| +------------+-----------+----------------------------+ | +-----------+--------------+---------------------------+ | |||
| | GRAMGENDER | common | This document, Section 3.2 | | | | AUTHOR-NAME | RFC 9554, Section 4.2 | | |||
| +------------+-----------+----------------------------+ | +-----------+--------------+---------------------------+ | |||
| | GRAMGENDER | feminine | This document, Section 3.2 | | | | CREATED | RFC 9554, Section 4.3 | | |||
| +------------+-----------+----------------------------+ | +-----------+--------------+---------------------------+ | |||
| | GRAMGENDER | inanimate | This document, Section 3.2 | | | | DERIVED | RFC 9554, Section 4.4 | | |||
| +------------+-----------+----------------------------+ | +-----------+--------------+---------------------------+ | |||
| | GRAMGENDER | masculine | This document, Section 3.2 | | | | LABEL | [RFC6350], Section 6.3.1 | | |||
| +------------+-----------+----------------------------+ | | | | and RFC 9554, Section 4.5 | | |||
| | GRAMGENDER | neuter | This document, Section 3.2 | | +-----------+--------------+---------------------------+ | |||
| +------------+-----------+----------------------------+ | | | PHONETIC | RFC 9554, Section 4.6 | | |||
| +-----------+--------------+---------------------------+ | ||||
| | | PROP-ID | RFC 9554, Section 4.7 | | ||||
| +-----------+--------------+---------------------------+ | ||||
| | | SCRIPT | RFC 9554, Section 4.8 | | ||||
| +-----------+--------------+---------------------------+ | ||||
| | | SERVICE-TYPE | RFC 9554, Section 4.9 | | ||||
| +-----------+--------------+---------------------------+ | ||||
| | | USERNAME | RFC 9554, Section 4.10 | | ||||
| +-----------+--------------+---------------------------+ | ||||
| Table 3: New vCard Property Values | Table 2: New vCard Parameters | |||
| 7.4. Changes to the "vCard Parameter Values" registry | 7.3. Changes to the vCard Property Values Registry | |||
| IANA is requested to add the following entries to the "vCard | IANA has added the following entries to the "vCard Property Values" | |||
| Parameter Values" registry, defined in Section 10.3.4. of [RFC6350]. | registry, as defined in Section 10.3.4 of [RFC6350]. | |||
| +==========+===========+==========+============================+ | +============+===========+=======================+ | |||
| | Property | Parameter | Value | Reference | | | Property | Value | Reference | | |||
| +==========+===========+==========+============================+ | +============+===========+=======================+ | |||
| | ADR | TYPE | billing | This document, Section 5.1 | | | GRAMGENDER | animate | RFC 9554, Section 3.2 | | |||
| +----------+-----------+----------+----------------------------+ | +------------+-----------+-----------------------+ | |||
| | ADR | TYPE | delivery | This document, Section 5.2 | | | GRAMGENDER | common | RFC 9554, Section 3.2 | | |||
| +----------+-----------+----------+----------------------------+ | +------------+-----------+-----------------------+ | |||
| | ADR | TYPE | delivery | This document, Section 5.2 | | | GRAMGENDER | feminine | RFC 9554, Section 3.2 | | |||
| +----------+-----------+----------+----------------------------+ | +------------+-----------+-----------------------+ | |||
| | ADR, N | PHONETIC | ipa | This document, Section 4.6 | | | GRAMGENDER | inanimate | RFC 9554, Section 3.2 | | |||
| +----------+-----------+----------+----------------------------+ | +------------+-----------+-----------------------+ | |||
| | ADR, N | PHONETIC | jyut | This document, Section 4.6 | | | GRAMGENDER | masculine | RFC 9554, Section 3.2 | | |||
| +----------+-----------+----------+----------------------------+ | +------------+-----------+-----------------------+ | |||
| | ADR, N | PHONETIC | piny | This document, Section 4.6 | | | GRAMGENDER | neuter | RFC 9554, Section 3.2 | | |||
| +----------+-----------+----------+----------------------------+ | +------------+-----------+-----------------------+ | |||
| | ADR, N | PHONETIC | script | This document, Section 4.6 | | ||||
| +----------+-----------+----------+----------------------------+ | ||||
| Table 4: New vCard Property Values | Table 3: New vCard Property Values | |||
| 8. Acknowledgements | 7.4. Changes to the vCard Parameter Values Registry | |||
| The definition and examples of the PHONETIC (Section 4.6) and SCRIPT | IANA has added the following entries to the "vCard Parameter Values" | |||
| (Section 4.8) parameters are based on the initial version of | registry, as defined in Section 10.3.4 of [RFC6350]. | |||
| [I-D.calconnect-vobject-i18n]. | ||||
| 9. References | +==========+===========+==========+=======================+ | |||
| | Property | Parameter | Value | Reference | | ||||
| +==========+===========+==========+=======================+ | ||||
| | ADR | TYPE | billing | RFC 9554, Section 5.1 | | ||||
| +----------+-----------+----------+-----------------------+ | ||||
| | ADR | TYPE | delivery | RFC 9554, Section 5.2 | | ||||
| +----------+-----------+----------+-----------------------+ | ||||
| | ADR, N | PHONETIC | ipa | RFC 9554, Section 4.6 | | ||||
| +----------+-----------+----------+-----------------------+ | ||||
| | ADR, N | PHONETIC | jyut | RFC 9554, Section 4.6 | | ||||
| +----------+-----------+----------+-----------------------+ | ||||
| | ADR, N | PHONETIC | piny | RFC 9554, Section 4.6 | | ||||
| +----------+-----------+----------+-----------------------+ | ||||
| | ADR, N | PHONETIC | script | RFC 9554, Section 4.6 | | ||||
| +----------+-----------+----------+-----------------------+ | ||||
| 9.1. Normative References | Table 4: New vCard Property and Parameter Values | |||
| [I-D.ietf-calext-jscontact] | 8. References | |||
| Stepanek, R. and M. Loffredo, "JSContact: A JSON | ||||
| representation of contact data", Work in Progress, | ||||
| Internet-Draft, draft-ietf-calext-jscontact-13, 24 July | ||||
| 2023, <https://datatracker.ietf.org/doc/html/draft-ietf- | ||||
| calext-jscontact-13>. | ||||
| [I-D.ietf-calext-jscontact-vcard] | 8.1. Normative References | |||
| Loffredo, M. and R. Stepanek, "JSContact: Converting from | ||||
| and to vCard", Work in Progress, Internet-Draft, draft- | ||||
| ietf-calext-jscontact-vcard-11, 24 July 2023, | ||||
| <https://datatracker.ietf.org/doc/html/draft-ietf-calext- | ||||
| jscontact-vcard-11>. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | |||
| Resource Identifier (URI): Generic Syntax", STD 66, | Resource Identifier (URI): Generic Syntax", STD 66, | |||
| RFC 3986, DOI 10.17487/RFC3986, January 2005, | RFC 3986, DOI 10.17487/RFC3986, January 2005, | |||
| <https://www.rfc-editor.org/info/rfc3986>. | <https://www.rfc-editor.org/info/rfc3986>. | |||
| skipping to change at page 21, line 50 ¶ | skipping to change at line 939 ¶ | |||
| September 2009, <https://www.rfc-editor.org/info/rfc5646>. | September 2009, <https://www.rfc-editor.org/info/rfc5646>. | |||
| [RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, | [RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, | |||
| DOI 10.17487/RFC6350, August 2011, | DOI 10.17487/RFC6350, August 2011, | |||
| <https://www.rfc-editor.org/info/rfc6350>. | <https://www.rfc-editor.org/info/rfc6350>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 10. Informative References | [RFC9553] Stepanek, R. and M. Loffredo, "JSContact: A JSON | |||
| Representation of Contact Data", RFC 9553, | ||||
| DOI 10.17487/RFC9553, March 2024, | ||||
| <https://www.rfc-editor.org/info/rfc9553>. | ||||
| [CLDRPersonName] | [RFC9555] Loffredo, M. and R. Stepanek, "JSContact: Converting from | |||
| Davis, M., Edberg, P., Gillam, R., Kolisnychenko, A., | and to vCard", RFC 9555, DOI 10.17487/RFC9555, March 2024, | |||
| McKenna, M., and others, "Technical Standard #35: Unicode | <https://www.rfc-editor.org/info/rfc9555>. | |||
| Locale Data Markup Language (LDML) Part 8: Person Names, | ||||
| Version 43.1", July 2023, | ||||
| <https://www.unicode.org/reports/tr35/ | ||||
| tr35-personNames.html>. | ||||
| [I-D.calconnect-vobject-i18n] | 9. Informative References | |||
| Tse, R. H., Tam, P., and M. Douglass, "vObject | ||||
| [CALCONNECT-VOBJECT] | ||||
| Tse, R., Tam, P., and M. Douglass, "vObject | ||||
| Internationalization", Work in Progress, Internet-Draft, | Internationalization", Work in Progress, Internet-Draft, | |||
| draft-calconnect-vobject-i18n-00, 7 June 2018, | draft-calconnect-vobject-i18n-00, 7 June 2018, | |||
| <https://datatracker.ietf.org/doc/html/draft-calconnect- | <https://datatracker.ietf.org/doc/html/draft-calconnect- | |||
| vobject-i18n-00>. | vobject-i18n-00>. | |||
| [IPA] "International Phonetic Alphabet", | [CLDRPersonName] | |||
| Davis, M., Edberg, P., Gillam, R., Kolisnychenko, A., | ||||
| McKenna, M., and other CLDR committee members, "Unicode | ||||
| Locale Data Markup Language (LDML) Part 8: Person Names", | ||||
| Unicode Technical Standard #35, Version 44.1, July 2023, | ||||
| <https://www.unicode.org/reports/tr35/ | ||||
| tr35-personNames.html>. | ||||
| [IPA] IPA, "International Phonetic Alphabet", | ||||
| <https://www.internationalphoneticalphabet.org/>. | <https://www.internationalphoneticalphabet.org/>. | |||
| Acknowledgements | ||||
| The definition and examples of the PHONETIC (Section 4.6) and SCRIPT | ||||
| (Section 4.8) parameters are based on the early draft version of | ||||
| [CALCONNECT-VOBJECT]. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Robert Stepanek | Robert Stepanek | |||
| Fastmail | Fastmail | |||
| PO Box 234, Collins St West | PO Box 234 | |||
| Melbourne VIC 8007 | Collins St. West | |||
| Melbourne VIC 8007 | ||||
| Australia | Australia | |||
| Email: rsto@fastmailteam.com | Email: rsto@fastmailteam.com | |||
| Mario Loffredo | Mario Loffredo | |||
| IIT-CNR | IIT-CNR | |||
| Via Moruzzi,1 | Via Moruzzi, 1 | |||
| 56124 Pisa | 56124 Pisa | |||
| Italy | Italy | |||
| Email: mario.loffredo@iit.cnr.it | Email: mario.loffredo@iit.cnr.it | |||
| End of changes. 121 change blocks. | ||||
| 419 lines changed or deleted | 408 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||