One document matched: draft-mahy-geopriv-sip-loc-pkg-01.txt

Differences from draft-mahy-geopriv-sip-loc-pkg-00.txt




WG                                                               R. Mahy
Internet-Draft                                              SIP Edge LLC
Expires: January 16, 2006                                  July 15, 2005


  A Location Event Package using the Session Initiation Protocol (SIP)
                 draft-mahy-geopriv-sip-loc-pkg-01.txt

Status of this Memo

   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 becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   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 January 16, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2005).

Abstract

   This document describes a Session Initiation Protocol (SIP) event
   package to carry location data about named SIP resources.  Inherent
   in this event package are filters which limit notifications to
   compelling events which are described by the filters.  The resulting
   location information is conveyed in existing location formats wrapped
   in GEOPRIV privacy extensions to the Presence Information Document
   Format (PIDF-LO).  Location disclosure is limited to voluntary
   disclosure by a notifier that possesses credentials for the named
   resource.



Mahy                    Expires January 16, 2006                [Page 1]

Internet-Draft           Location Event Package                July 2005


Table of Contents

   1.   Conventions  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.   Overview . . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.   Definition of Location Filter Format . . . . . . . . . . . .   3
     3.1  XML Schema for filter format . . . . . . . . . . . . . . .  11
   4.   Containment schema . . . . . . . . . . . . . . . . . . . . .  11
   5.   Event Package Formal Definition  . . . . . . . . . . . . . .  13
     5.1  Event Package Name . . . . . . . . . . . . . . . . . . . .  13
     5.2  Event Package Parameters . . . . . . . . . . . . . . . . .  14
     5.3  SUBSCRIBE Bodies . . . . . . . . . . . . . . . . . . . . .  14
     5.4  Subscription Duration  . . . . . . . . . . . . . . . . . .  14
     5.5  NOTIFY Bodies  . . . . . . . . . . . . . . . . . . . . . .  14
     5.6  Subscriber generation of SUBSCRIBE requests  . . . . . . .  14
     5.7  Notifier processing of SUBSCRIBE requests  . . . . . . . .  15
     5.8  Notifier generation of NOTIFY requests . . . . . . . . . .  15
     5.9  Subscriber processing of NOTIFY requests . . . . . . . . .  15
     5.10   Handling of Forked Requests  . . . . . . . . . . . . . .  15
     5.11   Rate of notifications  . . . . . . . . . . . . . . . . .  16
     5.12   State Agents and Lists . . . . . . . . . . . . . . . . .  16
     5.13   Behavior of a Proxy Server . . . . . . . . . . . . . . .  16
   6.   Examples of Usage  . . . . . . . . . . . . . . . . . . . . .  16
   7.   Security Considerations  . . . . . . . . . . . . . . . . . .  17
   8.   IANA Considerations  . . . . . . . . . . . . . . . . . . . .  17
     8.1  SIP Event Package Registration for 'location'  . . . . . .  17
     8.2  MIME Registration for
          application/location-delta-filter+xml  . . . . . . . . . .  18
     8.3  URN Sub-Namespace Registration for
          urn:ietf:params:xml:ns:location-filter . . . . . . . . . .  18
     8.4  Schema Registration For location-filter  . . . . . . . . .  19
     8.5  URN Sub-Namespace Registration for
          urn:ietf:params:xml:ns:pidf:geopriv10:containment  . . . .  19
     8.6  Schema Registration For containment  . . . . . . . . . . .  20
   9.   Acknowledgments  . . . . . . . . . . . . . . . . . . . . . .  20
   10.  References . . . . . . . . . . . . . . . . . . . . . . . . .  20
     10.1   Normative References . . . . . . . . . . . . . . . . . .  20
     10.2   Informational References . . . . . . . . . . . . . . . .  21
        Author's Address . . . . . . . . . . . . . . . . . . . . . .  22
        Intellectual Property and Copyright Statements . . . . . . .  23












Mahy                    Expires January 16, 2006                [Page 2]

Internet-Draft           Location Event Package                July 2005


1.  Conventions

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119 [4].

2.  Overview

   Conveying PIDF-LO [3] bodies in most SIP [1] messages is
   straightforward protocol usage defined in [15].  In addition, a SIP
   event [2] package for location is an obvious usage of existing SIP
   capabilities.  However the difficult part about asynchronous
   notification of location information is that many forms of location
   are measured as a continous gradient.  Unlike notications using
   discreet quanties, it is difficult to know when a change in location
   is large enough to warrant notifications.  Moreover, different
   applications require a wide variety of location resolutions.  Any
   optimization made for one application would ultimately result in
   wasteful polling or a sluggish user interface for other applications.

   The mechanism described here defines filters in XML [5] documents
   which limit location notification to events which are of relevance to
   the subscriber.  These filters are provided in the body of SIP
   subscription requests and persist for the duration of the
   subscription or until they are changed in an updated SIP subscription
   request with a replacement filter.

   In addition to the relevant filters, this document also defines a new
   XML schema [6] which can be included in PIDF-LO documents to indicate
   that the resource is inside or outside of a container region.

