Internet Engineering Task Force Internet Draft Wu/Schulzrinne Columbia University wu-iptel-locswitch-00.txt February 7, 2004 Expires: August 2004 Location-switch for Call Processing Language (CPL) STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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 To view the list Internet-Draft Shadow Directories, see http://www.ietf.org/shadow.html. Abstract This document introduces two switch nodes named location-switch and location-relation-switch to the Call Processing Language (CPL). The new nodes enable CPL to handle location-based services. Wu/Schulzrinne [Page 1] Table of Contents 1 Introduction ........................................ 2 1.1 Conventions of This Document ........................ 2 2 Terminology ......................................... 2 3 Location Switches ................................... 3 4 Location-relation Switches .......................... 5 5 IANA Considerations ................................. 7 5.1 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:cpl:location-switch ..................... 7 5.2 Schema registration ................................. 7 6 Examples ............................................ 8 A The XMl Schema for CPL location-switch and location-relation-switch ....................................... 9 B Authors' Addresses .................................. 16 C Normative References ................................ 17 D Informative References .............................. 17 Wu/Schulzrinne [Page 1] Internet Draft wu-iptel-locswitch February 7, 2004 1 Introduction The Call Processing Language (CPL) [1] is a language that can be used to describe and control Internet telephony services. CPL uses switch nodes to check call conditions so as to make call control decisions. This document introduces two new switch nodes named location-switch and location-relation-switch. The new switch nodes check people's physical locations and based on the location information to make call control decisions. Numerous applications today can get and share location information. Location information may affect people on making call control decisions. For example, in a place requiring quiet environment, it is preferred to reject phone calls. There are two types of location information. One is to describe location attributes, such as privacy preference of a location. The other is to define physical locations, such as geographical coordinates, or civil addresses. Both types of location information can be encapsulated into XML-based Presence Information Data Format (PIDF [6]). The encapsulation of location attributes is defined in RPID -- Rich Presence Information Data Format [7]. The encapsulation of physical location information is defined in Presence-based GEOPRIV Location Object Format [8]. The switch nodes defined in this document are used to handle physical location information. The location attribute handling should be defined in different switch nodes. 1.1 Conventions of This Document In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in RFC 2119 [2]. 2 Terminology This document uses the terms defined in [1]. We list additional definitions that are related to location switches below: Location occupier: A person whose current location will be matched against the location specified in a location- switch. Script owner: For a location-switch, script owner refers to the person who owns the CPL script that contains the location- switch. Location relation: The relationship between two persons regarding their physical locations. The relationship can be the distance between two persons, or the relative positions Wu/Schulzrinne [Page 2] Internet Draft wu-iptel-locswitch February 7, 2004 between two persons, e.g., person A is south of person B. 3 Location Switches Location switches allow a CPL script to make call decisions based on the physical location of a location occupier. They are summarized in Figure 1. Wu/Schulzrinne [Page 3] Internet Draft wu-iptel-locswitch February 7, 2004 Node: "location-switch" Outputs: "location" Specific location to match Parameters: "type" "geospatial", "civil" "uri" the location occupier's uri Output: "location" Parameters: "longitude" Longitude coordinates, valid only for geospatial type "latitude" Latitude coordinates, valid only for geospatial type "altitude" Altitude coordinates, valid only for geospatial type "country" Country of the location, valid only for civil type "A1" National subdivisions (state, region, province, prefecture), valid only for civil type "A2" County, parish, gun (JP), district (IN), valid only for civil type "A3" City, township, shi (JP), valid only for civil type "A4" City division, borough, city district, ward, chou (JP), valid only for civil type "A5" neighborhood, block, valid only for civil type "A6" street, valid only for civil type "PRD" Leading street direction, valid only for civil type "POD" Trailing street suffix, valid only for civil type "STS" Street suffix, valid only for civil type "HNO" House number, numeric part only, valid only for civil type "HNS" House number suffix, valid only for civil type "LMK" Landmark or vanity address, valid only for civil type "LOC" Additional location information, such as room valid only for civil type "FLR" Floor, valid only for civil type "NAM" Name (residence, business or office occupant) valid only for civil type "PC" Postal code, valid only for civil type "distance" Distance value to a specified location. Valid only if geospatial or civil location presented. "condition" Valid only if distance presented. Wu/Schulzrinne [Page 4] Internet Draft wu-iptel-locswitch February 7, 2004 Value is (in|out|at|). Default value is "at". "unit" Valid only if distance presented. Value is (m|km|mi|in|ft|yd|naut mi). Default value is "m". "direction" Direction relative to a specified location, Valid only if geospatial or civil location presented. Value is "(south|north|west|east|above|below)". Figure 1: Syntax of the "location-switch" node Location switches have two node parameters: The mandatory parameter "type" specifies the location type to match: either geospatial location, or civil location. The optional parameter "uri" specifies the location occupier's uri. If not provided, the location occupier will be the script owner. The "location" output tag may have one or more parameters, indicating the exact location to match. The "longitude", "latitude", and "altitude" are used to specify a geographical location. The country, "A1", "A2", "A3", "A4", "A5", "A6", "PRD", "POD", "STS", "HNO", "HNS", "LMK", "LOC", "FLR", "NAM", and "PC" are used to specify a civil location. The "distance" parameter cannot be used without geographical location or civil location specified. Usually, the distance parameter is used with geographical location since it is difficult to meature the distance to a civil location. The "condition" and "unit" parameters are used to provide more convinient ways for distance specification. The available unit values are (m|km|mi|in|ft|yd|naut mi), mapped to meter, kilometer, mile, inch, foot, yard, and nautical mile, accordingly. The "direction" parameter cannot be used without geographical location or civil location specified. The value "south" or "north" are usually used when latitude specified. The value "east" or "west" are usually used when longitude specified. The value "above" and "below" are usually used when altitude specified, or FLR sepcified. 4 Location-relation Switches Location-relation switches allow a CPL script to make call decisions based on the location relation of two persons. They are summarized in Figure 2. Wu/Schulzrinne [Page 5] Internet Draft wu-iptel-locswitch February 7, 2004 Node: "location-relation-switch" Outputs: "location-relation" Specific location relation to match Parameters: "uri1" the first location occupier's uri "uri2" the second location occupier's uri Output: "location-relation" Parameters: "distance" Distance value between two persons. "condition" Valid only if distance presented. Value is (in|out|at|). Default value is "at". "unit" Valid only if distance presented. Value is (m|km|mi|in|ft|yd |naut mi). Default value is "m". "direction" Direction relation between two persons, value is "(south|north| west|east|above|below)". "same" A space separated list containing location attributes, e.g., LOC, that two persons have the same value. "difference" A space separated list containing location attributes, that two persons have different values. Figure 2: Syntax of the "location-relation-switch" node Location-relation switches have two node parameters: The mandatory parameter "uri1" specifies the first location occupier's uri. The optional parameter "uri2" specifies the second location occupier's uri. If not provided, the second location occupier will be the script owner. The "location-relation" output tag may have one or more parameters, indicating the exact relation to match. The "distance" parameter indicates the distance between two persons. The "condition" and "unit" parameters are used for distance measuring. They have the same meanings as those defined in "location-switch". The "direction" parameter indicates relative positions between two persons. For example, "south" means uri1 is south of uri2. The "same" and "difference" indicating the relationship between two persons' location attributes. The attributes can be geospatial Wu/Schulzrinne [Page 6] Internet Draft wu-iptel-locswitch February 7, 2004 location attributes, such as "longitude", "latitude", and "altitude". They can also be civil location attributes, such as country, "A1", "A2", "A3", "A4", "A5", "A6", "PRD", "POD", "STS", "HNO", "HNS", "LMK", "LOC", "FLR", "NAM", and "PC". 5 IANA Considerations This document registers a new URN per RFC 2141 [3], RFC 2648 [4], and RFC 3688 [5]. 5.1 URN Sub-Namespace Registration for urn:ietf:params:xml:ns:cpl:location-switch URI: urn:ietf:params:xml:ns:cpl:location-switch Registrant Contact: Xiaotao Wu Henning Schulzrinne XML: BEGIN Call Processing Language location-switch Namespace

