< draft-forte-lost-extensions-07.txt   draft-forte-lost-extensions-08.txt >
Network Working Group A. Forte Network Working Group A. Forte
Internet-Draft AT&T Internet-Draft AT&T
Intended status: Experimental H. Schulzrinne Intended status: Experimental H. Schulzrinne
Expires: January 26, 2012 Columbia University Expires: March 10, 2012 Columbia University
July 25, 2011 September 7, 2011
Location-to-Service Translation (LoST) Protocol Extensions Location-to-Service Translation (LoST) Protocol Extensions
draft-forte-lost-extensions-07.txt draft-forte-lost-extensions-08.txt
Abstract Abstract
An important class of location-based services answer the question An important class of location-based services answer the question
"What instances of this service are closest to me?" Examples include "What instances of this service are closest to me?" Examples include
finding restaurants, gas stations, stores, automated teller machines, finding restaurants, gas stations, stores, automated teller machines,
wireless access points (hot spots) or parking spaces. Currently, the wireless access points (hot spots) or parking spaces. Currently, the
Location-to-Service Translation (LoST) protocol only supports mapping Location-to-Service Translation (LoST) protocol only supports mapping
locations to a single service based on service regions. This locations to a single service based on service regions. This
document describes an extension that allows queries of the type "N document describes an extension that allows queries of the type "N
skipping to change at page 1, line 38 skipping to change at page 1, line 38
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
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."
This Internet-Draft will expire on January 26, 2012. This Internet-Draft will expire on March 10, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 25 skipping to change at page 2, line 25
distance X" and "served by" . . . . . . . . . . . . . . . . . 5 distance X" and "served by" . . . . . . . . . . . . . . . . . 5
5. LoST Extensions . . . . . . . . . . . . . . . . . . . . . . . 5 5. LoST Extensions . . . . . . . . . . . . . . . . . . . . . . . 5
5.1. New Use of Shapes in Queries . . . . . . . . . . . . . . . 5 5.1. New Use of Shapes in Queries . . . . . . . . . . . . . . . 5
5.2. Queries Based on Service Regions . . . . . . . . . . . . . 8 5.2. Queries Based on Service Regions . . . . . . . . . . . . . 8
5.3. Difference Between "within distance X" and "served by" 5.3. Difference Between "within distance X" and "served by"
Queries . . . . . . . . . . . . . . . . . . . . . . . . . 10 Queries . . . . . . . . . . . . . . . . . . . . . . . . . 10
5.4. Limiting the Number of Returned Service URIs . . . . . . . 11 5.4. Limiting the Number of Returned Service URIs . . . . . . . 11
5.5. The <serviceLocation> Element in Responses . . . . . . . . 13 5.5. The <serviceLocation> Element in Responses . . . . . . . . 13
6. Emergency Services . . . . . . . . . . . . . . . . . . . . . . 16 6. Emergency Services . . . . . . . . . . . . . . . . . . . . . . 16
7. Relax NG Schema . . . . . . . . . . . . . . . . . . . . . . . 17 7. Relax NG Schema . . . . . . . . . . . . . . . . . . . . . . . 17
8. Security Considerations . . . . . . . . . . . . . . . . . . . 18 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
9.1. LoST Extensions Relax NG Schema Registration . . . . . . . 19 9.1. LoST Extensions Relax NG Schema Registration . . . . . . . 19
9.2. LoST Extensions Namespace Registration . . . . . . . . . . 19 9.2. LoST Extensions Namespace Registration . . . . . . . . . . 20
10. Non-Normative RELAX NG Schema in XML Syntax . . . . . . . . . 20 10. Non-Normative RELAX NG Schema in XML Syntax . . . . . . . . . 20
11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
12. Normative References . . . . . . . . . . . . . . . . . . . . . 23 12. Normative References . . . . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 24
1. Introduction 1. Introduction
The Location-to-Service Translation (LoST) protocol [RFC5222] maps The Location-to-Service Translation (LoST) protocol [RFC5222] maps
service identifiers (URNs) and civic or geospatial information to service identifiers (URNs) and civic or geospatial information to
service URIs, based on service regions. While motivated by mapping service URIs, based on service regions. While motivated by mapping
locations to the public safety answering point (PSAP) serving that locations to the public safety answering point (PSAP) serving that
location, the protocol has been designed to generalize to other location, the protocol has been designed to generalize to other
location mapping services. location mapping services.
However, the current LoST query model assumes that each service URI However, the current LoST query model assumes that each service URI
has a service region and that service regions do not overlap. This has a service region and that service regions do not overlap. This
fits the emergency services model, where the service region of a PSAP fits the emergency services model, where the service region of a PSAP
is given by jurisdictional boundaries, but does not work as well for is given by jurisdictional boundaries, but does not work as well for
other services that do not have clearly defined boundaries. For other services that do not have clearly defined boundaries. For
example, any given location is likely served by a number of different example, any given location is likely served by a number of different
restaurants, depending on how far the prospective customer is willing restaurants, depending on how far the prospective customer is willing
to walk or drive. to travel.
We extend LoST with three additional <findService> query types, We extend LoST with three additional <findService> query types,
giving the protocol the ability to find the N nearest instances of a giving the protocol the ability to find the N nearest instances of a
particular service, all services within a given distance and all particular service, all services within a given distance and all
services whose service region includes the client's current location. services whose service region includes the client's current location.
2. Requirements Notation 2. Requirements Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
skipping to change at page 7, line 22 skipping to change at page 7, line 22
recursive="true"> recursive="true">
<ext:region>false</ext:region> <ext:region>false</ext:region>
<location id="6020688f1ce1896d" profile="geodetic-2d"> <location id="6020688f1ce1896d" profile="geodetic-2d">
<gs:Circle srsName="urn:ogc:def:crs:EPSG::4326"> <gs:Circle srsName="urn:ogc:def:crs:EPSG::4326">
<gml:pos>37.775 -122.422</gml:pos> <gml:pos>37.775 -122.422</gml:pos>
<gs:radius uom="urn:ogc:def:uom:EPSG::9001"> <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
200 200
</gs:radius> </gs:radius>
</gs:Circle> </gs:Circle>
</location> </location>
<service>urn:service:local.pizza</service> <service>urn:service:food.pizza</service>
</findService> </findService>
Figure 1: A 'within distance X' <findService> geodetic query using Figure 1: A 'within distance X' <findService> geodetic query using
the circular shape the circular shape (a hypothetical service URN of
"urn:service:food.pizza" is used)
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<findService <findService
xmlns="urn:ietf:params:xml:ns:lost1" xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:ext="urn:ietf:params:xml:ns:lost-ext" xmlns:ext="urn:ietf:params:xml:ns:lost-ext"
xmlns:gml="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml"
xmlns:gs="http://www.opengis.net/pidflo/1.0" xmlns:gs="http://www.opengis.net/pidflo/1.0"
serviceBoundary="value" serviceBoundary="value"
recursive="true"> recursive="true">
<ext:region>false</ext:region> <ext:region>false</ext:region>
<location id="6020688f1ce1896d" profile="geodetic-2d"> <location id="6020688f1ce1896d" profile="geodetic-2d">
skipping to change at page 8, line 27 skipping to change at page 8, line 27
1235 1235
</gs:semiMajorAxis> </gs:semiMajorAxis>
<gs:semiMinorAxis uom="urn:ogc:def:uom:EPSG::9001"> <gs:semiMinorAxis uom="urn:ogc:def:uom:EPSG::9001">
660 660
</gs:semiMinorAxis> </gs:semiMinorAxis>
<gs:orientation uom="urn:ogc:def:uom:EPSG::9102"> <gs:orientation uom="urn:ogc:def:uom:EPSG::9102">
41.2 41.2
</gs:orientation> </gs:orientation>
</gs:Ellipse> </gs:Ellipse>
</location> </location>
<service>urn:service:local.pizza</service> <service>urn:service:food.pizza</service>
</findService> </findService>
Figure 2: A 'within distance X' <findService> geodetic query using Figure 2: A 'within distance X' <findService> geodetic query using
the elliptical shape the elliptical shape (a hypothetical service URN of
"urn:service:food.pizza" is used)
5.2. Queries Based on Service Regions 5.2. Queries Based on Service Regions
As mentioned in Section 1, we can divide location-based services into As mentioned in Section 1, we can divide location-based services into
two main categories. two main categories.
Services based on: Services based on:
o how far they are from the user o how far they are from the user
skipping to change at page 10, line 35 skipping to change at page 10, line 35
serviceBoundary="value" recursive="true"> serviceBoundary="value" recursive="true">
<ext:region>true</ext:region> <ext:region>true</ext:region>
<location id="6020688f1ce1896d" profile="geodetic-2d"> <location id="6020688f1ce1896d" profile="geodetic-2d">
<gs:Circle srsName="urn:ogc:def:crs:EPSG::4326"> <gs:Circle srsName="urn:ogc:def:crs:EPSG::4326">
<gml:pos>37.775 -122.422</gml:pos> <gml:pos>37.775 -122.422</gml:pos>
<gs:radius uom="urn:ogc:def:uom:EPSG::9001"> <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
200 200
</gs:radius> </gs:radius>
</gs:Circle> </gs:Circle>
</location> </location>
<service>urn:service:local.pizza</service> <service>urn:service:food.pizza</service>
</findService> </findService>
Figure 4 A 'served by' <findService> geodetic query with the new Figure 4 A 'served by' <findService> geodetic query with the new
<region> element <region> element (a hypothetical service URN of
"urn:service:food.pizza" is used)
5.3. Difference Between "within distance X" and "served by" Queries 5.3. Difference Between "within distance X" and "served by" Queries
Figures 1 and 4 show an example of a "within distance X" query and a Figures 1 and 4 show an example of a "within distance X" query and a
"served by" query, respectively. The two types of queries although "served by" query, respectively. The two types of queries although
very similar have three important differences. very similar have three important differences.
o A "served by" query can support all the shapes a "within distance o A "served by" query can support all the shapes a "within distance
X" query can support plus the point shape. The point shape does X" query can support plus the point shape. The point shape does
not make sense for a "within distance X" query and SHOULD NOT be not make sense for a "within distance X" query and SHOULD NOT be
skipping to change at page 11, line 37 skipping to change at page 11, line 38
[RFC5222]. [RFC5222].
Figures 5, 6 and 7 show a <findService> geodetic query where the Figures 5, 6 and 7 show a <findService> geodetic query where the
client asks the server to return no more than 20 service URIs. In client asks the server to return no more than 20 service URIs. In
particular, Figure 5 shows a 'N nearest' query, Figure 6 shows a particular, Figure 5 shows a 'N nearest' query, Figure 6 shows a
query which is a combination of 'N nearest' and 'within distance X' query which is a combination of 'N nearest' and 'within distance X'
while Figure 7 shows a query which is a combination of 'N nearest' while Figure 7 shows a query which is a combination of 'N nearest'
and 'served by'. When receiving such queries, the LoST server will and 'served by'. When receiving such queries, the LoST server will
return a list of no more than 20 points of interest. return a list of no more than 20 points of interest.
If the available points of interest are more than N, then the server If the available points of interest are more than N, the server has
has to identify among the points of interest to return, the N points to identify, among those, the N points of interest closest to the
of interest closest to the client's physical location and MUST return client's physical location and MUST return those in the response.
those in the response.
When the <limit> element is not present in a <findService> query then When the <limit> element is not present in a <findService> query then
all available points of interest for the requested type of service all available points of interest for the requested type of service
SHOULD be returned by the LoST server. This behavior is consistent SHOULD be returned by the LoST server. This behavior is consistent
with [RFC5222]. with [RFC5222].
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<findService <findService
xmlns="urn:ietf:params:xml:ns:lost1" xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:ext="urn:ietf:params:xml:ns:lost-ext" xmlns:ext="urn:ietf:params:xml:ns:lost-ext"
skipping to change at page 12, line 21 skipping to change at page 12, line 21
<ext:limit>20</ext:limit> <ext:limit>20</ext:limit>
<location id="6020688f1ce1896d" profile="geodetic-2d"> <location id="6020688f1ce1896d" profile="geodetic-2d">
<gml:Point id="point1" srsName="urn:ogc:def:crs:EPSG::4326"> <gml:Point id="point1" srsName="urn:ogc:def:crs:EPSG::4326">
<gml:pos>40.7128 -74.0092</gml:pos> <gml:pos>40.7128 -74.0092</gml:pos>
</gml:Point> </gml:Point>
</location> </location>
<service>urn:service:food.pizza</service> <service>urn:service:food.pizza</service>
</findService> </findService>
Figure 5: A 'N nearest' <findService> geodetic query with the new Figure 5: A 'N nearest' <findService> geodetic query with the new
<limit> element <limit> element (a hypothetical service URN of
"urn:service:food.pizza" is used)
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<findService <findService
xmlns="urn:ietf:params:xml:ns:lost1" xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:ext="urn:ietf:params:xml:ns:lost-ext" xmlns:ext="urn:ietf:params:xml:ns:lost-ext"
xmlns:gml="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml"
xmlns:gs="http://www.opengis.net/pidflo/1.0" xmlns:gs="http://www.opengis.net/pidflo/1.0"
serviceBoundary="value" serviceBoundary="value"
recursive="true"> recursive="true">
<ext:region>false</ext:region> <ext:region>false</ext:region>
<ext:limit>20</ext:limit> <ext:limit>20</ext:limit>
<location id="6020688f1ce1896d" profile="geodetic-2d"> <location id="6020688f1ce1896d" profile="geodetic-2d">
<gs:Circle srsName="urn:ogc:def:crs:EPSG::4326"> <gs:Circle srsName="urn:ogc:def:crs:EPSG::4326">
<gml:pos>37.775 -122.422</gml:pos> <gml:pos>37.775 -122.422</gml:pos>
<gs:radius uom="urn:ogc:def:uom:EPSG::9001"> <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
200 200
</gs:radius> </gs:radius>
</gs:Circle> </gs:Circle>
</location> </location>
<service>urn:service:local.pizza</service> <service>urn:service:food.pizza</service>
</findService> </findService>
Figure 6: A <findService> geodetic query with the new <limit> and Figure 6: A <findService> geodetic query with the new <limit> and
<region> elements. This query is a combination of 'N nearest' and <region> elements. This query is a combination of 'N nearest' and
'within distance X' queries. 'within distance X' queries (a hypothetical service URN of
"urn:service:food.pizza" is used)
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<findService <findService
xmlns="urn:ietf:params:xml:ns:lost1" xmlns="urn:ietf:params:xml:ns:lost1"
xmlns:ext="urn:ietf:params:xml:ns:lost-ext" xmlns:ext="urn:ietf:params:xml:ns:lost-ext"
xmlns:gml="http://www.opengis.net/gml" xmlns:gml="http://www.opengis.net/gml"
xmlns:gs="http://www.opengis.net/pidflo/1.0" xmlns:gs="http://www.opengis.net/pidflo/1.0"
serviceBoundary="value" serviceBoundary="value"
recursive="true"> recursive="true">
<ext:region>true</ext:region> <ext:region>true</ext:region>
<ext:limit>20</ext:limit> <ext:limit>20</ext:limit>
<location id="6020688f1ce1896d" profile="geodetic-2d"> <location id="6020688f1ce1896d" profile="geodetic-2d">
<gs:Circle srsName="urn:ogc:def:crs:EPSG::4326"> <gs:Circle srsName="urn:ogc:def:crs:EPSG::4326">
<gml:pos>37.775 -122.422</gml:pos> <gml:pos>37.775 -122.422</gml:pos>
<gs:radius uom="urn:ogc:def:uom:EPSG::9001"> <gs:radius uom="urn:ogc:def:uom:EPSG::9001">
100 100
</gs:radius> </gs:radius>
</gs:Circle> </gs:Circle>
</location> </location>
<service>urn:service:local.pizza</service> <service>urn:service:food.pizza</service>
</findService> </findService>
Figure 7: A <findService> geodetic query with the new <limit> and Figure 7: A <findService> geodetic query with the new <limit> and
<region> elements. This query is a combination of 'N nearest' and <region> elements. This query is a combination of 'N nearest' and
'served by' queries. 'served by' queries (a hypothetical service URN of
"urn:service:food.pizza" is used)
5.5. The <serviceLocation> Element in Responses 5.5. The <serviceLocation> Element in Responses
It is important for the LoST client to know the location of a point It is important for the LoST client to know the location of a point
of interest so that distance, route and other metrics can be of interest so that distance, route and other metrics can be
computed. We introduce a new element, namely <serviceLocation>. The computed. We introduce a new element, namely <serviceLocation>. The
<serviceLocation> element contains the location of a point of service <serviceLocation> element contains the location of a point of
and SHOULD be used for all non-emergency services. When it is used, service. When it is used, it MUST be contained in a <mapping>
it MUST be contained in a <mapping> element. In responses such as element. In responses such as <findServiceResponse> [RFC5222], a
<findServiceResponse> [RFC5222], a list of service URIs, each with list of service URIs, each with its own <serviceLocation> element,
its own <serviceLocation> element, SHOULD be returned. The order of SHOULD be returned. The order of service URIs in the list is not
service URIs in the list is not relevant. relevant.
The <serviceLocation> element has one single attribute, 'profile', in The <serviceLocation> element has one single attribute, 'profile', in
order to specify the profile used. Both civic and geodetic profiles order to specify the profile used. Both civic and geodetic profiles
can be used. The geodetic profiles SHOULD be used in order to can be used. The geodetic profiles SHOULD be used in order to
compute distance, route and other metrics as at some point computing compute distance, route and other metrics as at some point computing
such metrics would require geocoding of the civic address in geodetic such metrics would require geocoding of the civic address in geodetic
coordinates. Because of this, the position specified in coordinates. Because of this, the position specified in
<serviceLocation> with a geodetic profile SHOULD be represented by <serviceLocation> with a geodetic profile SHOULD be represented by
using the <Point> element. The <Point> element is described in using the <Point> element. The <Point> element is described in
Section 12.2 of [RFC5222] and in Section 5.2.1 of [RFC5491]. Figure Section 12.2 of [RFC5222] and in Section 5.2.1 of [RFC5491]. Figure
skipping to change at page 14, line 44 skipping to change at page 14, line 45
xmlns:ext="urn:ietf:params:xml:ns:lost-ext" xmlns:ext="urn:ietf:params:xml:ns:lost-ext"
xmlns:gml="http://www.opengis.net/gml"> xmlns:gml="http://www.opengis.net/gml">
<mapping <mapping
expires="2007-01-01T01:44:33Z" expires="2007-01-01T01:44:33Z"
lastUpdated="2006-11-01T01:00:00Z" lastUpdated="2006-11-01T01:00:00Z"
source="authoritative.example" source="authoritative.example"
sourceId="7e3f40b098c711dbb6060800200c9a66"> sourceId="7e3f40b098c711dbb6060800200c9a66">
<displayName xml:lang="it"> <displayName xml:lang="it">
Che bella pizza e all' anima da' pizza da Toto' Che bella pizza e all' anima da' pizza da Toto'
</displayName> </displayName>
<service>urn:service:local.pizza</service> <service>urn:service:food.pizza</service>
<uri>sip:chebella@example.com</uri> <uri>sip:chebella@example.com</uri>
<uri>xmpp:chebella@example.com</uri> <uri>xmpp:chebella@example.com</uri>
<serviceNumber>2129397040</serviceNumber> <serviceNumber>2129397040</serviceNumber>
<ext:serviceLocation profile="geodetic-2d"> <ext:serviceLocation profile="geodetic-2d">
<gml:Point id="point1" srsName="urn:ogc:def:crs:EPSG:4326"> <gml:Point id="point1" srsName="urn:ogc:def:crs:EPSG:4326">
<gml:pos>33.665 -112.432</gml:pos> <gml:pos>33.665 -112.432</gml:pos>
</gml:Point> </gml:Point>
</ext:serviceLocation> </ext:serviceLocation>
<ext:serviceLocation profile="civic"> <ext:serviceLocation profile="civic">
<civicAddress <civicAddress
xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"> xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr">
<country>US</country> <country>US</country>
<A1>New York</A1> <A1>New York</A1>
<A3>New York</A3> <A3>New York</A3>
<A6>Broadway</A6> <A6>Broadway</A6>
<HNO>321</HNO> <HNO>321</HNO>
skipping to change at page 15, line 27 skipping to change at page 15, line 27
</ext:serviceLocation> </ext:serviceLocation>
</mapping> </mapping>
<mapping <mapping
expires="2007-01-01T01:44:33Z" expires="2007-01-01T01:44:33Z"
lastUpdated="2006-11-01T01:00:00Z" lastUpdated="2006-11-01T01:00:00Z"
source="authoritative.example" source="authoritative.example"
sourceId="7e3f40b098c711dbb6060800200c9b356"> sourceId="7e3f40b098c711dbb6060800200c9b356">
<displayName xml:lang="en"> <displayName xml:lang="en">
King Mario's Pizza King Mario's Pizza
</displayName> </displayName>
<service>urn:service:local.pizza</service> <service>urn:service:food.pizza</service>
<uri>sip:marios@example.com</uri> <uri>sip:marios@example.com</uri>
<uri>xmpp:marios@example.com</uri> <uri>xmpp:marios@example.com</uri>
<serviceNumber>2129397157</serviceNumber> <serviceNumber>2129397157</serviceNumber>
<ext:serviceLocation profile="geodetic-2d"> <ext:serviceLocation profile="geodetic-2d">
<gml:Point id="point1" srsName="urn:ogc:def:crs:EPSG:4326"> <gml:Point id="point1" srsName="urn:ogc:def:crs:EPSG:4326">
<gml:pos>33.683 -112.412</gml:pos> <gml:pos>33.683 -112.412</gml:pos>
</gml:Point> </gml:Point>
</ext:serviceLocation> </ext:serviceLocation>
<ext:serviceLocation profile="civic"> <ext:serviceLocation profile="civic">
<civicAddress <civicAddress
skipping to change at page 17, line 5 skipping to change at page 17, line 7
<p2:Point id="point1" srsName="urn:ogc:def:crs:EPSG::4326"> <p2:Point id="point1" srsName="urn:ogc:def:crs:EPSG::4326">
<p2:pos>37.775 -122.422</p2:pos> <p2:pos>37.775 -122.422</p2:pos>
</p2:Point> </p2:Point>
</location> </location>
<service>urn:service:sos.police</service> <service>urn:service:sos.police</service>
</findService> </findService>
Figure 9: A <findService> geodetic query for emergency services Figure 9: A <findService> geodetic query for emergency services
Unlike emergency services, where information such as service
boundaries of PSAPs and locations of fire stations does not change
very often, if at all, non-emergency services have information that
may become inaccurate quickly. This is something implementers should
take into account when designing applications for non-emergency
location-based services.
7. Relax NG Schema 7. Relax NG Schema
This section provides the Relax NG schema of LoST extensions in the This section provides the Relax NG schema of LoST extensions in the
compact form. The verbose form is included in Section 9. compact form. The verbose form is included in Section 9.
namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0"
default namespace ns1 = "urn:ietf:params:xml:ns:lost-ext" default namespace ns1 = "urn:ietf:params:xml:ns:lost-ext"
## ##
## Extensions to the Location-to-Service Translation (LoST) ## Extensions to the Location-to-Service Translation (LoST)
skipping to change at page 17, line 40 skipping to change at page 17, line 49
limit= limit=
element limit { element limit {
xsd:positiveInteger xsd:positiveInteger
} }
} }
## ##
## A boolean variable to request a search ## A boolean variable to request a search
## based on either service areas or distance. ## based on either service areas or distance.
## ##
## NOTE: The W3C XML Schema has two different
## lexical representations for boolean:
## '1' or 'true' vs. '0' or 'false'.
##
div { div {
region= region=
element region { element region {
xsd:boolean xsd:boolean
} }
} }
## ##
## Location Information ## Location Information
## ##
skipping to change at page 19, line 22 skipping to change at page 19, line 35
the possibility of the Resolver getting overloaded by non-emergency the possibility of the Resolver getting overloaded by non-emergency
services queries, thus being unable to process emergency-service services queries, thus being unable to process emergency-service
queries. Such a situation can be addressed in more than one way. queries. Such a situation can be addressed in more than one way.
The obvious way to address this problem is to properly dimension the The obvious way to address this problem is to properly dimension the
LoST servers so to take into account also traffic for non-emergency LoST servers so to take into account also traffic for non-emergency
services. Given that the LoST server is an enhanced HTTP server, services. Given that the LoST server is an enhanced HTTP server,
properly dimensioning a deployment of LoST servers should not be very properly dimensioning a deployment of LoST servers should not be very
difficult to accomplish. difficult to accomplish.
The same security considerations as in [RFC5222] apply. In
particular, in order to maintain integrity and confidentiality of
requests and responses, Transport Layer Security (TLS) MUST be
implemented and SHOULD be used as described in Sections 1, 14 and 18
of [RFC5222].
9. IANA Considerations 9. IANA Considerations
9.1. LoST Extensions Relax NG Schema Registration 9.1. LoST Extensions Relax NG Schema Registration
URI: urn:ietf:params:xml:schema:lost-ext URI: urn:ietf:params:xml:schema:lost-ext
Registrant Contact: Andrea G. Forte, forte@att.com; Henning Registrant Contact: Andrea G. Forte, forte@att.com; Henning
Schulzrinne, hgs@cs.columbia.edu Schulzrinne, hgs@cs.columbia.edu
Relax NG Schema: The Relax NG schema to be registered is contained in Relax NG Schema: The Relax NG schema to be registered is contained in
Section 6. Its first line is Section 6. Its first line is
default namespace ns1 = "urn:ietf:params:xml:ns:lost-ext" default namespace ns1 = "urn:ietf:params:xml:ns:lost-ext"
and its last line is and its last line is
} }
9.2. LoST Extensions Namespace Registration 9.2. LoST Extensions Namespace Registration
 End of changes. 27 change blocks. 
34 lines changed or deleted 54 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/