3.  Definition of Location Filter Format

   The granularity of notifications necessary for various geographic
   location applications varies dramatically.  The subscriber should be
   able to get asynchronous notifications with appropriate granularity
   and accuracy, without having to poll or flood the network with
   notifications which are not important to the application.
   Notifications should only happen when the notification would be
   considered an Interesting Event to the subscriber.  Subscriptions to
   this event package contain a filter document in the XML document
   format defined in this section.  The terminal elements in this format
   are defined in terms of existing Geographic Markup Language (GML)
   [10] data types.
      The notifications are in PIDF-LO (by default) or any other format
      acceptable to both the subscriber and notifier.  The selection of
      a subset of GML or specific location format capabilities contained
      in a PIDF-LO body is a generic issue for the GEOPRIV Working Group



Mahy                    Expires January 16, 2006                [Page 3]

Internet-Draft           Location Event Package                July 2005


      to define, and is out of the scope of this document.

   This document defines the following as an initial list of Interesting
   Events:
   1.  the resource moves more than a specific distance horizontally or
       vertically since the last notification
   2.  the resource exceeds a specific speed
   3.  the resource enters or exits one or more GML objects (for
       example, a set of 2-dimensional or 3-dimensional regions)
       included or referenced in the filter.
   4.  one or more of the values of the specified address labels has
       changed for the resource (for example, the A1 value of the
       civilAddress has changed from California to Nevada)
   This specification makes use of XML namespaces [7] for identifying
   location filter documents and document fragments.  The namespace URI
   for elements defined by this specification is a URN [11], using the
   namespace identifier 'ietf' defined by [12] and extended by [13].
   This URN is:

   urn:ietf:params:xml:ns:location-filter

   The filter format starts with a top-level XML element called
   "<location-filter>", which contains one or more filter events.  The
   semantics of multiple elements inside a location-filter is a logical
   OR.  In other words, if any of the individual filter events occurs,
   the event satisfies the location-filter and triggers a notification.

   The movedHoriz and movedVert filter events each indicate a minimum
   horizontal motion or vertical distance (respectively) that the
   resource must have moved from the location of the resource when the
   last notification was sent in order to trigger this event.  The
   distance is measured absolutely from the point of last notification
   rather than in terms of cumulative motion (For example, someone
   pacing inside a room will not trigger an event if the trigger
   threshold is slightly larger than the room.)  Each of these events
   can only appear once in a location-filter.  These events have an
   attribute "uom" (for "units of measure"), which indicates the units
   of the element.  The default unit for these events is meters.

   Similarly, the speedExceeds filter event indicates a minimum
   horizontal speed of the resource before the speedExceeds event is
   triggered.  This element can appear only once in a location-filter,
   and has a "uom" attribute which defaults to meters per second if not
   present.
      This filter measures the horizontal component of speed in any
      direction.  It does not measure velocity.  Note also that there is
      no corresponding event triggered when speed drops below a
      threshold.



Mahy                    Expires January 16, 2006                [Page 4]

Internet-Draft           Location Event Package                July 2005


   Below are some examples.  In the first example if the resource moves
   20m in the x,y direction or 3m in the z direction, send a
   notification:

   <location-filter>
     <movedHoriz uom="#meters">20</movedHoriz>
     <movedVert uom="#meters">3</movedVert>
   </location-filter>

   If the resource exceeds 3 meters per second (10.8 km/h), send a
   notification:

   <location-filter>
     <speedExceeds uom="#mps">3</speedExceeds>
   </location-filter>

   The valueChanges filter event contains a string which is interpreted
   as an XPath [8] expression evaluated within the context of the
   location-info element of the PIDF-LO document which would be
   generated by the notification.  The XPath expression MUST evaluate to
   only a single Xpath node.  If the value of any of the elements in the
   resulting node changes, then the filter event is triggered.  Note
   that the value of the resulting node changes if any of those nodes or
   subnodes transitions from having a value to having no value or vice
   versa.  A location-filter may contain multiple valueChanges filters.

   For example, given the following logical PIDF-LO document, If the
   state (A1), county (A2), city (A3), or postal code (PC) changes, send
   a notification:






















