< draft-winterbottom-geopriv-held-context-02.txt   draft-winterbottom-geopriv-held-context-03.txt >
Geopriv J. Winterbottom Geopriv J. Winterbottom
Internet-Draft Andrew Corporation Internet-Draft Andrew Corporation
Intended status: Standards Track H. Tschofenig Intended status: Standards Track H. Tschofenig
Expires: August 23, 2008 Nokia Siemens Networks Expires: April 2, 2009 Nokia Siemens Networks
M. Thomson M. Thomson
Andrew Corporation Andrew Corporation
February 20, 2008 September 29, 2008
HELD Protocol Context Management Extensions HELD Protocol Context Management Extensions
draft-winterbottom-geopriv-held-context-02.txt draft-winterbottom-geopriv-held-context-03.txt
Status of this Memo Status of this Memo
By submitting this Internet-Draft, each author represents that any By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware 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 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. aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at page 1, line 37 skipping to change at page 1, line 37
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on August 23, 2008. This Internet-Draft will expire on April 2, 2009.
Copyright Notice
Copyright (C) The IETF Trust (2008).
Abstract Abstract
This document describes a protocol extension for the HTTP Enabled This document describes a protocol extension for the HTTP Enabled
Location Delivery (HELD) protocol. It allows a Target to manage Location Delivery (HELD) protocol. It allows a Target to manage
their location information on a Location Information Server (LIS) their location information on a Location Information Server (LIS)
through the application of constraints invoked by accessing a through the application of constraints invoked by accessing a
location URI. Constraints described in this memo restrict how often location URI. Constraints described in this memo restrict how often
location can be accessed through a location URI, how long the URI is location can be accessed through a location URI, how long the URI is
valid for, and the type of location information returned when a valid for, and the type of location information returned when a
location URI is accessed. Extension points are also provided. location URI is accessed. Extension points are also provided.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. What is a Context? . . . . . . . . . . . . . . . . . . . . . . 5 3. What is a Context? . . . . . . . . . . . . . . . . . . . . . . 5
4. Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.1. Limited Use URIs . . . . . . . . . . . . . . . . . . . . . 6 4.1. Limited Use URIs . . . . . . . . . . . . . . . . . . . . . 6
4.2. Snapshot URIs . . . . . . . . . . . . . . . . . . . . . . 7 4.2. Snapshot URIs . . . . . . . . . . . . . . . . . . . . . . 7
4.3. Location Type URIs . . . . . . . . . . . . . . . . . . . . 7
5. Protocol Details . . . . . . . . . . . . . . . . . . . . . . . 8 5. Protocol Details . . . . . . . . . . . . . . . . . . . . . . . 8
5.1. Create Context Message . . . . . . . . . . . . . . . . . . 8 5.1. Create Context Message . . . . . . . . . . . . . . . . . . 8
5.2. Update Context Message . . . . . . . . . . . . . . . . . . 9 5.2. Update Context Message . . . . . . . . . . . . . . . . . . 9
5.3. Context Response Message . . . . . . . . . . . . . . . . . 10 5.3. Context Response Message . . . . . . . . . . . . . . . . . 10
5.4. Context Errors . . . . . . . . . . . . . . . . . . . . . . 12 5.4. Context Errors . . . . . . . . . . . . . . . . . . . . . . 11
5.5. Location URI and Context Identifier Generation Rules . . . 12 5.5. Location URI and Context Identifier Generation Rules . . . 12
6. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 14 6. XML Schema . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . . 17 7. Security Considerations . . . . . . . . . . . . . . . . . . . 16
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
8.1. URN Sub-Namespace Registration for 8.1. URN Sub-Namespace Registration for
urn:ietf:params:xml:ns:geopriv:held:context . . . . . . . 19 urn:ietf:params:xml:ns:geopriv:held:context . . . . . . . 18
8.2. XML Schema Registration . . . . . . . . . . . . . . . . . 19 8.2. XML Schema Registration . . . . . . . . . . . . . . . . . 18
8.3. New HELD Error Code Registration . . . . . . . . . . . . . 20 8.3. New HELD Error Code Registration . . . . . . . . . . . . . 19
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 21 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 20
Appendix A. Context Extensions . . . . . . . . . . . . . . . . . 22 Appendix A. Context Extensions . . . . . . . . . . . . . . . . . 21
Appendix B. HELD Compliance to IETF Location Configuration Appendix B. HELD Compliance to IETF Location Configuration
Protocol Location Reference Requirements . . . . . . 24 Protocol Location Reference Requirements . . . . . . 23
10. Normative References . . . . . . . . . . . . . . . . . . . . . 26 10. Normative References . . . . . . . . . . . . . . . . . . . . . 25
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 26
Intellectual Property and Copyright Statements . . . . . . . . . . 28 Intellectual Property and Copyright Statements . . . . . . . . . . 27
1. Introduction 1. Introduction
The HTTP Enabled Location Delivery (HELD) protocol specification The HTTP Enabled Location Delivery (HELD) protocol specification
[I-D.ietf-geopriv-http-location-delivery] provides a set of features [I-D.ietf-geopriv-http-location-delivery] provides a set of features
that can be used by a Target to retrieve location information from a that can be used by a Target to retrieve location information from a
Location Information Server (LIS). The basic HELD specification does Location Information Server (LIS). The basic HELD specification does
this in a more or less stateless manner, and when a location URI is this in a more or less stateless manner, and when a location URI is
retrieved the Target has no way of controlling how the URI is used; a retrieved the Target has no way of controlling how the URI is used; a
Location Recipient in pocession of the location URI can get the Location Recipient in pocession of the location URI can get the
skipping to change at page 6, line 17 skipping to change at page 6, line 17
Constraints restrict the ability of a Location Recipient to resolve a Constraints restrict the ability of a Location Recipient to resolve a
location URI to location information. The constraints are selected location URI to location information. The constraints are selected
by the Target and they are provided to the LIS that maintains them by the Target and they are provided to the LIS that maintains them
along with the context. A LIS, understanding this specification, along with the context. A LIS, understanding this specification,
receives constraints provided by the Target, and returns a set of receives constraints provided by the Target, and returns a set of
URIs influenced by the constraints. URIs influenced by the constraints.
A single Target may want to place different contraints on different A single Target may want to place different contraints on different
references and hence may have multiple contexts on the LIS. The references and hence may have multiple contexts on the LIS. The
constraints describe what actions the LIS MUST take when a URI constraints describe what actions the LIS MUST take when a URI
associated with the context is accessed. This document describes associated with the context is accessed. This document describes two
three basic constraints that a Target can use in combination for the basic constraints that a Target can use in combination for the same
same context. Once set, these rules remain in force of the life of context. Once set, these rules remain in force of the life of the
the context. context.
4.1. Limited Use URIs 4.1. Limited Use URIs
A limited use URI can only be accessed a fixed number of times to A limited use URI can only be accessed a fixed number of times to
yield the location of the Target. Each time the URI is used to yield the location of the Target. Each time the URI is used to
provide the location of the Target one usage is consumed. Once the provide the location of the Target one usage is consumed. Once the
limit is reached the URI no longer yields the location of the Target limit is reached the URI no longer yields the location of the Target
and the URI is deemed spent. and the URI is deemed spent.
By setting the usage limit to 1, the Target is able to create a one- By setting the usage limit to 1, the Target is able to create a one-
skipping to change at page 7, line 14 skipping to change at page 8, line 5
4.2. Snapshot URIs 4.2. Snapshot URIs
A snapshot URI points to the location of the Target at a specific A snapshot URI points to the location of the Target at a specific
point in time, and no matter how many times the URI is accessed it point in time, and no matter how many times the URI is accessed it
will always yield the same location. This is useful if, for example, will always yield the same location. This is useful if, for example,
the Target does not want to be tracked. In this specification the the Target does not want to be tracked. In this specification the
location snapshot to which a snapshot URIs points is captured when location snapshot to which a snapshot URIs points is captured when
the context is created on the LIS. the context is created on the LIS.
4.3. Location Type URIs
A location type URI controls the form of location that can be
accessed; This may be geodetic, civic, or both.
5. Protocol Details 5. Protocol Details
This specification introduces three new HELD messages, create context This specification introduces three new HELD messages, create context
(<createContext>), update context (<updateContext>), and context (<createContext>), update context (<updateContext>), and context
response (<contextResponse>). A LIS that does not understand this response (<contextResponse>). A LIS that does not understand this
specification is expected to return a HELD _unsupportedMessage_ error specification is expected to return a HELD _unsupportedMessage_ error
code in a HELD error message. A LIS that does understand this code in a HELD error message. A LIS that does understand this
specification returns errors associated with context operations in a specification returns errors associated with context operations in a
HELD error message. New error codes relating to failed context HELD error message. New error codes relating to failed context
operations are defined in this specification. operations are defined in this specification.
The specification assumes that the LIS was discovered as part of the The specification assumes that the LIS was discovered as part of the
general HELD LIS discovery process. All messages are sent using the general HELD LIS discovery process. All messages are sent using the
application/held+xml MIME type as defined in application/held+xml MIME type as defined in
[I-D.ietf-geopriv-http-location-delivery]. [I-D.ietf-geopriv-http-location-delivery].
5.1. Create Context Message 5.1. Create Context Message
The Target creates a context on the LIS using a create context The Target creates a context on the LIS using a create context
message. The basic create context message supports the constraints message. The basic create context message supports the constraints
described in Section 4 and consist of three attributes and one described in Section 4 and consist of two attributes and one element
element described below: described below:
o "uses": an optional attribute instructing the LIS on how many o "uses": an optional attribute instructing the LIS on how many
times a URI may yield the location of the Target. This is a times a URI may yield the location of the Target. This is a
positive integer, and has a default value of _unlimited_. The LIS positive integer, and has a default value of _unlimited_. The LIS
SHOULD support the Target specifying up to at least 100 uses. SHOULD support the Target specifying up to at least 100 uses.
o "snapshot": an optional attribute instructing the LIS to take a o "snapshot": an optional attribute instructing the LIS to take a
snapshot of the Target's location for use with the context. This snapshot of the Target's location for use with the context. This
a boolean value and has a default of _false_ meaning that a a boolean value and has a default of _false_ meaning that a
snapshot is not taken, and the Target's location is determined snapshot is not taken, and the Target's location is determined
each time the URI is accessed. each time the URI is accessed.
o "locationType": an optional attribute instructing the LIS on the
form of location that the URI MUST return. This is an enumeration
and may have a value of _geodetic_, _civic_, or _any_. If
unspecified by the Target the LIS will use a value of _any_. If
the Target specifies a location type that the LIS cannot provide,
then the LIS MUST fail the context creation.
o "lifeTime": is a mandatory element that defines the maximum period o "lifeTime": is a mandatory element that defines the maximum period
in seconds that the LIS should keep the context for. The LIS MAY in seconds that the LIS should keep the context for. The LIS MAY
create the context with a shorter life time than was requested, create the context with a shorter life time than was requested,
but the life time MUST NOT be longer than was requested. but the life time MUST NOT be longer than was requested.
<createContext <createContext
xmlns="urn:ietf:params:xml:ns:geopriv:held:context" xmlns="urn:ietf:params:xml:ns:geopriv:held:context"
uses="10" uses="10"
snapshot="false" snapshot="false">
locationType="any">
<lifeTime>7200</lifeTime> <lifeTime>7200</lifeTime>
</createContext> </createContext>
Figure 1: createContext Example Figure 1: createContext Example
Figure 1 shows a create context message defining a context which: Figure 1 shows a create context message defining a context which:
o may be accessed 10 times o may be accessed 10 times
o will determine the location of the Target each time it is accessed o will determine the location of the Target each time it is accessed
o will return the location in either geodetic or civic form
depending on the request to the URI
o will be valid for 2 hours from the time of context creation o will be valid for 2 hours from the time of context creation
5.2. Update Context Message 5.2. Update Context Message
A Target can change the life time of a context using an update A Target can change the life time of a context using an update
context message. As stated in Section 4 the three attributes used in context message. As stated in Section 4 the two attributes used in
the context creation, "uses", "snapshot", and "locationType" cannot the context creation, "uses" and "snapshot" cannot be changed once a
be changed once a context is created. context is created.
Since the Target may have more than one context on the LIS, the Since the Target may have more than one context on the LIS, the
Target needs to identify the context to be updated. It does this by Target needs to identify the context to be updated. It does this by
including a context identifier that is provided to it by the LIS when including a context identifier that is provided to it by the LIS when
the context is created. the context is created.
<updateContext <updateContext
xmlns="urn:ietf:params:xml:ns:geopriv:held:context" xmlns="urn:ietf:params:xml:ns:geopriv:held:context"
id="uhvuhdbnuiehudbnvcujevuijeijcvij3"> id="uhvuhdbnuiehudbnvcujevuijeijcvij3">
<lifeTime>3600</lifeTime> <lifeTime>3600</lifeTime>
skipping to change at page 11, line 10 skipping to change at page 10, line 43
location. The LIS MAY report either the original value, or the location. The LIS MAY report either the original value, or the
number of remaining uses. The LIS MUST report this value for all number of remaining uses. The LIS MUST report this value for all
responses pertaining to a known and valid context. This value MAY responses pertaining to a known and valid context. This value MAY
be ommitted when indicating that a context has been destroyed. be ommitted when indicating that a context has been destroyed.
snapshot: The value of the snapshot attribute in the context. The snapshot: The value of the snapshot attribute in the context. The
LIS MUST report this value for all responses pertaining to a known LIS MUST report this value for all responses pertaining to a known
and valid context. This value MAY be ommitted when indicating and valid context. This value MAY be ommitted when indicating
that a context has been destroyed. that a context has been destroyed.
locationType: The type of location information that can be acquired
through URIs addressing the context. The LIS MUST report this
value for all responses pertaining to a known and valid context.
This value MAY be omitted when indicating that a context has been
destroyed.
expiry: The time at which the context will expire. After this time, expiry: The time at which the context will expire. After this time,
all location URIs that reference this context no longer work. The all location URIs that reference this context no longer work. The
LIS MUST report this value for all responses pertaining to a known LIS MUST report this value for all responses pertaining to a known
context. This attribute MUST be provided even when a "code" value context. This attribute MUST be provided even when a "code" value
of _destroyed_ is included in the context repsonse message. of _destroyed_ is included in the context repsonse message.
In addition to the above attributes, the LIS also provides a set of In addition to the above attributes, the LIS also provides a set of
URIs that can used to access the Target's location with the surety URIs that can used to access the Target's location with the surety
that the context constraints will be applied. A URI set is returned that the context constraints will be applied. A URI set is returned
whenever a context is successfully created on the LIS, and this set whenever a context is successfully created on the LIS, and this set
remains unchanged for the lifetime of the context. A context remains unchanged for the lifetime of the context. A context
response message sent in reply to the create context message in response message sent in reply to the create context message in
Figure 1 might look like Figure 4. Figure 1 might look like Figure 4.
<contextResponse <contextResponse
xmlns="urn:ietf:params:xml:ns:geopriv:held:context" xmlns="urn:ietf:params:xml:ns:geopriv:held:context"
code="created" code="created"
id="uhvuhdbnuiehudbnvcujevuijeijcvij4" id="uhvuhdbnuiehudbnvcujevuijeijcvij4"
uses="10" uses="10"
snapshot="false" snapshot="false"
locationType="any"
expires="2007-11-01T13:30:00"> expires="2007-11-01T13:30:00">
<locationUriSet> <locationUriSet>
<locationURI> <locationURI>
held://lis.example.com:9768/357yc6s64ceyoiuy5ax3o4 held://lis.example.com:9768/357yc6s64ceyoiuy5ax3o4
</locationURI> </locationURI>
<locationURI> <locationURI>
sips:357yc6s64ceyoiuy5ax3o4@lis.example.com:9769 sips:357yc6s64ceyoiuy5ax3o4@lis.example.com:9769
</locationURI> </locationURI>
</locationUriSet> </locationUriSet>
</contextResponse> </contextResponse>
Figure 4: contextResponse Example Figure 4: contextResponse Example
5.4. Context Errors 5.4. Context Errors
When the LIS unable to perform the requested context operation it When the LIS is unable to perform the requested context operation it
need to inform the Target of this. It does this using a held error need to inform the Target of this. It does this using a held error
message. New codes are defined for context operation errors: message. New codes are defined for context operation errors:
o _badContextMessage_: The LIS was unable to understand the content o _badContextMessage_: The LIS was unable to understand the content
of the message. In general this will apply to context messages of the message. In general this will apply to context messages
containing extensions that the LIS does not understand. containing extensions that the LIS does not understand.
o _unknownContext_: The LIS was unable to find the context. o _unknownContext_: The LIS was unable to find the context.
o _updateContextFailed_: The LIS was unable to updated the requested o _updateContextFailed_: The LIS was unable to updated the requested
context. context.
o _createContextFailed_: The LIS was unable to created the requested o _createContextFailed_: The LIS was unable to created the requested
context. context.
A Target implementing this specification MUST accept a any HELD error A Target implementing this specification MUST accept a any HELD error
message as a valid response to a create context or update context message as a valid response to a create context or update context
message as a LIS may not understand context messages. A LIS that message as a LIS may not understand context messages. A LIS that
does understand context messages is expected to return the error does understand context messages is expected to return the error
codes above unde the prescribed circumstances. codes above under the prescribed circumstances.
<error xmlns="urn:ietf:params:xml:ns:geopriv:held" <error xmlns="urn:ietf:params:xml:ns:geopriv:held"
code="createContextFailed" code="createContextFailed"
message="locationType of Civic is not supported"/> message="Snapshot is not supported"/>
Figure 5: Example Error Message Figure 5: Example Error Message
5.5. Location URI and Context Identifier Generation Rules 5.5. Location URI and Context Identifier Generation Rules
A primary aim of this specification is to provide a Target a means to A primary aim of this specification is to provide a Target a means to
cancel a location URI so that it can no longer be used to provide its cancel a location URI so that it can no longer be used to provide its
location. To achieve this, a location URI generated as part of a location. To achieve this, a location URI generated as part of a
context creation needs to be unique with in the scope of the LIS, and context creation needs to be unique with in the scope of the LIS, and
identify only that context. If the Target destroys a context and identify only that context. If the Target destroys a context and
skipping to change at page 14, line 15 skipping to change at page 13, line 15
6. XML Schema 6. XML Schema
<?xml version="1.0"?> <?xml version="1.0"?>
<xs:schema <xs:schema
targetNamespace="urn:ietf:params:xml:ns:geopriv:held:context" targetNamespace="urn:ietf:params:xml:ns:geopriv:held:context"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:heldCx="urn:ietf:params:xml:ns:geopriv:held:context" xmlns:heldCx="urn:ietf:params:xml:ns:geopriv:held:context"
xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xml="http://www.w3.org/XML/1998/namespace"
elementFormDefault="qualified" attributeFormDefault="unqualified"> elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="locationType">
<xs:restriction base="xs:token">
<xs:enumeration value="any"/>
<xs:enumeration value="civic"/>
<xs:enumeration value="geodetic"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="codeType"> <xs:simpleType name="codeType">
<xs:restriction base="xs:token"> <xs:restriction base="xs:token">
<xs:enumeration value="created"/> <xs:enumeration value="created"/>
<xs:enumeration value="updated"/> <xs:enumeration value="updated"/>
<xs:enumeration value="destroyed"/> <xs:enumeration value="destroyed"/>
</xs:restriction> </xs:restriction>
</xs:simpleType> </xs:simpleType>
<xs:simpleType name="useType"> <xs:simpleType name="useType">
<xs:union memberTypes="xs:positiveInteger"> <xs:union memberTypes="xs:positiveInteger">
skipping to change at page 15, line 4 skipping to change at page 13, line 44
<xs:complexContent> <xs:complexContent>
<xs:restriction base="xs:anyType"> <xs:restriction base="xs:anyType">
<xs:sequence> <xs:sequence>
<xs:element name="lifeTime" type="xs:nonNegativeInteger " <xs:element name="lifeTime" type="xs:nonNegativeInteger "
minOccurs="1" maxOccurs="1"/> minOccurs="1" maxOccurs="1"/>
<xs:any namespace="##other" processContents="lax" <xs:any namespace="##other" processContents="lax"
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="uses" type="heldCx:useType" <xs:attribute name="uses" type="heldCx:useType"
use="optional" default="unlimited"/> use="optional" default="unlimited"/>
<xs:attribute name="snapshot" type="xs:boolean" <xs:attribute name="snapshot" type="xs:boolean"
use="optional" default="false"/> use="optional" default="false"/>
<xs:attribute name="locationType" type="heldCx:locationType"
use="optional" default="any"/>
<xs:anyAttribute namespace="##any" processContents="lax"/> <xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction> </xs:restriction>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<xs:complexType name="uriSetType"> <xs:complexType name="uriSetType">
<xs:complexContent> <xs:complexContent>
<xs:restriction base="xs:anyType"> <xs:restriction base="xs:anyType">
<xs:sequence> <xs:sequence>
<xs:element name="locationURI" type="xs:anyURI" <xs:element name="locationURI" type="xs:anyURI"
skipping to change at page 15, line 42 skipping to change at page 14, line 31
minOccurs="0" maxOccurs="unbounded"/> minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence> </xs:sequence>
<xs:attribute name="id" type="xs:token" <xs:attribute name="id" type="xs:token"
use="required"/> use="required"/>
<xs:attribute name="expires" type="xs:dateTime" <xs:attribute name="expires" type="xs:dateTime"
use="required"/> use="required"/>
<xs:attribute name="uses" type="xs:positiveInteger" <xs:attribute name="uses" type="xs:positiveInteger"
use="optional"/> use="optional"/>
<xs:attribute name="snapshot" type="xs:boolean" <xs:attribute name="snapshot" type="xs:boolean"
use="optional"/> use="optional"/>
<xs:attribute name="locationType" type="heldCx:locationType"
use="optional"/>
<xs:attribute name="code" type="heldCx:codeType" <xs:attribute name="code" type="heldCx:codeType"
use="required"/> use="required"/>
<xs:anyAttribute namespace="##any" processContents="lax"/> <xs:anyAttribute namespace="##any" processContents="lax"/>
</xs:restriction> </xs:restriction>
</xs:complexContent> </xs:complexContent>
</xs:complexType> </xs:complexType>
<xs:complexType name="updateContextMsg"> <xs:complexType name="updateContextMsg">
<xs:complexContent> <xs:complexContent>
<xs:restriction base="xs:anyType"> <xs:restriction base="xs:anyType">
skipping to change at page 22, line 26 skipping to change at page 21, line 26
Guidelines for designing context extensions that provide Guidelines for designing context extensions that provide
functionality are described below. functionality are described below.
Two basic types of context data extension are envisioned. The first Two basic types of context data extension are envisioned. The first
consist of data provided by the Target to be consumed by the LIS; for consist of data provided by the Target to be consumed by the LIS; for
example information pertaining to PIDF-LO construction, usage-rules, example information pertaining to PIDF-LO construction, usage-rules,
and authorization policies. The second type of data consists of a and authorization policies. The second type of data consists of a
two way exchange between the Target and the LIS; for example two way exchange between the Target and the LIS; for example
exchanging location determination capabilities. Extensibility to the exchanging location determination capabilities. Extensibility to the
context scheme is to allow additional elements to be added to the context scheme is to allow additional elements to be added to the
context easily. The general idea is shown in Figure 8. context easily. The general idea is shown in Figure 7.
<hc:createContext <hc:createContext
xmlns:hc="urn:ietf:params:xml:ns:geopriv:held:context"> xmlns:hc="urn:ietf:params:xml:ns:geopriv:held:context">
<lifeTime>7200</lifeTime> <lifeTime>7200</lifeTime>
<ex1:extension-1 <ex1:extension-1
xmlns:ex1="urn:ietf:params:xml:ns:geopriv:held:ex1"> xmlns:ex1="urn:ietf:params:xml:ns:geopriv:held:ex1">
<ex1:value>7200</ex1:value> <ex1:value>7200</ex1:value>
</ex1:extension-1> </ex1:extension-1>
<extension-2 xmlns="urn:ietf:params:xml:ns:geopriv:held:ex2"/> <extension-2 xmlns="urn:ietf:params:xml:ns:geopriv:held:ex2"/>
<extension-3 xmlns="urn:ietf:params:xml:ns:geopriv:held:ex3"/> <extension-3 xmlns="urn:ietf:params:xml:ns:geopriv:held:ex3"/>
. .
. .
. .
<extension-N xmlns="urn:ietf:params:xml:ns:geopriv:held:exN"/> <extension-N xmlns="urn:ietf:params:xml:ns:geopriv:held:exN"/>
</hc:createContext> </hc:createContext>
Figure 8: Create Context with Extensions Figure 7: Create Context with Extensions
When defining a context data extension it is necessary to ensure that When defining a context data extension it is necessary to ensure that
the LIS can provide an adequate response to the Target indicating the LIS can provide an adequate response to the Target indicating
acceptance or rejection of the data provided. This may be an acceptance or rejection of the data provided. This may be an
explicit OK or FAIL message within the extension namespace, it may be explicit OK or FAIL message within the extension namespace, it may be
an attribute associated with part of a larger data exchange, or it an attribute associated with part of a larger data exchange, or it
may result in the LIS failing to create the context at all. may result in the LIS failing to create the context at all.
Regardless, it is mandatory for a context data extension to provide Regardless, it is mandatory for a context data extension to provide
an indication of success or failure. an indication of success or failure.
<hc:contextResponse <hc:contextResponse
xmlns:hc="urn:ietf:params:xml:ns:geopriv:held:context" xmlns:hc="urn:ietf:params:xml:ns:geopriv:held:context"
code="created" code="created"
id="uhvuhdbnuiehudbnvcujevuijeijcvij" id="uhvuhdbnuiehudbnvcujevuijeijcvij"
uses="unlimited" uses="unlimited"
snapshot="false" snapshot="false"
locType="any"
expires="2007-08-01T13:00:00"> expires="2007-08-01T13:00:00">
<locationUriSet> <locationUriSet>
<locationURI> <locationURI>
held//ls.example.com:9768/357yc6s64ceyoiuy5ax3o held//ls.example.com:9768/357yc6s64ceyoiuy5ax3o
</locationURI> </locationURI>
<locationURI> <locationURI>
sips:357yc6s64ceyoiuy5ax3o@ls.example.com:9769 sips:357yc6s64ceyoiuy5ax3o@ls.example.com:9769
</locationURI> </locationURI>
</locationUriSet> </locationUriSet>
<ex1:extension-1 xmlns:ex1="urn:ietf:params:xml:ns:geopriv:held:ex1" <ex1:extension-1 xmlns:ex1="urn:ietf:params:xml:ns:geopriv:held:ex1"
skipping to change at page 23, line 34 skipping to change at page 22, line 33
<ex2:extension-2 xmlns:ex2="urn:ietf:params:xml:ns:geopriv:held:ex2" <ex2:extension-2 xmlns:ex2="urn:ietf:params:xml:ns:geopriv:held:ex2"
ex2:response="OK"/> ex2:response="OK"/>
<ex3:extension-3 <ex3:extension-3
xmlns:ex3="urn:ietf:params:xml:ns:geopriv:held:ex3"> xmlns:ex3="urn:ietf:params:xml:ns:geopriv:held:ex3">
<datum-3>data</datum-3> <datum-3>data</datum-3>
<stuff>guff in here for extension</stuff> <stuff>guff in here for extension</stuff>
</ex3:extension-3> </ex3:extension-3>
</hc:contextRresponse> </hc:contextRresponse>
Figure 9: LIS response to createContext Figure 8: LIS response to createContext
When defining information to be included in a context data extension When defining information to be included in a context data extension
consideration should be given to how that data can be removed from consideration should be given to how that data can be removed from
the context. In some cases it may be necessary to void the context the context. In some cases it may be necessary to void the context
on the LIS in order to remove information, but this SHOULD be treated on the LIS in order to remove information, but this SHOULD be treated
as a last resort and not used as the primary mechanism for removing as a last resort and not used as the primary mechanism for removing
data from the context. data from the context.
Appendix B. HELD Compliance to IETF Location Configuration Protocol Appendix B. HELD Compliance to IETF Location Configuration Protocol
Location Reference Requirements Location Reference Requirements
skipping to change at page 26, line 19 skipping to change at page 25, line 19
[RFC3693] Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and [RFC3693] Cuellar, J., Morris, J., Mulligan, D., Peterson, J., and
J. Polk, "Geopriv Requirements", RFC 3693, February 2004. J. Polk, "Geopriv Requirements", RFC 3693, February 2004.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004. January 2004.
[I-D.ietf-geopriv-http-location-delivery] [I-D.ietf-geopriv-http-location-delivery]
Barnes, M., Winterbottom, J., Thomson, M., and B. Stark, Barnes, M., Winterbottom, J., Thomson, M., and B. Stark,
"HTTP Enabled Location Delivery (HELD)", "HTTP Enabled Location Delivery (HELD)",
draft-ietf-geopriv-http-location-delivery-04 (work in draft-ietf-geopriv-http-location-delivery-09 (work in
progress), January 2008. progress), September 2008.
[I-D.ietf-geopriv-l7-lcp-ps] [I-D.ietf-geopriv-l7-lcp-ps]
Tschofenig, H. and H. Schulzrinne, "GEOPRIV Layer 7 Tschofenig, H. and H. Schulzrinne, "GEOPRIV Layer 7
Location Configuration Protocol; Problem Statement and Location Configuration Protocol; Problem Statement and
Requirements", draft-ietf-geopriv-l7-lcp-ps-06 (work in Requirements", draft-ietf-geopriv-l7-lcp-ps-08 (work in
progress), November 2007. progress), June 2008.
[I-D.ietf-geopriv-lbyr-requirements] [I-D.ietf-geopriv-lbyr-requirements]
Marshall, R., "Requirements for a Location-by-Reference Marshall, R., "Requirements for a Location-by-Reference
Mechanism", draft-ietf-geopriv-lbyr-requirements-01 (work Mechanism", draft-ietf-geopriv-lbyr-requirements-03 (work
in progress), October 2007. in progress), July 2008.
Authors' Addresses Authors' Addresses
James Winterbottom James Winterbottom
Andrew Corporation Andrew Corporation
PO Box U40 PO Box U40
University of Wollongong, NSW 2500 University of Wollongong, NSW 2500
AU AU
Phone: +61 242 212938 Phone: +61 242 212938
Email: james.winterbottom@andrew.com Email: james.winterbottom@andrew.com
URI: http://www.andrew.com/products/geometrix URI: http://www.andrew.com/products/geometrix
Hannes Tschofenig Hannes Tschofenig
Nokia Siemens Networks Nokia Siemens Networks
Otto-Hahn-Ring 6 Linnoitustie 6
Munich, Bavaria 81739 Espoo 02600
Germany Finland
Phone: +49 89 636 40390 Phone: +358 (50) 4871445
Email: Hannes.Tschofenig@nsn.com Email: Hannes.Tschofenig@gmx.net
URI: http://www.tschofenig.com URI: http://www.tschofenig.priv.at
Martin Thomson Martin Thomson
Andrew Corporation Andrew Corporation
PO Box U40 PO Box U40
University of Wollongong, NSW 2500 University of Wollongong, NSW 2500
AU AU
Phone: +61 242 212915 Phone: +61 242 212915
Email: martin.thomson@andrew.com Email: martin.thomson@andrew.com
URI: http://www.andrew.com/products/geometrix URI: http://www.andrew.com/products/geometrix
skipping to change at page 28, line 44 skipping to change at line 883
attempt made to obtain a general license or permission for the use of attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
 End of changes. 35 change blocks. 
87 lines changed or deleted 45 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/