GEOPRIV H. Schulzrinne Internet-Draft Columbia U. Expires: March 29, 2005 September 28, 2004 Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) Option for Civic Addresses Configuration Information draft-ietf-geopriv-dhcp-civil-04 Status of this Memo This document is an Internet-Draft and is subject to all provisions of section 3 of RFC 3667. By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she become aware will be disclosed, in accordance with RFC 3668. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on March 29, 2005. Copyright Notice Copyright (C) The Internet Society (2004). Abstract This document specifies a Dynamic Host Configuration Protocol (DHCPv4 and DHCPv6) option for the civic location of the client or the DHCP server. The Location Configuration Information (LCI) includes information about the country, administrative units such as states, provinces and cities, as well as street addresses and building information. Schulzrinne Expires March 29, 2005 [Page 1] Internet-Draft DHCP Civic September 2004 Table of Contents 1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Format of the DHCP Civic Location Option . . . . . . . . . . . 6 3.1 Overall Format for DHCPv4 . . . . . . . . . . . . . . . . 6 3.2 Overall Format for DHCPv6 . . . . . . . . . . . . . . . . 6 3.3 Element Format . . . . . . . . . . . . . . . . . . . . . . 7 3.4 Civic Address Components . . . . . . . . . . . . . . . . . 7 4. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5. Security Considerations . . . . . . . . . . . . . . . . . . . 13 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7.1 Normative References . . . . . . . . . . . . . . . . . . . . 15 7.2 Informative References . . . . . . . . . . . . . . . . . . . 15 Author's Address . . . . . . . . . . . . . . . . . . . . . . . 16 A. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17 Intellectual Property and Copyright Statements . . . . . . . . 18 Schulzrinne Expires March 29, 2005 [Page 2] Internet-Draft DHCP Civic September 2004 1. Terminology In this document, the key words "MUST", "MUSTNOT", "REQUIRED", "SHALL", "SHALLNOT", "SHOULD", "SHOULDNOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [1] and indicate requirement levels for compliant implementations. Schulzrinne Expires March 29, 2005 [Page 3] Internet-Draft DHCP Civic September 2004 2. Introduction Many end system services can benefit by knowing the approximate location of the end device. In particular, IP telephony devices need to know their location to contact the appropriate emergency response agency and to be found by emergency responders. There are two common ways to identify the location of an object, either through geospatial coordinates or by so-called civic address. Geospatial coordinates indicate longitude, latitude and altitude, while civic addresses indicate a street address. A related document [13] describes a DHCPv4 [2] option for conveying geospatial information to a device. This draft describes how DHCPv4 and DHCPv6 [5] can be used to convey the civic location to devices. Both can be used simultaneously, increasing the chance to deliver accurate and timely location information to emergency responders. End systems that obtain location information via the mechanism described here then use other protocol mechanisms to communicate this information to the emergency call center or to convey it as part of presence information. Civic information is useful since it often provides additional, human-usable information particularly within buildings. Also, compared to geospatial information, it is readily obtained for most occupied structures and can often be interpreted even if incomplete. For example, for many large university or corporate campuses, geocoding information to building and room granularity may not be readily available. Unlike geospatial information, the format for civic information differs from country to country. Thus, this draft establishes an IANA registry for civic location data fields. The initial set of data fields is derived from standards published by the United States National Emergency Number Association (NENA) [16]. It is anticipated that other countries can reuse many of the data elements. The same civic address information can often be rendered in multiple languages and scripts. For example, Korean addresses are often shown in Hangul, Latin and Kanji, while some older cities have multiple language variants (Munich, Muenchen and Monaco, for example). Since DHCPv4 and DHCPv6 do not currently support a mechanism to query for a specific script or language, the DHCP server SHOULD provide all common renderings to the client and MUST provide at least the rendering in the language and script appropriate to the location indicated. For example, for use in presence information, the target may be visiting from a foreign country and want to convey the Schulzrinne Expires March 29, 2005 [Page 4] Internet-Draft DHCP Civic September 2004 information in a format suitable for watchers in its home country. For emergency services, the rendering in the local language is likely to be most appropriate. To provide multiple renderings, the client repeats sequences of address elements, prefixing each with 'language' and/or 'script' element (see Section 3.3). The language and script remain in effect for subsequent elements until overridden by another language or script element. The DHCP server MAY provide location information for multiple locations related to the target, for example, both the network element and the network jack itself. This is likely to help in debugging network problems, for example. As discussed in Security Considerations (Section 5), the GeoConf_Civi option SHOULD be returned by DHCP servers only when the DHCP client has included this option in its 'parameter request list' (Section 3.5 [2]). The DHCP long-options mechanism described in RFC 3396 [8] MUST be used if the civic address option exceeds the maximum DHCP option size of 255 octets. Schulzrinne Expires March 29, 2005 [Page 5] Internet-Draft DHCP Civic September 2004 3. Format of the DHCP Civic Location Option 3.1 Overall Format for DHCPv4 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GEOCONF_CIVIC | N | Countrycode | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | What | civic address elements ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Code GEOCONF_CIVIC: The code for this DHCP option is TBD by IANA. N: The length of this option is variable. Countrycode: The two-letter ISO 3166 country code in capital ASCII letters, e.g., DE or US. What: The 'what' element describes which location the DHCP refers to. Currently, three options are defined: the location of the DHCP server (a value of 0), the location of the network element believed to be closest to the client (a value of 1) or the location of the client (a value of 2). Option (2) SHOULD be used, but may not be known. Options (0) and (1) SHOULD NOT be used unless it is known that the DHCP client is in close physical proximity to the server or network element. Civic address element: Zero or more elements comprising the civic address, with the format described below (Section 3.3). 3.2 Overall Format for DHCPv6 The DHCPv6 [5] civic address option refers generally to the client as a whole. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | OPTION_CIVIC_ADDRESS | option-len | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Countrycode | what | elements ... | civic address elements | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ option-code: OPTION_CIVIC_ADDRESS (TBD) option-len: Length of the Countrycode, 'what' and civic address elements. Schulzrinne Expires March 29, 2005 [Page 6] Internet-Draft DHCP Civic September 2004 Countrycode: See above (Section 3.1). What: See above (Section 3.1). Civic address element: See above (Section 3.1). 3.3 Element Format For both DHCPv4 and DHCPv6, each civic address element has the following format: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CAtype | CAlength | CAvalue ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ CAtype: A one-octet descriptor of the data civic address value. CAlength: The length, in octets, of the CAvalue, not including the CAlength field itself. Data SHOULD be encoded in mixed case, following the customary spelling. CAvalue: The civic address value, encoded as UTF-8 [6], and written in uppercase letters where applicable. The script indication is written in mixed-case, with the first letter a capital letter. Elements SHOULD be included in numeric order from lowest to highest of their CAtype if the server only provides one language and script rendition. In general, an element is labeled in its language and script by the most recent 'language tag' (CAtype = 0) element preceding it. Since not all elements depend on the script and language, a client accumulates the elements by CAtype and then selects the most desirable language and script rendition if there are multiple elements for the same CAtype. 3.4 Civic Address Components Since each country has different administrative hierarchies, with often the same (English) names, this specification adopts a simple hierarchical notation that is then instantiated for each country. We assume that five levels are sufficient for sub-national divisions above the street level. All elements are OPTIONAL and can appear in any order. Abbreviations do not need a trailing period. It is RECOMMENDED that all elements in a particular script (CAtype 128) and language (CAtype 0) be grouped together as that reduces the number of script and language identifiers needed. Schulzrinne Expires March 29, 2005 [Page 7] Internet-Draft DHCP Civic September 2004 +----------------------+----------------------+---------------------+ | CAtype | label | description | +----------------------+----------------------+---------------------+ | 1 | A1 | national | | | | subdivisions | | | | (state, region, | | | | province, | | | | prefecture) | | | | | | 2 | A2 | county, parish, gun | | | | (JP), district (IN) | | | | | | 3 | A3 | city, township, shi | | | | (JP) | | | | | | 4 | A4 | city division, | | | | borough, city | | | | district, ward, | | | | chou (JP) | | | | | | 5 | A5 | neighborhood, block | | | | | | 6 | A6 | street | +----------------------+----------------------+---------------------+ Table 1 For specific countries, the administrative sub-divisions are described below. CA (Canada): The mapping to NENA designations is shown in parentheses. A1=province (STA); A2=county (CNA); A3=city or town (MCN); A6=street (STN). DE (Germany): A1=state (Bundesstaat); A2=county (Regierungsbezirk); A3=city (Stadt, Gemeinde); A6=street (Strasse). Street suffixes (STS) are used only for designations that are a separate word (e.g., Marienthaler Strasse). JP (Japan): A1=metropolis (To, Fu) or prefecture (Ken, Do); A2=city (Shi) or rural area (Gun); A3=ward (Ku) or village (Mura); A4=town (Chou or Machi); A5=city district (Choume); A6=block (Banchi or Ban). KR (Korea): A1=province (Do); A2=county (gun); A3=city or village (ri); A4=urban district (gu); A5=neighborhood (dong); A6=street (no, ro, ga or gil). US (United States): The mapping to NENA designations is shown in parentheses. A1=state (STA), using the the two-letter state and possession abbreviations recommended by the United States Postal Service Publication 28 [15], Appendix B; A2=county (CNA); A3=civic Schulzrinne Expires March 29, 2005 [Page 8] Internet-Draft DHCP Civic September 2004 community name (city or town) (MCN); A6=street (STN). A4 and A5 are not used. The civic community name (MCN) reflects the political boundaries. These may differ from postal delivery assignments for historical or practical reasons. Additional CA types appear in many countries and are simply omitted where they are not needed or known: +------------+------------+-------------+-------------+-------------+ | CAtype | NENA | PIDF | Description | Examples | +------------+------------+-------------+-------------+-------------+ | 0 | | | language | i-default | | | | | | [3] | | | | | | | | 16 | PRD | PRD | leading | N | | | | | street | | | | | | direction | | | | | | | | | 17 | POD | POD | trailing | SW | | | | | street | | | | | | suffix | | | | | | | | | 18 | STS | STS | street | AVE, PLATZ | | | | | suffix | | | | | | | | | 19 | HNO | HNO | house | 123 | | | | | number | | | | | | | | | 20 | HNS | HNS | house | A, 1/2 | | | | | number | | | | | | suffix | | | | | | | | | 21 | LMK | LMK | landmark or | COLUMBIA | | | | | vanity | UNIVERSITY | | | | | address | | | | | | | | | 22 | LOC | LOC | additional | SOUTH WING | | | | | location | | | | | | information | | | | | | | | | 23 | NAM | NAM | name | JOE'S | | | | | (residence | BARBERSHOP | | | | | and office | | | | | | occupant) | | | | | | | | | 24 | ZIP | PC | postal/zip | 10027-1234 | | | | | code | | | | | | | | Schulzrinne Expires March 29, 2005 [Page 9] Internet-Draft DHCP Civic September 2004 | 25 | | | building | LOW LIBRARY | | | | | (structure) | | | | | | | | | 26 | | | unit | APT 42 | | | | | (apartment, | | | | | | suite) | | | | | | | | | 27 | | FLR | floor | 4 | | | | | | | | 28 | | | room number | 450F | | | | | | | | 29 | | | placetype | office | | | | | | | | 128 | | | script | Latn | | | | | | | | 255 | | | reserved | | +------------+------------+-------------+-------------+-------------+ The CA types labeled in the second column correspond to items from the NENA "Recommended Formats & Protocols For ALI Data Exchange, ALI Response & GIS Mapping" [16], but are applicable to most countries. The "NENA" column refers to the data dictionary name in Exhibit 18 of [16]. The column labeled PIDF indicates the element name from [14]. The "language" item (CAtype 0) optionally identifies the language used for presenting the address information, drawing from the tags for identifying languages in [7]. If omitted, the default value for this tag is "i-default" [3]. The "script" item (CAtype 128) optionally identifies the script used for presenting the address information, drawing from the tags for identifying scripts in ISO 15924 [11]. If omitted, the default value for this tag is "Latn". The abbreviations N, E, S, W, and NE, NW, SE, SW should be used for POD and PRD in English-speaking countries. STS designates a street suffix. In the United States (US), the abbreviations recommended by the United States Postal Service Publication 28 [15], Appendix C, SHOULD be used. HNS ("house number") is a modifier to a street address; it does not identify parts of a street address. LMK ("landmark") is a string name for a location. It conveys the same information as the street address, but reflects common local Schulzrinne Expires March 29, 2005 [Page 10] Internet-Draft DHCP Civic September 2004 designation of a structure, a group of buildings or a place that helps recipients locate the place. For example, an industrial park may have a widely-recognized name that is more readily found than a single street address. Some places, such as parks, may not have street names or house numbers and SHOULD be identified by a LMK string. LOC ("location") is an unstructured string. The NAM object is used to aid user location ("Joe Miller" "Alice's Dry Cleaning"). It does not identify the person using a communications device, but rather the person or organization associated with the address. While a landmark (LMK) can indicate a complex of buildings, 'building' (CAtype 25) conveys the name of a single building if the street address includes more than one building or the building name is helpful in identifying the location. (For example, on university campuses, the house number is often not displayed on buildings, while the building name is prominently shown.) The 'unit' object (CAtype 26) contains the name or number of a part of a structure where there are separate administrative units, owners or tenants, such as separate companies or families who occupy that structure. Common examples include suite or apartment designations. A 'room' is the smallest identifiable subdivision of a structure. The "type of place" item (CAtype 29) describes the type of place described by the civic coordinates. For example, it describes whether it is a home, office, street or other public space. The values are drawn from the items in the rich presence [17] document. This information makes it easy, for example, for the DHCP client to then populate the presence information. Since this is an IANA-registered token, the language and script designations do not apply for this element. Schulzrinne Expires March 29, 2005 [Page 11] Internet-Draft DHCP Civic September 2004 4. Example Rather than showing the precise byte layout of a DHCP option, we show a symbolic example below, representing the civic address of the Munich city hall in Bavaria, Germany. The city and state name are also conveyed in English and Italian in addition to German; the other items are assumed to be common across all languages. All languages use the latin script. +--------+---------------+ | CAtype | CAvalue | +--------+---------------+ | 0 | de | | | | | 128 | Latn | | | | | 1 | Bayern | | | | | 2 | Oberbayern | | | | | 3 | M=U+00FCnchen | | | | | 6 | Marienplatz | | | | | 19 | 8 | | | | | 21 | Rathaus | | | | | 24 | 80331 | | | | | 25 | public | | | | | 0 | en | | | | | 1 | Bavaria | | | | | 3 | Munich | | | | | 0 | it | | | | | 1 | Baviera | | | | | 3 | Monaco | +--------+---------------+ Schulzrinne Expires March 29, 2005 [Page 12] Internet-Draft DHCP Civic September 2004 5. Security Considerations Where critical decisions might be based on the value of this GeoConf_Civic option, DHCP authentication in RFC3118 [4] SHOULD be used to protect the integrity of the DHCP options. Since there is no privacy protection for DHCP messages, an eavesdropper who can monitor the link between the DHCP server and requesting client can discover the information contained in this option. To minimize the unintended exposure of location information, the GeoConf_Civic option SHOULD be returned by DHCP servers only when the DHCP client has included this option in its 'parameter request list' (Section 3.5 [2]). When implementing a DHCP server that will serve clients across an uncontrolled network, one should consider the potential security risks. Schulzrinne Expires March 29, 2005 [Page 13] Internet-Draft DHCP Civic September 2004 6. IANA Considerations This document requests that IANA register a new DHCPv4 and DHCPv6 option code for the Civic Address (GEOCONF_CIVIC). This document establishes a new IANA registry for CAtypes designating civic address components. According to RFC 2434 [12], this registry operates under the "Specification Required" rules. The IANA registration needs to include the following information: CAType: Numeric identifier, assigned by IANA. Brief description: Short description identifying the meaning of the element. Reference to published specification: A stable reference to an RFC or other permanent and readily available reference, in sufficient detail so that interoperability between independent implementations is possible. Country-specific considerations: If applicable, notes whether the element is only applicable or defined for certain countries. Schulzrinne Expires March 29, 2005 [Page 14] Internet-Draft DHCP Civic September 2004 7. References 7.1 Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, March 1997. [3] Alvestrand, H., "IETF Policy on Character Sets and Languages", BCP 18, RFC 2277, January 1998. [4] Droms, R. and W. Arbaugh, "Authentication for DHCP Messages", RFC 3118, June 2001. [5] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C. and M. Carney, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 3315, July 2003. [6] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003. [7] Alvestrand, H., "Tags for the Identification of Languages", BCP 47, RFC 3066, January 2001. [8] Lemon, T. and S. Cheshire, "Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)", RFC 3396, November 2002. [9] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. [10] Sugano, H. and S. Fujimoto, "Presence Information Data Format (PIDF)", draft-ietf-impp-cpim-pidf-08 (work in progress), May 2003. [11] International Organization for Standardization, ISO., "Information and documentation - Codes for the representation of names of scripts", February 2004. 7.2 Informative References [12] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. [13] Polk, J., Schnizlein, J. and M. Linsner, "Dynamic Host Schulzrinne Expires March 29, 2005 [Page 15] Internet-Draft DHCP Civic September 2004 Configuration Protocol Option for Coordinate-based Location Configuration Information", RFC 3825, July 2004. [14] Peterson, J., "A Presence-based GEOPRIV Location Object Format", draft-ietf-geopriv-pidf-lo-03 (work in progress), September 2004. [15] United States Postal Service, "Postal Addressing Standards", November 2000. [16] National Emergency Number Assocation, "NENA Recommended Formats and Protocols For ALI Data Exchange, ALI Response and GIS Mapping", NENA NENA-02-010, January 2002. [17] Schulzrinne, H., Gurbani, V., Kyzivat, P. and J. Rosenberg, "RPID: Rich Presence: Extensions to the Presence Information Data Format (PIDF)", draft-ietf-simple-rpid-03 (work in progress), March 2004. Author's Address Henning Schulzrinne Columbia University Department of Computer Science 450 Computer Science Building New York, NY 10027 US Phone: +1 212 939 7042 EMail: hgs+simple@cs.columbia.edu URI: http://www.cs.columbia.edu Schulzrinne Expires March 29, 2005 [Page 16] Internet-Draft DHCP Civic September 2004 Appendix A. Acknowledgments Harald Alvestrand, Stefan Berger, Rohan Mahy and James Polk provided helpful comments. Schulzrinne Expires March 29, 2005 [Page 17] Internet-Draft DHCP Civic September 2004 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Schulzrinne Expires March 29, 2005 [Page 18]