Mahy                    Expires January 16, 2006                [Page 5]

Internet-Draft           Location Event Package                July 2005


   PIDF-LO Location Document:
       <?xml version="1.0" encoding="UTF-8"?>
       <presence xmlns="urn:ietf:params:xml:ns:pidf"
          xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
          xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civilLoc"
          entity="pres:geotarget@example.com">
        <tuple id="sg89ae">
         <status>
          <gp:geopriv>
            <gp:location-info>
              <cl:civilAddress>
                <cl:country>US</cl:country>
                <cl:A1>New York</cl:A1>
                <cl:A3>New York</cl:A3>
                <cl:A6>Broadway</cl:A6>
                <cl:HNO>123</cl:HNO>
                <cl:LOC>Suite 75</cl:LOC>
                <cl:PC>10027</cl:PC>
              </cl:civilAddress>
            </gp:location-info>
            <gp:usage-rules>
              <gp:retransmission-allowed>yes</gp:retransmission-allowed>
              <gp:retention-expiry>2003-06-23T04:57:29Z
              </gp:retention-expiry>
            </gp:usage-rules>
          </gp:geopriv>
         </status>
         <timestamp>2003-06-22T20:57:29Z</timestamp>
        </tuple>
       </presence>

   Filter Document:
     <location-filter
       xmlns="urn:ietf:params:xml:ns:location-filter"
       xmlns:cl="urn:ietf:params:xml:ns:pidf:geopriv10:civilLoc">
       <valueChanges>cl:civilAddress/cl:A1</valueChanges>
       <valueChanges>cl:civilAddress/cl:A2</valueChanges>
       <valueChanges>cl:civilAddress/cl:A3</valueChanges>
       <valueChanges>cl:civilAddress/cl:PC</valueChanges>
     </location-filter>

   Finally, the "enterOrExit" filter event is triggered when the
   resource enters or exits a named 2-dimensional or 3-dimensional
   region or list of regions corresponding to a GML feature.  These
   regions can be defined using inline snippets of GML, or externally
   referenced using a URI (Uniform Resource Identifier).  Notifiers
   which support this document MUST be able to support 2-dimensional
   regions and lists of regions, for which the regions can be defined in



Mahy                    Expires January 16, 2006                [Page 6]

Internet-Draft           Location Event Package                July 2005


   terms of the GML extentOf a Polygon defined using an exterior
   LinearRing object.  These Polygons are defined using the hierarcy in
   the figure below.

   Hierarchy for 2-D           Hierarchy for 3-D
   Objects                     Objects

       extentOf                 Solid
         Polygon                  exterior
           exterior                 Surface
             LinearRing               patches
               posList                  Polygon
                                        ...
                                        Polygon

   Similarly, Notifiers MUST be able to support 3-dimensional regions
   which can be defined as a fixed height vertical projection of such a
   2-dimensional Polygon, and lists thereof.  Specifically, these are
   GML Solids defined in terms of an exterior Surface of polygonal
   patches, such that all included Polygons are either parallel
   (horizontal) or perpedicular (vertical) to the geoid.

   The posList for any 2-dimensional region MUST be defined using the
   EPSG 4326 coordinate reference system.  The posList for any
   3-dimensional region MUST be defined using the EPSG 4979 coordinate
   reference system.  A location-filter can contain more than one
   enterOrExit filter event.
      Notifiers MAY support other more complex geometries or additional
      coordinate reference systems.  How the Subscriber negotiates
      support for more complex geometries or reference systems is out of
      the scope of this document.
      Likewise, this document does not describe how a subscriber
      discovers the existence of externally referenced features.  This
      topic is out of scope of this document.

   In most cases Subscribers that use location filters based on
   enterOrExit events are especially interested in the resource's
   relationship to those named features.  Consequently, the notifier
   MUST include either a "containment" element for each feature
   mentioned in the location-filter which has changed its containment
   properties with respect to the resource since the last notification.
   These elements are defined in Section 4.  The notifier MAY include
   any other form of location that is relevant.

   For example, if the resource enters or exits Building 10 (which is
   defined by specific 2-D or 3-D rectangular coordinates), send a
   notification:




Mahy                    Expires January 16, 2006                [Page 7]