Namespace for Call Processing Language location-switch

urn:ietf:params:xml:ns:cpl:location-switch

RFCXXXX.

END 5.2 Schema registration This specification registers XML Schema for CPL location-switch, and location-relation-switch, as per the guidelines in [5]. URI: please assign. Registrant contact: Wu/Schulzrinne [Page 7] Internet Draft wu-iptel-locswitch February 7, 2004 Xiaotao Wu Henning Schulzrinne XML: The XML can be found in Section A. 6 Examples The script in Figure 3 is a simple script which reject all calls when the script owner is in conference-room. Figure 3: Example Script: Location based call rejection The script in Figure 4 checks the location relation between the script owner and sip:bob@examples.com, when it receives an event notification showing that sip:bob@examples.com is online. If they are at the same floor, the script will call sip:bob@examples.com. Wu/Schulzrinne [Page 8] Internet Draft wu-iptel-locswitch February 7, 2004 Figure 4: Example Script: Location based call A The XMl Schema for CPL location-switch and location-relation-switch This section includes an XML schema describing the XML syntax of CPL location-switch and location-relation-switch. The schema is based on the XML schema for CPL. Wu/Schulzrinne [Page 9] Internet Draft wu-iptel-locswitch February 7, 2004 Valid only if type is geospatial Valid only if type is geospatial Wu/Schulzrinne [Page 10] Internet Draft wu-iptel-locswitch February 7, 2004 Valid only if type is geospatial Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Wu/Schulzrinne [Page 11] Internet Draft wu-iptel-locswitch February 7, 2004 Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Valid only if type is civil Wu/Schulzrinne [Page 12] Internet Draft wu-iptel-locswitch February 7, 2004 Valid only if type is civil Valid only if geospatial or civil location presented Valid only if distance presented Valid only if distance presented Wu/Schulzrinne [Page 13] Internet Draft wu-iptel-locswitch February 7, 2004 Valid only if geospatial or civil location presented Wu/Schulzrinne [Page 14] Internet Draft wu-iptel-locswitch February 7, 2004 Valid only if geospatial or civil location presented Valid only if distance presented Valid only if distance presented Wu/Schulzrinne [Page 15] Internet Draft wu-iptel-locswitch February 7, 2004 Valid only if geospatial or civil location presented B Authors' Addresses Xiaotao Wu Dept. of Computer Science Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027 USA Wu/Schulzrinne [Page 16] Internet Draft wu-iptel-locswitch February 7, 2004 electronic mail: xiaotaow@cs.columbia.edu Henning Schulzrinne Dept. of Computer Science Columbia University 1214 Amsterdam Avenue, MC 0401 New York, NY 10027 USA electronic mail: schulzrinne@cs.columbia.edu C Normative References [1] J. Lennox, X. Wu, and H. Schulzrinne, "CPL: a language for user control of Internet telephony services," internet draft, Internet Engineering Task Force, Aug. 2003. Work in progress. [2] S. Bradner, "Key words for use in RFCs to indicate requirement levels," RFC 2119, Internet Engineering Task Force, Mar. 1997. [3] R. Moats, "URN syntax," RFC 2141, Internet Engineering Task Force, May 1997. [4] R. Moats, "A URN namespace for IETF documents," RFC 2648, Internet Engineering Task Force, Aug. 1999. [5] M. Mealling, "The ietf xml registry," RFC 3688, Internet Engineering Task Force, Jan. 2004. D Informative References [6] H. Sugano, S. Fujimoto, et al., "Presence information data format (PIDF)," internet draft, Internet Engineering Task Force, May 2003. Work in progress. [7] H. Schulzrinne, "RPID -- rich presence information data format," internet draft, Internet Engineering Task Force, July 2003. Work in progress. [8] J. Peterson, "A presence-based GEOPRIV location object format," Internet Draft draft-ietf-geopriv-pidf-lo-00, Internet Engineering Task Force, Jan. 2004. Work in progress. Intellectual Property Statement The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in Wu/Schulzrinne [Page 17] Internet Draft wu-iptel-locswitch February 7, 2004 this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication 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 implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. Full Copyright Statement Copyright (c) The Internet Society (2004). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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. Wu/Schulzrinne [Page 18]