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 <xiaotaow@cs.columbia.edu>
             Henning Schulzrinne <hgs@cs.columbia.edu>

        XML:

              BEGIN
              <?xml version="1.0"?>
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
                  "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml">
              <head>
                <meta http-equiv="content-type"
                   content="text/html;charset=iso-8859-1"/>
                <title>Call Processing Language location-switch Namespace
                      </title>
              </head>
              <body>
                <h1>Namespace for Call Processing Language location-switch</h1>
                <h2>urn:ietf:params:xml:ns:cpl:location-switch</h2>
                <p><a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
              </body>
              </html>
              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 <xiaotaow@cs.columbia.edu>
             Henning Schulzrinne <hgs@cs.columbia.edu>

        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.


   <?xml version="1.0" encoding="UTF-8"?>
   <cpl xmlns="urn:ietf:params:xml:ns:cpl"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:ietf:params:xml:ns:cpl cpl.xsd
       urn:ietf:params:xml:ns:cpl:location-switch location-switch.xsd">
     <incoming>
       <location-switch type="civil">
         <location LOC="conference-room">
           <reject status="busy"/>
         </location>
       </location-switch>
     </incoming>
   </cpl>


   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



   <?xml version="1.0" encoding="UTF-8"?>
   <cpl xmlns:="urn:ietf:params:xml:ns:cpl:location-switch"
     xmlns:CPL="urn:ietf:params:xml:ns:cpl"
     xmlns:EVENT="urn:ietf:params:xml:ns:cpl:event"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="urn:ietf:params:xml:ns:cpl cpl.xsd
       urn:ietf:params:xml:ns:cpl:event event.xsd
       urn:ietf:params:xml:ns:cpl:location-switch locswitch.xsd">
     <EVENT:notification>
       <CPL:address-switch>
         <CPL:address is="sip:bob@examples.com">
           <EVENT:event-switch>
             <EVENT:event is="open">
               <location-relation-switch uri1="sip:bob@examples.com">
                 <location-relation distance="10" same="FLR">
                   <CPL:location url="sip:bob@examples.com">
                     <call/>
                   </CPL:location>
                 </location-relation>
               </location-relation-switch>
             </EVENT:event>
           </EVENT:event-switch>
         </CPL:address>
       </CPL:address-switch>
     </EVENT:notification>
   </cpl>


   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



   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema targetNamespace="urn:ietf:params:xml:ns:cpl:location-switch"
     xmlns="urn:ietf:params:xml:ns:cpl:location-switch"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:CPL="urn:ietf:params:xml:ns:cpl"
     elementFormDefault="qualified"
     attributeFormDefault="unqualified">
     <xs:import namespace="urn:ietf:params:xml:ns:cpl"
         schemaLocation="cpl.xsd"/>
     <xs:complexType name="LocationSwitchType">
       <xs:sequence>
         <xs:element name="location" type="LocationType" minOccurs="0"
             maxOccurs="unbounded"/>
         <xs:sequence minOccurs="0">
           <xs:element name="not-present" type="CPL:NotPresentAction"/>
           <xs:element name="location" type="LocationType" minOccurs="0"
               maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:element name="otherwise" type="CPL:OtherwiseAction"
             minOccurs="0"/>
       </xs:sequence>
       <xs:attribute name="type" use="required">
         <xs:simpleType>
           <xs:restriction base="xs:string">
             <xs:enumeration value="geospatial"/>
             <xs:enumeration value="civil"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="uri" type="xs:anyURI"/>
     </xs:complexType>
     <xs:element name="location-switch" type="LocationSwitchType"
         substitutionGroup="CPL:switch"/>
     <xs:complexType name="LocationType">
       <xs:group ref="CPL:Node"/>
       <xs:attribute name="longitude" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               geospatial</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="latitude" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               geospatial</xs:documentation>
         </xs:annotation>



Wu/Schulzrinne                                               [Page 10]


Internet Draft             wu-iptel-locswitch           February 7, 2004


       </xs:attribute>
       <xs:attribute name="altitude" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               geospatial</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="A1" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="A2" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="A3" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="A4" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="A5" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="A6" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="PRD" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>



Wu/Schulzrinne                                               [Page 11]


Internet Draft             wu-iptel-locswitch           February 7, 2004


       </xs:attribute>
       <xs:attribute name="POD" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="STS" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="HNO" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="HNS" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="LMK" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="LOC" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="FLR" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="NAM" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>



Wu/Schulzrinne                                               [Page 12]


Internet Draft             wu-iptel-locswitch           February 7, 2004


       </xs:attribute>
       <xs:attribute name="PC" type="xs:string">
         <xs:annotation>
           <xs:documentation>Valid only if type is
               civil</xs:documentation>
         </xs:annotation>
       </xs:attribute>
       <xs:attribute name="distance">
         <xs:annotation>
           <xs:documentation>Valid only if geospatial or civil location
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:decimal">
             <xs:minInclusive value="0"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="condition" default="at">
         <xs:annotation>
           <xs:documentation>Valid only if distance
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:string">
             <xs:enumeration value="in"/>
             <xs:enumeration value="out"/>
             <xs:enumeration value="at"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="unit" default="m">
         <xs:annotation>
           <xs:documentation>Valid only if distance
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:string">
             <xs:enumeration value="m"/>
             <xs:enumeration value="km"/>
             <xs:enumeration value="mi"/>
             <xs:enumeration value="in"/>
             <xs:enumeration value="ft"/>
             <xs:enumeration value="yd"/>
             <xs:enumeration value="naut mi"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>