Internet-Draft           Location Event Package                July 2005


   Version in 2-Dimensions:
   <location-filter>
     <enterOrExit>
       <my:Building>
         <gml:name>Building 10</gml:name>
         <gml:extentOf>
           <gml:Polygon>
             <gml:exterior>
               <gml:LinearRing>
                 <gml:posList
        srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
                      37.41188 -121.93243 0
                      37.41188 -121.93132 0
                      37.41142 -121.93132 0
                      37.41142 -121.93242 0
                      37.41188 -121.93243 0
                 </gml:posLis>
               </gml:LinearRing>
             </gml:exterior>
           </gml:Polygon>
         </gml:extentOf>
       </my:Building>
     </enterOrExit>
   </location-filter>

   Version in 3-Dimensions:
   <location-filter>
     <enterOrExit>
       <my:Building>
         <gml:name>Building 10</gml:name>
         <gml:Solid>
           <gml:exterior>
             <gml:Surface>
               <gml:patches>
                 <gml:Polygon> <!-- floor -->
                   <gml:exterior>
                     <gml:LinearRing>
                       <gml:posList
        srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
                           37.41188 -121.93243 0
                           37.41188 -121.93132 0
                           37.41142 -121.93132 0
                           37.41142 -121.93242 0
                           37.41188 -121.93243 0
                       </gml:posLis>
                     </gml:LinearRing>
                   </gml:exterior>
                 </gml:Polygon>



Mahy                    Expires January 16, 2006                [Page 8]

Internet-Draft           Location Event Package                July 2005


                 <gml:Polygon> <!-- north wall -->
                   <gml:exterior>
                     <gml:LinearRing>
                       <gml:posList
        srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
                           37.41188 -121.93243 0
                           37.41188 -121.93243 0
                           37.41188 -121.93132 25
                           37.41188 -121.93132 25
                           37.41188 -121.93243 0
                       </gml:posLis>
                     </gml:LinearRing>
                   </gml:exterior>
                 </gml:Polygon>
                 <gml:Polygon> <!-- east wall -->
                   <gml:exterior>
                     <gml:LinearRing>
                       <gml:posList
        srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
                           37.41188 -121.93132 0
                           37.41188 -121.93132 25
                           37.41142 -121.93132 25
                           37.41142 -121.93132 0
                           37.41188 -121.93132 0
                       </gml:posLis>
                     </gml:LinearRing>
                   </gml:exterior>
                 </gml:Polygon>
                 <gml:Polygon> <!-- south wall -->
                   <gml:exterior>
                     <gml:LinearRing>
                       <gml:posList
        srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
                           37.41142 -121.93132 0
                           37.41142 -121.93132 25
                           37.41142 -121.93242 25
                           37.41142 -121.93242 0
                           37.41142 -121.93132 0
                       </gml:posLis>
                     </gml:LinearRing>
                   </gml:exterior>
                 </gml:Polygon>
                 <gml:Polygon> <!-- west wall -->
                   <gml:exterior>
                     <gml:LinearRing>
                       <gml:posList
        srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
                           37.41142 -121.93243 0



Mahy                    Expires January 16, 2006                [Page 9]

Internet-Draft           Location Event Package                July 2005


                           37.41142 -121.93243 25
                           37.41188 -121.93243 25
                           37.41188 -121.93243 0
                           37.41142 -121.93243 0
                       </gml:posLis>
                     </gml:LinearRing>
                   </gml:exterior>
                 </gml:Polygon>
                 <gml:Polygon> <!-- roof -->
                   <gml:exterior>
                     <gml:LinearRing>
                       <gml:posList
        srsName="http://www.opengis.net/gml/srs/epsg.xml/#4979">
                           37.41188 -121.93243 25
                           37.41188 -121.93132 25
                           37.41142 -121.93132 25
                           37.41142 -121.93242 25
                           37.41188 -121.93243 25
                       </gml:posLis>
                     </gml:LinearRing>
                   </gml:exterior>
                 </gml:Polygon>
               </gml:patches>
             </gml:Surface>
           </gml:exterior>
         </gml:Solid>
       </my:Building>
     </enterOrExit>
   </location-filter>

   If the resource enters or exits either the parking garage or any of
   the conference rooms (both of which are externally defined), send a
   notification:

   <location-filter>
     <enterOrExit>
       <my:ParkingGarage
   xlink:href="http://server.example.com/loc-defs/bldg-mgr/parking"/>
     </enterOrExit>
     <enterOrExit>
       <my:ConferenceRooms
   xlink:href="http://server.example.com/loc-defs/userdef/confrooms"/>
     </enterOrExit>
   </location-filter>







Mahy                    Expires January 16, 2006               [Page 10]

Internet-Draft           Location Event Package                July 2005


3.1  XML Schema for filter format

   The XML Schema for this format is defined below.

   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema
     targetNamespace="urn:ietf:params:xml:ns:location-filter"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns:gml="http://www.opengis.net/gml">

     <xs:element name="location-filter">
       <xs:complexType>
         <xs:sequence>
           <xs:element name="movedHoriz" type="gml:MeasureType"
                          minOccurs="0" maxOccurs="1"/>
           <xs:element name="movedVert" type="gml:MeasureType"
                          minOccurs="0" maxOccurs="1"/>
           <xs:element name="speedExceeds" type="gml:MeasureType"
                          minOccurs="0" maxOccurs="1"/>

           <!-- this type needs to hold an XPath statement -->
           <xs:element name="valueChanges" type="xs:string"
                          minOccurs="0" maxOccurs="unbounded"/>

           <xs:element name="enterOrExit" type="gml:FeaturePropertyType"
                          minOccurs="0" maxOccurs="unbounded"/>

           <!-- Do we want to incldue this to allow new filters? -->
           <xs:any namespace="##other" processContents="lax"
              minOccurs="0"  maxOccurs="unbounded"/>
         </xs:sequence>
       </xs:complexType>
     </xs:element>
   </xs:schema>





4.  Containment schema

   This section describes the schema for describing the resource's
   location relative to a region or list of regions which might contain
   the resource.  (These regions can be defined dynamically in an
   "enterOrExit" element in a subscription filter, or defined on the
   notifier using some out-of-band mechanism.)  The "pidfResource"
   element is placed inside the location-info element in a PIDF-LO
   document.  The pidfResource element can contain zero or more



Mahy                    Expires January 16, 2006               [Page 11]

Internet-Draft           Location Event Package                July 2005


   "containment" elements.  Each containment element has a GML Feature
   sub-element (of type "FeaturePropertyType") and a mandatory attribute
   which specifies if the PIDF resource is inside or outside of the
   feature, or if the position of the resource with respect to the
   region or region list is undefined.  If the subscriber is not
   authorized to know the relative position, the notifier MUST NOT
   reveal this private information.  The RECOMMENDED way to prevent the
   subscriber from seeing private location data of this type is to
   return a containment element whose position attribute is "undefined".


   <?xml version="1.0" encoding="UTF-8"?>
   <xs:schema
   targetNamespace="urn:ietf:params:xml:ns:pidf:geopriv10:containment"
       xmlns:xs="http://www.w3.org/2001/XMLSchema"
       xmlns:gml="http://www.opengis.net/gml"
   xmlns:pr="urn:ietf:params:xml:ns:pidf:geopriv10:containment" >
     <xs:element name="pidfResource">
       <xs:complexType>
           <xs:sequence>
               <xs:element ref="pr:containment"
                minOccurs="0" maxOccurs="unbounded"/>
           </xs:sequence>
       </xs:complexType>
     </xs:element>
     <xs:element name="containment">
       <xs:complexType>
           <xs:sequence>
             <xs:any namespace="http://www.opengis.net/gml"
                   minOccurs="1" maxOccurs="1"/>
           </xs:sequence>
         <xs:attribute name="position" use="required">
            <xs:simpleType>
           <xs:restriction base="xs:string">
               <xs:enumeration value="inside"></xs:enumeration>
               <xs:enumeration value="outside"></xs:enumeration>
               <xs:enumeration value="undefined"></xs:enumeration>
             </xs:restriction>
           </xs:simpleType>
         </xs:attribute>
       </xs:complexType>
     </xs:element>
   </xs:schema>

   Below is an example PIDF-LO document which indicates that the
   resource is inside building 10, not outside the parking garage, and
   not permitted to know if the resource is in a conference room.  Note
   that in GML, these features could be referenced by their unique



Mahy                    Expires January 16, 2006               [Page 12]

Internet-Draft           Location Event Package                July 2005


   identifiers instead.

   <?xml version="1.0" encoding="UTF-8"?>
     <presence xmlns="urn:ietf:params:xml:ns:pidf"
        xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10"
        xmlns:pr="urn:ietf:params:xml:ns:pidf:geopriv10:containment"
        entity="pres:geotarget@example.com">
      <tuple id="sg89ae">
       <status>
        <gp:geopriv>
          <gp:location-info>
            <pr:pidfResource>
              <pr:containment position="inside">
               <my:Building>
                  <gml:name>Building 10</gml:name>
                </my:Building>
              </pr:containment>
              <pr:containment position="outside">
                <my:ParkingGarage
   xlink:href="http://server.example.com/loc-defs/bldg-mgr/parking"/>
              </pr:containment>
              <pr:containment position="undefined">
                <my:ConferenceRooms
   xlink:href="http://server.example.com/loc-defs/userdef/confrooms"/>
              </pr:containment>
            </pr:pidfResource>
          </gp:location-info>
          <gp:usage-rules>
            <gp:retransmission-allowed>yes</gp:retransmission-allowed>
            <gp:retention-expiry>2003-06-23T04:57:29Z
            </gp:retention-expiry>
           </gp:usage-rules>
        </gp:geopriv>
       </status>
       <timestamp>2003-06-22T20:57:29Z</timestamp>
      </tuple>
     </presence>