Wu/Schulzrinne                                               [Page 13]


Internet Draft             wu-iptel-locswitch           February 7, 2004


       <xs:attribute name="direction">
         <xs:annotation>
           <xs:documentation>Valid only if geospatial or civil location
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:string">
             <xs:enumeration value="south"/>
             <xs:enumeration value="north"/>
             <xs:enumeration value="east"/>
             <xs:enumeration value="west"/>
             <xs:enumeration value="above"/>
             <xs:enumeration value="below"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:anyAttribute namespace="##other" processContents="lax"/>
     </xs:complexType>
     <xs:complexType name="LocationRelationSwitchType">
       <xs:sequence>
         <xs:element name="location-relation"
             type="LocationRelationType" minOccurs="0"
             maxOccurs="unbounded"/>
         <xs:sequence minOccurs="0">
           <xs:element name="not-present" type="CPL:NotPresentAction"/>
           <xs:element name="location-relation"
               type="LocationRelationType" minOccurs="0"
               maxOccurs="unbounded"/>
         </xs:sequence>
         <xs:element name="otherwise" type="CPL:OtherwiseAction"
             minOccurs="0"/>
       </xs:sequence>
       <xs:attribute name="uri1" type="xs:anyURI" use="required"/>
       <xs:attribute name="uri2" type="xs:anyURI"/>
     </xs:complexType>
     <xs:element name="location-relation-switch"
         type="LocationRelationSwitchType"
         substitutionGroup="CPL:switch"/>
     <xs:simpleType name="LocationAttributes">
       <xs:restriction base="xs:string">
         <xs:enumeration value="latitude"/>
         <xs:enumeration value="longitude"/>
         <xs:enumeration value="altitude"/>
         <xs:enumeration value="country"/>
         <xs:enumeration value="A1"/>
         <xs:enumeration value="A2"/>
         <xs:enumeration value="A3"/>
         <xs:enumeration value="A4"/>



Wu/Schulzrinne                                               [Page 14]


Internet Draft             wu-iptel-locswitch           February 7, 2004


         <xs:enumeration value="A5"/>
         <xs:enumeration value="A6"/>
         <xs:enumeration value="PRD"/>
         <xs:enumeration value="POD"/>
         <xs:enumeration value="STS"/>
         <xs:enumeration value="HNO"/>
         <xs:enumeration value="HNS"/>
         <xs:enumeration value="LMK"/>
         <xs:enumeration value="LOC"/>
         <xs:enumeration value="FLR"/>
         <xs:enumeration value="NAM"/>
         <xs:enumeration value="PC"/>
       </xs:restriction>
     </xs:simpleType>
     <xs:complexType name="LocationRelationType">
       <xs:group ref="CPL:Node"/>
       <xs:attribute name="distance">
         <xs:annotation>
           <xs:documentation>Valid only if geospatial or civil location
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:decimal">
             <xs:minInclusive value="0"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="condition" default="at">
         <xs:annotation>
           <xs:documentation>Valid only if distance
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:string">
             <xs:enumeration value="in"/>
             <xs:enumeration value="out"/>
             <xs:enumeration value="at"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="unit" default="m">
         <xs:annotation>
           <xs:documentation>Valid only if distance
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:string">
             <xs:enumeration value="m"/>



Wu/Schulzrinne                                               [Page 15]


Internet Draft             wu-iptel-locswitch           February 7, 2004


             <xs:enumeration value="km"/>
             <xs:enumeration value="mi"/>
             <xs:enumeration value="in"/>
             <xs:enumeration value="ft"/>
             <xs:enumeration value="yd"/>
             <xs:enumeration value="naut mi"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="direction">
         <xs:annotation>
           <xs:documentation>Valid only if geospatial or civil location
               presented</xs:documentation>
         </xs:annotation>
         <xs:simpleType>
           <xs:restriction base="xs:string">
             <xs:enumeration value="south"/>
             <xs:enumeration value="north"/>
             <xs:enumeration value="east"/>
             <xs:enumeration value="west"/>
             <xs:enumeration value="above"/>
             <xs:enumeration value="below"/>
           </xs:restriction>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="same">
         <xs:simpleType>
           <xs:list itemType="LocationAttributes"/>
         </xs:simpleType>
       </xs:attribute>
       <xs:attribute name="difference">
         <xs:simpleType>
           <xs:list itemType="LocationAttributes"/>
         </xs:simpleType>
       </xs:attribute>
       <xs:anyAttribute namespace="##other" processContents="lax"/>
     </xs:complexType>
   </xs:schema>


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]