5.  Event Package Formal Definition

5.1  Event Package Name

   This document defines a SIP Event Package as defined in RFC 3265 [2].
   The event-package token name for this package is:

       "location"




Mahy                    Expires January 16, 2006               [Page 13]

Internet-Draft           Location Event Package                July 2005


5.2  Event Package Parameters

   This package does not define any event package parameters.

5.3  SUBSCRIBE Bodies

   This package defines a SUBSCRIBE body format in Section 3, which is
   used to filter notifications.  Subscribers MUST include a location
   filter with at least one filter event in every new or updated
   subscription request.  (A filter is not necessary, nor desirable in
   an unsubscription request.)

5.4  Subscription Duration

   Subscriptions to this event package MAY range from minutes to weeks.
   Subscriptions in hours or days are more typical and are RECOMMENDED.
   The default subscription duration for this event package is one hour.

5.5  NOTIFY Bodies

   Both subscribers and notifiers MUST implement PIDF-LO.  Notifiers MAY
   send location information in any format acceptable to the subscriber
   (based on the subscriber inclusion of these formats in an Accept
   header). "application/cpim-pidf+xml"

   A future extension MAY define other NOTIFY bodies.  If no "Accept"
   header is present in the SUBSCRIBE, the body type defined in this
   document MUST be assumed.

5.6  Subscriber generation of SUBSCRIBE requests

   Each new subscribe request establishes a notification filter.
   Subsequent subscriptions keep the same filter unless a new filter is
   provided.  If a new filter is provided in a subscription, it
   completely replaces the previous filter.

   Subscriber User Agents will typically SUBSCRIBE to location
   information for a period of hours or days, and automatically attempt
   to re-SUBSCRIBE well before the subscription is completely expired.
   If re-subscription fails, the Subscriber SHOULD periodically retry
   again until a subscription is successful, taking care to backoff to
   avoid network congestion.  If a subscription has expired, new re-
   subscriptions MUST use a new Call-ID.

   The Subscriber MAY also explicitly fetch the current status at any
   time.  The subscriber SHOULD renew its subscription immediately after
   a reboot, or when the subscriber's network connectivity has just been
   re-established.



Mahy                    Expires January 16, 2006               [Page 14]

Internet-Draft           Location Event Package                July 2005


   The Subscriber MUST be prepared to receive and process a NOTIFY with
   new state immediately after sending a new SUBSCRIBE, a SUBSCRIBE
   renewal, an unsubscribe, or a fetch; or at any time during the
   subscription.

5.7  Notifier processing of SUBSCRIBE requests

   When a Notifier receives SUBSCRIBE messages with the location event-
   type, it SHOULD authenticate the subscription request.  The Notifier
   MAY choose to provide very coarse location information to anonymous
   subscribers (ex: country, postal code, time zone).  If authentication
   is successful, the Notifier SHOULD authorize the subscriber.  In
   addition, the Notifier MAY provide different location granularity or
   obfuscation depending on the identity of the subscriber.  If no
   location-filter is provided, the Notifier SHOULD reject the
   subscription with a 403 Forbidden response.  The Notifier MAY further
   limit the duration of the subscription to an administrator defined
   amount of time as described in SIP Events.

   For new subscriptions, or anytime the location-filter is updated by
   the subscriber, the notifier MUST include appropriate containment
   locations for every feature mentioned in an enterOrExit element in
   the corresponding filter.  If the subscriber is not authorized to
   receive this information, the notifier MUST either include each these
   locations with the value of undefined, or alternatively, send a 403
   Forbidden response to the subscriber.

5.8  Notifier generation of NOTIFY requests

   Immediately after a subscription is accepted, the Notifier MUST send
   a NOTIFY with the current location information as appropriate based
   on the identity of the subscriber.  This allows the Subscriber to
   resynchronize its state.  When the location changes sufficiently to
   trigger any of the filter events in the current location-filter for
   the subscription, the notifier sends a notification with the new
   location information.

5.9  Subscriber processing of NOTIFY requests

   The Subscriber MUST be prepared to receive NOTIFYs from different
   Contacts corresponding to the same SUBSCRIBE.  (The SUBSCRIBE may
   have been forked).

5.10  Handling of Forked Requests

   Forked requests are allowed for this event type and may install
   multiple subscriptions.  Note that different Notifiers MAY provide
   (different) location information for different tuples.  In this case,



Mahy                    Expires January 16, 2006               [Page 15]

Internet-Draft           Location Event Package                July 2005


   multiple instances representing the same presentity have different
   locations.

   In other cases, different Notifiers might provide different location
   for the same tuple.  This presents an administrative problem.
   Certainly it is acceptable for me to express my location as "In San
   Jose, California, USA" and at specific coordinates or a specific
   address.  Conventions for expressing multiple locations or multiple
   location formats are discussed in [9].
      If all of the tuples contain information which is not
      contradictory, then this is not an error.  If multiple notifiers
      provide contradictory information for the same tuple, this is an
      error.  If multiple notifiers provide different tuples, or non-
      contradictory location information for the same tuple, this is not
      an error.

5.11  Rate of notifications

   A Notifier MAY choose to hold NOTIFY requests in "quarantine" for a
   short administrator-defined period (milliseconds or seconds) when the
   location is changing rapidly.  Requests in the quarantine which
   become invalid are replaced by newer notifications, thus reducing the
   total volume of notifications.  This behavior is encouraged for
   implementations with heavy interactive use.

   Notifiers SHOULD NOT generate NOTIFY requests more frequently than
   ten per second, nor more frequently than thirty in a thirty-second
   period of time.

5.12  State Agents and Lists

   This document does not preclude implementations from building state
   agents which support this event package.  Likewise, this document
   does not preclude subscriptions to lists of resources using the event
   list extension [14].

5.13  Behavior of a Proxy Server

   There are no additional requirements on a SIP Proxy, other than to
   transparently forward the SUBSCRIBE and NOTIFY methods as required in
   SIP.

6.  Examples of Usage

   The examples shown below are for informational purposes only.  For a
   normative description of the event package, please see sections 3 and
   5 of this document.




Mahy                    Expires January 16, 2006               [Page 16]

Internet-Draft           Location Event Package                July 2005


   In the example call flow below, the Subscriber subscribes to the
   status of the Notifier's location.  Via headers are omitted for
   clarity.  [TODO:]

7.  Security Considerations

   Location information is typically very privacy sensitive.  At
   minimum, subscriptions to this event package SHOULD be authenticated
   and properly authorized.  Furthermore, GEOPRIV requires that
   notifications MUST be encrypted and integrity protected using either
   end-to-end mechanisms, or the hop-by-hop protection afforded messages
   sent to SIPS URIs.

   Implementations of this event package MUST implement the sips:
   scheme, and MUST implement the security requirements described in
   PIDF-LO [3].  In addition, all SIP implementations are already
   requried to implement Digest authentication.

   Additional privacy and security considerations are discussed in
   detail in [9] and in SIP [1] and SIP Events [2].

8.  IANA Considerations

8.1  SIP Event Package Registration for 'location'

         Package name: location

         Type: package

         Contact: [Mahy]

         Published Specification: This document.



















Mahy                    Expires January 16, 2006               [Page 17]

Internet-Draft           Location Event Package                July 2005


8.2  MIME Registration for application/location-delta-filter+xml

         MIME media type name: application

         MIME subtype name: application/location-delta-filter+xml

         Required parameters: none.

         Optional parameters: none.

         Encoding considerations:   Same as for XML.

         Security considerations: See the "Security Considerations"
           section in this document.

         Interoperability considerations: none

         Published specification: This document.

   Applications which use this media: The application/
   location-delta-filter+xml application subtype supports the exchange
   of filters to throttle asynchronous notifications of location
   information in SIP networks.

         Additional information:

              1. Magic number(s): N/A

              2. File extension(s): N/A

              3. Macintosh file type code: N/A


8.3  URN Sub-Namespace Registration for
     urn:ietf:params:xml:ns:location-filter

   This section registers a new XML namespace, as per the guidelines in
   [13].
   URI: The URI for this namespace is
      urn:ietf:params:xml:ns:location-filter.
   Registrant Contact: IETF, GEOPRIV working group, <geopriv@ietf.org>,
      as delegated by the IESG <iesg@ietf.org>.
   XML:








Mahy                    Expires January 16, 2006               [Page 18]

Internet-Draft           Location Event Package                July 2005


   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>Location Filter Namespace</title>
   </head>
   <body>
     <h1>Namespace for PIDF-LO Location Filters</h1>
     <h2>urn:ietf:params:xml:ns:location-filter</h2>
     <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
   </body>
   </html>
   END


8.4  Schema Registration For location-filter

   This specification registers a schema, as per the guidelines in in
   [13].
      URI: please assign.
      Registrant Contact: IETF, GEOPRIV Working Group
      (geopriv@ietf.org), as delegated by the IESG (iesg@ietf.org).
      XML: The XML can be found as the sole content of Section 3.1.

8.5  URN Sub-Namespace Registration for
     urn:ietf:params:xml:ns:pidf:geopriv10:containment

   This section registers a new XML namespace, as per the guidelines in
   [13].
   URI: The URI for this namespace is
      urn:ietf:params:xml:ns:pidf:geopriv10:containment.
   Registrant Contact: IETF, GEOPRIV working group, <geopriv@ietf.org>,
      as delegated by the IESG <iesg@ietf.org>.
   XML:













Mahy                    Expires January 16, 2006               [Page 19]

Internet-Draft           Location Event Package                July 2005


   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>PIDF-LO Location Containment Namespace</title>
   </head>
   <body>
     <h1>Namespace for PIDF-LO location containment elements</h1>
     <h2>urn:ietf:params:xml:ns:pidf:geopriv10:containment</h2>
     <p>See <a href="[[[URL of published RFC]]]">RFCXXXX</a>.</p>
   </body>
   </html>
   END


8.6  Schema Registration For containment

   This specification registers a schema, as per the guidelines in in
   [13].
      URI: please assign.
      Registrant Contact: IETF, GEOPRIV Working Group
      (geopriv@ietf.org), as delegated by the IESG (iesg@ietf.orgw).
      XML: The XML can be found as the sole content of Section 4.

9.  Acknowledgments

   Thanks to Allan Thompson, James Winterbottom, and Martin Thomson for
   their comments.

10.  References

10.1  Normative References

   [1]   Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
         Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
         Session Initiation Protocol", RFC 3261, June 2002.

   [2]   Roach, A., "Session Initiation Protocol (SIP)-Specific Event
         Notification", RFC 3265, June 2002.

   [3]   Peterson, J., "A Presence-based GEOPRIV Location Object
         Format", draft-ietf-geopriv-pidf-lo-03 (work in progress),
         September 2004.




Mahy                    Expires January 16, 2006               [Page 20]

Internet-Draft           Location Event Package                July 2005


   [4]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
         Levels", BCP 14, RFC 2119, March 1997.

   [5]   Bray, T., Paoli, J., Sperberg-McQueen, C., and E. Maler,
         "Extensible Markup Language (XML) 1.0 (2nd ed)", W3C REC-xml,
         October 2000, <http://www.w3.org/TR/REC-xml>.

   [6]   Thompson, H., Beech, D., Maloney, M., and N. Mendelsohn, "XML
         Schema Part 1: Structures", W3C REC-xmlschema-1, May 2001,
         <http://www.w3.org/TR/xmlschema-1/>.

   [7]   Bray, T., Hollander, D., and A. Layman, "Namespaces in XML",
         W3C REC-xml-names, January 1999,
         <http://www.w3.org/TR/REC-xml-names>.

   [8]   Clark, J. and S. DeRose, "XML Path Language (XPath) Version
         1.0", W3C Recommendation xpath, November 1999,
         <http://www.w3.org/TR/xpath>.

   [9]   Winterbottom, J., "GEOPRIV PIDF-LO Usage Clarification,
         Considerations and Recommendations",
         draft-winterbottom-geopriv-pdif-lo-profile-00 (work in
         progress), February 2005.

   [10]  OpenGIS, "Open Geography Markup Language (GML) Implementation
         Specification", OpenGIS OGC 02-023r4, January 2003,
         <http://www.opengis.org/techno/implementation.htm>.

10.2  Informational References

   [11]  Moats, R., "URN Syntax", RFC 2141, May 1997.

   [12]  Moats, R., "A URN Namespace for IETF Documents", RFC 2648,
         August 1999.

   [13]  Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
         January 2004.

   [14]  Roach, A., Rosenberg, J., and B. Campbell, "A Session
         Initiation Protocol (SIP) Event Notification Extension for
         Resource Lists", draft-ietf-simple-event-list-07 (work in
         progress), January 2005.

   [15]  Polk, J. and B. Rosen, "Session Initiation Protocol Location
         Conveyance", draft-ietf-sip-location-conveyance-00 (work in
         progress), June 2005.





Mahy                    Expires January 16, 2006               [Page 21]

Internet-Draft           Location Event Package                July 2005


Author's Address

   Rohan Mahy
   SIP Edge LLC

   Email: rohan@ekabal.com













































Mahy                    Expires January 16, 2006               [Page 22]

Internet-Draft           Location Event Package                July 2005


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 (2005).  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.




Mahy                    Expires January 16, 2006               [Page 23]


PAFTECH AB 2003-20262026-04-23 11:36:59