<?xml version="1.0"?>
<?xml-stylesheet type='text/xsl'
  href='rfc2629.xslt' ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
  <!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
  <!ENTITY rfc8174 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.8174.xml">
  <!ENTITY rfc5222 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5222.xml">
  <!ENTITY rfc6848 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6848.xml">
  <!ENTITY rfc3553 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3553.xml">
  <!ENTITY rfc4776 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4776.xml">
  <!ENTITY rfc3688 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3688.xml">
  <!ENTITY rfc5139 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5139.xml">
<!ENTITY I-D.ietf-ecrit-lost-planned-changes SYSTEM "http://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-ecrit-lost-planned-changes.xml">

     ]>

<?rfc toc="yes"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>

<rfc category="std" ipr="trust200902" docName="draft-ietf-ecrit-similar-location-19"
    updates="5222">

<front>

<title abbrev="Returned Location Extensions to LoST">A LoST extension to return complete and similar location info</title>
   <author initials="B." surname="Rosen" fullname="Brian Rosen" >
     <address>
       <postal>
         <street>470 Conrad Dr</street>
         <city>Mars</city>
         <region>PA</region>
         <code>16046</code>
         <country>US</country>
        </postal>
        <phone></phone>
        <email>br@brianrosen.net</email>
      </address>
    </author>
    <author initials="R." surname="Marshall" fullname="Roger Marshall" >
      <organization abbrev="Comtech TCS">Comtech TCS</organization>
      <address>
        <postal>
          <street>2401 Elliott Avenue</street>
          <street>2nd Floor</street>
          <city>Seattle</city>
          <region>WA</region>
          <code>98121</code>
          <country>US</country>
        </postal>
        <phone></phone>
        <email>roger.marshall@comtechtel.com</email>
      </address>
    </author>
    <author initials="J." surname="Martin" fullname="Jeff Martin" >
      <organization abbrev="Comtech TCS">Comtech TCS</organization>
      <address>
        <postal>
          <street>2401 Elliott Avenue</street>
          <street>2nd Floor</street>
          <city>Seattle</city>
          <region>WA</region>
          <code>98121</code>
          <country>US</country>
        </postal>
        <phone></phone>
        <email>jeff.martin@comtechtel.com</email>
      </address>
    </author>


<date year="2022"/>
<workgroup>ECRIT</workgroup>
<keyword>Internet-Draft</keyword>
<keyword></keyword>
<keyword>complete similar civic location lost 5222 extension</keyword>

<abstract>

<t>This document describes an extension to the LoST protocol of RFC
    5222 that allows additional civic location information to be
    returned in a &lt;findServiceResponse&gt;.  This extension supports two
    use cases: First, when the input location is valid but lacks some
    Civic Address elements, the LoST server can provide a completed
    form.  Second, when the input location is invalid, the LoST
    server can identify one or more feasible ("similar") locations.
    This extension is applicable when the location information in the
    &lt;findService&gt; request uses the Basic Civic profile as described
    in RFC 5222 or another profile whose definition provides
    instructions concerning its use with this extension.

</t>

</abstract>

</front>
<middle>

<section title="Introduction">

<t>The LoST protocol <xref target="RFC5222"/> supports the
validation of civic location information sent in a &lt;findService&gt; request, by providing a set of
validation result status indicators in the response.  The current usefulness of the supported
XML elements &lt;valid&gt;, &lt;invalid&gt;, and &lt;unchecked&gt; is limited.
They each provide an indication of validity for any one location element as a
part of the whole civic address, but this is insufficient in providing
either the complete set of civic address elements that the LoST server contains,
or of providing alternate suggestions (hints) as to which civic address is
intended for use.
</t>

<t>Whether the queried civic location is valid but missing information, or invalid
due to missing or wrong information, this document provides a
mechanism to return a complete set of civic address elements.</t>

<t>This enhancement to the validation feature within LoST is required by
systems that rely on accurate location for processing.  Use of this enhancement increases the likelihood that incorrect
or incomplete civic location will be updated.
One such use case is that of location-based emergency calling. The
use of this protocol extension facilitates the timely correction of errors, and allows
LoST clients to be more easily provisioned with complete address information.
</t>

</section>


<section anchor="terminology" title="Terminology">

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
    NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
    "MAY", and "OPTIONAL" in this document are to be interpreted as
    described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
    appear in all capitals, as shown here.
</t>

<t>The following terms are defined in this document:</t>

<t><list style="hanging">

<t hangText="Location:"> The term Location is in general used to refer
to either a civic location or a geodetic location. In the context of this document, location is restricted to civic locations.</t>

<t hangText="Geodetic Location:"> a geographic coordinate set of
values that describes a point within a defined geographic datum.
For example, a referenced latitude/longitude coordinate pair
(2D), or latitude, longitude, and altitude (3D).  Note: geodetic
location is defined here for context, but is not used
elsewhere within this document.</t>

<t hangText="Civic Location:">A set of Civic Address Elements as defined in <xref target="RFC5139"/> that are used in conjunction with each
    other, and in accordance with a known ruleset to designate a
    specific place within a country.</t>

<t hangText="Civic Address:">The term Civic Address is used
interchangeably with the term Civic Location within this document.</t>

<t hangText="Civic Address Element:">The term Civic Address Element is used within
    this document to indicate any individual XML element used within
    the &lt;civicAddress&gt; type defined in <xref target="RFC5139"/>, including elements used
    at the extension point therein such as those defined in <xref target="RFC6848"/> and
    elsewhere.  This term also includes the reference to such elements
    by qualified name as defined within the &lt;locationValidation&gt; element
    in <xref target="RFC5222"/>.</t>


<t hangText="Invalid Location:"> A Civic Location that, when included in a LoST
    query with 'validateLocation' set, will receive a response having
    one or more Civic Address Elements in the &lt;invalid&gt; list.  Note that
    it is also possible that the location information submitted is so
    inaccurate that location validation cannot be performed, and the
    LoST server may return a &lt;notFound&gt; or &lt;locationInvalid&gt; error.  In
    this document, the term Invalid Location only refers to a
    case where the LoST server returns one or more elements in the
    &lt;invalid&gt; list; the error conditions are not considered.</t>

<t hangText="Valid Location:"> A Civic Location that, when included in a LoST query
    with 'validateLocation' set, will receive a response having all Civic Address Elements in the &lt;valid&gt; or &lt;unchecked&gt; lists.</t>

<t hangText="Incomplete Location:">"A Civic Location that the LoST server considers valid but which omits one or more Civic Address Elements that the LoST server considers necessary or helpful.</t>
<t hangText="Complete Location:"> A Civic Location that was considered by the LoST server to be an
    Incomplete Location but that with the addition of one or more
    Civic Address Elements is considered complete by the LoST server.</t>

<t hangText="Similar Location:"> A suggested civic location that is similar to an
    Invalid Location which was used in a LoST query, but which has one
    or more elements added, modified, or removed such that the
    suggested location is a Valid Location. Similar Location may be returned when the input location is invalid.</t>

<t hangText="Returned Location Information:"> A set of
civic locations returned in a LoST response.</t>

</list></t>
</section>
<section anchor="overview" title="Overview of Returned Location
Information">

<t>This document describes an extension to LoST <xref target="RFC5222"/>
that allows additional location information to be returned in the &lt;locationValidation&gt; element of a
&lt;findServiceResponse&gt;.  This extension has two different use cases: First, when the input location is incomplete but the LoST server can identify the intended unique address, and second, when the input location is invalid and the LoST server can identify one or more likely intended locations.  This extension is applicable when the location information in the
&lt;findService&gt; request is in the Basic Civic profile as described in
<xref target = "RFC5222"/> or in another profile whose definition provides instructions
concerning its use with this extension.  As of this document's publication, no
such additional location profiles have been defined, so this
document describes the returned location extension using the Basic Civic profile.  In addition, the
following restriction is imposed:  A server MUST NOT include Returned
Location Information using a location profile that differs from the profile
of the location used to answer the query and, by extension, MUST NOT
include Returned Location Information using a location profile that was
not used by the client in the request.
</t>

<t>When a LoST server is asked to validate a civic location, its goal is to
take the set of Civic Address Elements provided as the location information
in the LoST request, and find a unique location in its database that
matches the information in the request.  Uniqueness might not require
values for all possible elements in the Civic Address that the database might
hold.  Further, the input location information might not represent the form of
location the users of the LoST service prefer to have.  As an example, there
are LoST Civic Address Elements that could be used to define a postal
location, suitable for delivery of mail as well as a municipal location suitable
for responding to an emergency call.  While the LoST server might be able to
determine the location from the postal elements provided, the emergency
services would prefer that the municipal location be used for any
subsequent emergency call.  Since validation is often performed well in
advance of an end user placing an emergency call, if the LoST server
could return the preferred form of location (or more properly in this example, the
municipal elements in addition to the postal elements), those elements
could be stored in a client application such as a Location Information Server (LIS) and used in a later emergency call. </t>

<t>In addition, this document describes the reuse of the same mechanism,
but for a different purpose: to supply similar location information in the
case where a LoST server response includes one or more Civic Address
Elements marked as invalid, indicating an Invalid Location used in the query. In this case, the response contains
one or more suggested alternative Valid Locations.
</t>


<t>In a LoST &lt;findServiceResponse&gt; indicating a Valid Location (<xref target="terminology"/>) i.e., containing the &lt;locationValidation&gt; element with no elements listed as invalid, the LoST server can use this extension to include additional location information in a &lt;locationValidation&gt; element.  As an example, a query contains &lt;HNO&gt; (house number), &lt;RD&gt; (road
    name) &lt;A3&gt; (city), &lt;A1&gt; (state/province) but not &lt;POD&gt;
    (Post-Directional).  In this example, there is no street with just
    the street name, all streets have a post-directional.  However, the
    LoST server is able to uniquely locate the intended address and
    thus consider the queried location Valid, as there is only one
    street with the street name and house number in the city
    that it could be.  As the queried location is missing the
    post-directional element, a more strict entity might consider it
    Invalid (e.g., during a subsequent query) or worse, the lack of
    a Post-Directional element might cause confusion and delay
    an emergency response.  The server can use this extension to
    supply the missing post-directional element &lt;POD&gt; in a
    &lt;completeLocation&gt; element within the &lt;locationValidation&gt;
    element.
    </t><t>
     In another example, the civic location in a request might lack
     &lt;A2&gt; (county) and &lt;PC&gt; (Postal Code) Civic Address Elements.  In
     this example, too, the LoST server is able to uniquely locate the
     intended address and consider the location &lt;Valid&gt;, but other
     entities involved in a subsequent emergency call might find it
     helpful to have the additional Civic Address Elements.  The LoST
     server can use this extension to supply the missing &lt;A2&gt; and &lt;PC&gt;
     Civic Address Elements.
     </t><t>
         Since <xref target="RFC5222"/>
does not have a way for this additional location information
to be returned in the &lt;findServiceResponse&gt;, this document extends
the LoST protocol so that it can include a &lt;completeLocation&gt; element within
the &lt;locationValidation&gt; element of the &lt;findServiceResponse&gt; message, allowing for the representation of
complete location information.
</t>

<t>An example showing complete location information supplied:
</t>
<t>Input address:
<ul empty="true" spacing="compact">
<li>6000 15th Avenue</li>
<li>Leets, WA US</li></ul>
</t>

<t>Complete Location:
<ul empty="true" spacing="compact">
<li>6000 15th Avenue Northwest</li>
<li>Leets, WA 98105 US</li></ul>
</t>
<t>The information provided in the request may be enough to identify a unique location in the LoST server, but that may not be the location intended by the end user.  The &lt;completeLocation&gt; information may alert the user to a mismatch between the provided location information and the unique location the server interpreted that information to identify.</t>

<t>The other use case for this extension is when the &lt;findService&gt; request contains an Invalid Location.
When a LoST
server returns a response to a &lt;findService&gt; request that contains a set of
Civic Address Elements with one or more listed as invalid, this extension allows the server to include in the &lt;locationValidation&gt; element one or more locations that might be the intended location.</t>
<t>In the example cited above, policy at the LoST server might deem a missing &lt;A3&gt; element as being invalid, even if the location information in the request is sufficient to identify a unique address.  In this case, the missing element is listed in the &lt;invalid&gt; list, and a &lt;similarLocation&gt; element could be returned in the response showing a complete civic location that includes the missing &lt;A3&gt; element, just as in the above example the missing &lt;A3&gt; element is included in a &lt;completeLocation&gt; element.</t>

<t>As another example of the use of &lt;similarLocation&gt;, consider the
results based on a similar data set as used above, but where the
&lt;HNO&gt;, &lt;RD&gt;, &lt;STS&gt;, &lt;A1&gt;, and &lt;A3&gt; Civic Address Elements are not sufficient to
locate a unique address, resulting in an invalid location response. Because the LoST server contains additional civic
address elements which, had they been included in the query, would have resulted in a uniquely identifiable location, the server can include one or more &lt;similarLocation&gt; elements
    containing the supplied Civic Address Elements plus the omitted
    ones.  Since <xref target="RFC5222"/>
does not have a way for this additional location information to
be returned in the &lt;findServiceResponse&gt;, this document extends <xref target="RFC5222"/>
so that the LoST &lt;locationValidation&gt; element of the &lt;findServiceResponse&gt; can include one or
more &lt;similarLocation&gt; elements
representing similar civic locations.
</t>

<t>To show this, suppose that a slightly modified version of the above address  is sent within a Lost
&lt;findService&gt; request:
</t>

<t>Input address:
<ul empty="true" spacing="compact">
<li>6000 15th Avenue North</li>
<li>Leets, WA US</li></ul>
</t>

<t>This time we make the assumption that the
address is deemed invalid by the LoST server because there is no such thing
as "15th Avenue North" within the LoST server's data for the city of Leets.  However,
we also happen to know for this example that there are two addresses within the
address dataset that are "similar", when all parts of the address are taken as a
whole.  These similar addresses that could be returned to the client are as follows:
</t>

<t>Similar address #1:
<ul empty="true" spacing="compact">
<li>6000 15th Avenue Northwest</li>
<li>Leets, WA 98107 US</li></ul>
</t>

<t>Similar address #2:
<ul empty="true" spacing="compact">
<li>6000 15th Avenue Northeast</li>
<li>Leets, WA 98105 US</li></ul>
</t>

<t>This extension allows the LoST server to include the above similar addresses
in the response to a &lt;findService&gt; request with 'validateLocaton' set to true.  <xref target="examples"/> shows examples of the LoST request and response XML message
fragments for the above valid and invalid scenarios, returning the
complete or similar addresses respectively.
</t>

</section>
<section anchor="rli" title="Returned Location Information">

<t>A LoST server implementing this extension MAY include &lt;completeLocation&gt; or &lt;similarLocation&gt; elements within the &lt;locationValidation&gt; portion of the &lt;findServiceResponse&gt;.  The &lt;completeLocation&gt; and &lt;similarLocation&gt; elements are of type
    "locationInformation" as defined by the LoST schema in <xref target="RFC5222"/>.  These elements MAY contain location information
    either in the Basic Civic profile defined in <xref target="RFC5222"/> or in another profile whose definition provides instructions
    concerning its use with this extension; this
    MUST be the same profile as the location in the query.
    When used with the Basic Civic profile, these elements contain  a
    &lt;civicAddress&gt; element as defined in <xref target="RFC5139"/>.
</t>
<t>If there is at least one Civic Address Element in the &lt;invalid&gt; list, the LoST server MAY include one or more &lt;similarLocation&gt; element in the response.  If there are too many possible locations, the server MAY return none, or it MAY return a subset considered most likely.  How many to return is left to the implementation of the LoST server.  The server is unable to know what the intended location information was supposed to be; it is guessing.  Therefore, the correct location may or may not be one of the &lt;similarLocation&gt; elements the server provides, and the client cannot assume that any one of them is the correct location.</t>

<t>
Where
a LoST server contains additional location information relating to the Civic
Address used in a &lt;findService&gt; request, the &lt;findServiceResponse&gt; message MAY include a &lt;completeLocation&gt; element containing additional location
information along with the original validated Civic Address Elements; the additional Civic Address Elements may
be deemed by local policy as necessary to form a Complete Location.  The &lt;completeLocation&gt; element MUST NOT be returned in response messages where
any Civic Address Elements occur in the invalid list of the response, or where the set of Civic Address Elements in the request do not identify a unique location. The Complete Location MUST NOT contain any elements that would be marked as invalid, or cause an error, if a recipient of that location performs a subsequent &lt;findService&gt; request using the Complete Location.  However, if a subsequent request includes the Complete Location, the corresponding response MAY include elements in the unchecked list.
</t>
<t>Clients can control the return of additional location information by including the optional 'returnAdditionalLocation' attribute with possible values 'none', 'similar', 'complete' or 'any'.  The value 'none' means to not return additional location information, 'similar' and 'complete' mean to only return the respective type of additional location information (if the server could send any) and 'any' means to include Similar and/or Complete Location (if the server could send any).  If the request includes this attribute, the server MUST NOT send location information contravening the client’s request.  Omitting this attribute in the request is equivalent to including it with the value 'none'.</t>
<t>The server may determine that there are many possible Similar Locations and decide not to send them all.  The number of Similar Locations sent is entirely up to the server.  The server MAY include a 'similarLocationsOmitted' attribute which contains a non-zero integer indicating the minimum number of Similar Locations not included in the response. There may be more than the indicated similar locations available in the data held by the server, but no mechanism to request more Similar Locations is provided.</t>

<t>Clients MAY ignore the location information this extension defines.  The information is optional to send, and optional to use.  In the case where the location information in the request was valid, this extension does not change the validity.  In the case where the location information in the request is invalid, but alternate location information is returned, the original location remains invalid, and the LoST server does not change the mapping response other than optionally including the information defined by this extension.
</t>

<t>The &lt;completeLocation&gt; and &lt;similarLocation&gt; elements use the &lt;locationInformation&gt; element from <xref target="RFC5222"/> updated by <xref target="I-D.ietf-ecrit-lost-planned-changes"/>, including the 'profile' attribute, which is useful if the request contains location information in a profile other than the 'civic' profile.  The 'profile' attribute MUST be included in both the request and the response and MUST be the same profile in both.
</t>
</section>
<section anchor="examples" title="Examples">
<section anchor="example_valid" title="Complete Location returned for Valid Location">

<t>
This example is based on the example request above; the LoST
server considered the location in the query to be valid but
missing some Civic Address elements, so in the Returned Location
Information in the &lt;findServiceResponse&gt;, the server includes a
&lt;completeLocation&gt; element supplying the omitted Civic Address
elements &lt;A2&gt;, &lt;PC&gt;, and &lt;PCN&gt;.
</t>

<figure>
<artwork>

   &lt;!-- =====Request=================================== --&gt;


   &lt;findService xmlns="urn:ietf:params:xml:ns:lost1"
     xmlns:rli="urn:ietf:params:xml:ns:lost-rli1"
     validateLocation="true" rli:returnAdditionalLocation="any"&gt;

     &lt;location id="587cd3880" profile="civic"&gt;
       &lt;civicAddress
         xmlns="urn:ietf:params:mxl:ns:pidf:geopriv10:civicAddr"&gt;

         &lt;country&gt;US&lt;/country&gt;
         &lt;A1&gt;WA&lt;/A1&gt;
         &lt;A3&gt;Leets&lt;/A3&gt;
         &lt;RD&gt;15th&lt;/RD&gt;
         &lt;STS&gt;Avenue&lt;/STS&gt;
         &lt;POD&gt;Northwest&lt;/POD&gt;
         &lt;HNO&gt;6000&lt;/HNO&gt;

       &lt;/civicAddress&gt;
     &lt;/location&gt;

     &lt;service&gt;urn:service:sos&lt;/service&gt;

   &lt;/findService&gt;


   &lt;!-- =====Response================================== --&gt;


   &lt;findServiceResponse
     xmlns="urn:ietf:params:xml:ns:lost1"
     xmlns:rli="urn:ietf:params:xml:ns:lost-rli1"
     xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"&gt;

     &lt;mapping
       expires="NO-CACHE"
       lastUpdated="2006-11-01T01:00:00Z"
       source="authoritative.example"
       sourceId="8799e346000098aa3e"&gt;

       &lt;displayName xml:lang="en"&gt;Leets 911&lt;/displayName&gt;
       &lt;service&gt;urn:service:sos&lt;/service&gt;
       &lt;uri&gt;sip:leets-911@example.com&lt;/uri&gt;
       &lt;serviceNumber&gt;911&lt;/serviceNumber&gt;

     &lt;/mapping&gt;

     &lt;locationValidation&gt;

       &lt;valid&gt;ca:country ca:A1 ca:A3 ca:RD ca:STS ca:POD ca:HNO
       &lt;/valid&gt;
       &lt;invalid&gt;&lt;/invalid&gt;
       &lt;unchecked&gt;&lt;/unchecked&gt;

       &lt;rli:completeLocation profile="civic"&gt;&lt;!--completed address--&gt;
         &lt;ca:civicAddress&gt;
           &lt;ca:country&gt;US&lt;/ca:country&gt;
           &lt;ca:A1&gt;WA&lt;/ca:A1&gt;
           &lt;ca:A2&gt;SHOWAK COUNTY&lt;/ca:A2&gt;
           &lt;ca:A3&gt;LEETS&lt;/ca:A3&gt;
           &lt;ca:RD&gt;15TH&lt;/ca:RD&gt;
           &lt;ca:STS&gt;AVENUE&lt;/ca:STS&gt;
           &lt;ca:POD&gt;NORTHWEST&lt;/ca:POD&gt;
           &lt;ca:HNO&gt;6000&lt;/ca:HNO&gt;
           &lt;ca:PC&gt;98106&lt;/ca:PC&gt;
           &lt;ca:PCN&gt;LEETS&lt;/ca:PCN&gt;
         &lt;/ca:civicAddress&gt;

     &lt;/rli:completeLocation&gt;

   &lt;/locationValidation&gt;

     &lt;path&gt;
       &lt;via source="authoritative.example"/&gt;
     &lt;/path&gt;

     &lt;locationUsed id="587cd3880"/&gt;

   &lt;/findServiceResponse&gt;


   &lt;!-- =============================================== --&gt;



</artwork>
</figure>

</section>
<section anchor="example_invalid" title="Similar Location returned for Invalid Location">

<t>
The following example shows two Similar Locations returned
in a &lt;findServiceResponse&gt; message when the original input address is
considered invalid, in this example because the LoST server needed the omitted POD data to match a unique address.
</t>

<figure>
<artwork>

&lt;!-- =====Request=================================== --&gt;


   &lt;findService xmlns="urn:ietf:params:xml:ns:lost1"
     xmlns:rli="urn:ietf:params:xml:ns:lost-rli1"
     validateLocation="true"
     rli:returnAdditionalLocation="any"&gt;

     &lt;location id="587cd3880" profile="civic"&gt;
        &lt;civicAddress
         xmlns="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"&gt;

           &lt;country&gt;AU&lt;/country&gt;
           &lt;A1&gt;QLD&lt;/A1&gt;
           &lt;A3&gt;PIMPANA&lt;/A3&gt;
           &lt;RD&gt;SHIRLEY&lt;/RD&gt;
           &lt;STS&gt;STREET&lt;/STS&gt;
           &lt;HNO&gt;98&lt;/HNO&gt;
           &lt;PC&gt;4209&lt;/PC&gt;
           &lt;PCN&gt;PIMPANA&lt;/PCN&gt;

       &lt;/civicAddress&gt;
     &lt;/location&gt;

     &lt;service&gt;urn:service:sos&lt;/service&gt;

   &lt;/findService&gt;

   &lt;!-- =====Response=================================== --&gt;


   &lt;findServiceResponse
     xmlns="urn:ietf:params:xml:ns:lost1"
     xmlns:rli="urn:ietf:params:xml:ns:lost-rli1"
     xmlns:ca="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"&gt;

     &lt;mapping
       expires="NO-CACHE"
       lastUpdated="2006-11-01T01:00:00Z"
       source="authoritative.example"
       sourceId="8799e346000098aa3e"&gt;

       &lt;displayName xml:lang="en"&gt;Australian 000&lt;/displayName&gt;
       &lt;service&gt;urn:service:sos&lt;/service&gt;
       &lt;uri&gt;sip:000@example.com&lt;/uri&gt;
       &lt;serviceNumber&gt;000&lt;/serviceNumber&gt;

     &lt;/mapping&gt;

     &lt;locationValidation similarLocationsOmitted="5"&gt;

       &lt;valid&gt;ca:country ca:A1 ca:A3 ca:STS ca:RD&lt;/valid&gt;
       &lt;invalid&gt;ca:POD&lt;/invalid&gt;
       &lt;unchecked&gt;ca:HNO ca:PC ca:PCN&lt;/unchecked&gt;

       &lt;rli:similarLocation profile="civic"&gt;&lt;!--similar location--&gt;
         &lt;ca:civicAddress&gt;  &lt;!-- similar address #1 --&gt;
           &lt;ca:country&gt;AU&lt;/ca:country&gt;
           &lt;ca:A1&gt;QLD&lt;/ca:A1&gt;
           &lt;ca:A3&gt;PIMPANA&lt;/ca:A3&gt;
           &lt;ca:RD&gt;SHIRLEY&lt;/ca:RD&gt;
           &lt;ca:STS&gt;STREET&lt;/ca:STS&gt;
           &lt;ca:POD&gt;NORTH&lt;/ca:POD&gt;
           &lt;ca:HNO&gt;98&lt;/ca:HNO&gt;
           &lt;ca:PC&gt;4209&lt;/ca:PC&gt;
           &lt;ca:PCN&gt;PIMPANAS&lt;/ca:PCN&gt;
         &lt;/ca:civicAddress&gt;
       &lt;/rli:similarLocation&gt;
       &lt;rli:similarLocation profile="civic" &gt;
         &lt;ca:civicAddress&gt;  &lt;!-- similar address #2 --&gt;
         &lt;ca:country&gt;AU&lt;/ca:country&gt;
         &lt;ca:A1&gt;QLD&lt;/ca:A1&gt;
         &lt;ca:A3&gt;PIMPANA&lt;/ca:A3&gt;
         &lt;ca:RD&gt;SHIRLEY&lt;/ca:RD&gt;
         &lt;ca:STS&gt;STREET&lt;/ca:STS&gt;
         &lt;ca:POD&gt;SOUTH&lt;/ca:POD&gt;
         &lt;ca:HNO&gt;98&lt;/ca:HNO&gt;
         &lt;ca:PC&gt;4209&lt;/ca:PC&gt;
         &lt;ca:PCN&gt;PIMPANAS&lt;/ca:PCN&gt;

         &lt;/ca:civicAddress&gt;
     &lt;/rli:similarLocation&gt;

   &lt;/locationValidation&gt;

     &lt;path&gt;
       &lt;via source="authoritative.example"/&gt;
     &lt;/path&gt;

     &lt;locationUsed id="587cd3880"/&gt;

   &lt;/findServiceResponse&gt;


   &lt;!-- =============================================== --&gt;


</artwork>
</figure>


</section>
</section>
<section anchor="XMLSchema" title="XML Schema">


<t>This section provides the schema of the LoST extensions, based on the schema in
  <xref target="I-D.ietf-ecrit-lost-planned-changes" />
</t>

<figure>
<artwork>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:lost1="urn:ietf:params:xml:ns:lost1"
           xmlns="urn:ietf:params:xml:ns:lost-rli1"
           targetNamespace="urn:ietf:params:xml:ns:lost-rli1"
           elementFormDefault="qualified"&gt;
     &lt;!-- Import base Lost --&gt;
     &lt;xs:import namespace="urn:ietf:params:xml:ns:lost1"/&gt;
&lt;!-- extend findService by placing the following
    at the extensionPoint
    in the included commonRequestPattern: --&gt;
      &lt;xs:attribute name="returnAdditionalLocation" use="optional"&gt;
       &lt;xs:simpleType&gt;
          &lt;xs:restriction base="xs:token"&gt;
            &lt;xs:enumeration value="none"/&gt;
            &lt;xs:enumeration value="similar"/&gt;
            &lt;xs:enumeration value="complete"/&gt;
            &lt;xs:enumeration value="any"/&gt;
          &lt;/xs:restriction&gt;
        &lt;/xs:simpleType&gt;
      &lt;/xs:attribute&gt;


      &lt;!-- extend locationValidation by placing the following
               at the extensionPoint --&gt;
      &lt;xs:group&gt;
        &lt;xs:choice minOccurs="0"&gt;
          &lt;xs:element name="similarLocation" 
                    type="lost1:locationInformation"
                    minOccurs="1" maxOccurs="unbounded" /&gt;
          &lt;xs:element name="completeLocation" 
                    type="lost1:locationInformation"/&gt;
        &lt;/xs:choice&gt;
      &lt;/xs:group&gt;

      &lt;!-- and also at the locationValidation extensionPoint --&gt;
      &lt;xs:attribute name="similarLocationsOmitted" use="optional"&gt;
        &lt;xs:simpleType&gt;
          &lt;xs:restriction base="xs:integer"&gt;
              &lt;xs:minInclusive value="1"/&gt;
              &lt;/xs:restriction&gt;
        &lt;/xs:simpleType&gt;
      &lt;/xs:attribute&gt;

&lt;/xs:schema&gt;

</artwork>
</figure>

</section>
<section anchor="security" title="Security Considerations">

<t>As this document defines extensions to <xref target="RFC5222"/>, the Security Considerations of that document apply here. </t>
<t>Whether the input to the LoST server is a Valid or Invalid Location, the LoST
server ultimately determines what it considers to be a Valid Location.  Even
in the case where the input location is valid, the requester still might not
actually understand where that location is.  For this kind of Valid Location
use case, this extension will typically return more location information
than what the requester started with, which might reveal to the requester additional information (additional CAtypes) about the
location.  While this is very desirable in some scenarios such as supporting an emergency call, it might not be as desirable
for other services.  Individual LoST server implementations should
consider the risk of releasing more detail versus the value in doing so.
Generally, supplying more information (CAtypes) is not considered to be a significant problem because
the requester has to already have enough information for the location to be considered
valid, which in most cases is enough to uniquely locate the address.
Providing more CAtypes generally doesn't actually reveal anything more.
When Invalid Locations are submitted, this extension allows the
LoST response to include locations that are similar to what
was input, again resulting in more information provided in the response
than was sent in the request.  LoST server implementations should
evaluate the particular use cases where this extension is supported,
and weigh the risks around its use.  Many services
available today via the Internet offer similar features, such as "did you
mean" or address completion, so this capability is not introducing
any fundamentally new security concern.
</t>
<t>The similar location service could be misused to attempt to enumerate the
    entire database by running a high volume of invalid or partial queries.  The LoST
    server can limit the volume of similar locations it returns.  It can also
    authenticate queries and limit the service to known queriers</t>

</section>
<section anchor="iana" title="IANA Considerations">

    <section title="XML Schema Registration">
        <t>IANA is requested to register the following in the "schema" sub-registry of the IETF XML Registry per <xref target="RFC3688"/>.</t>
    <figure><artwork><![CDATA[
   URI:  urn:ietf:params:xml:schema:lost-rli1

   Registrant Contact:  IETF ECRIT Working Group, Brian Rosen
      (br@brianrosen.net).

   XML Schema: The XML schema to be registered is contained
      in Section 6.
]]></artwork></figure></section>

<section title="LoST-RLI Namespace Registration">
  <t>IANA is requested to register the following in the "ns" sub-registry of the IETF XML registry per <xref target="RFC3553"/>.</t>
   <figure><artwork><![CDATA[


   URI:  urn:ietf:params:xml:ns:lost-rli1

   Registrant Contact:  IETF ECRIT Working Group, Brian Rosen
      (br@brianrosen.net).

   XML:

BEGIN
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
  "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="content-type"
        content="text/html;charset=iso-8859-1"/>
  <title>LoST Returned Location Information Namespace</title>
</head>
<body>
  <h1>Namespace for LoST Returned Location Information extension</h1>
  <h2>urn:ietf:params:xml:ns:lost-rli1</h2>
<p>See <a href="http://www.rfc-editor.org/rfc/rfc????.txt">
   RFC????</a>.</p>
</body>
</html>
END
]]></artwork></figure>
   </section>


</section>


</middle>
<back>

<references title="Normative References">
&rfc2119;
&rfc3553;
&rfc3688;
&rfc5139;
&rfc5222;
&rfc8174;
&I-D.ietf-ecrit-lost-planned-changes;
</references>

<references title="Informative References">
&rfc6848;

</references>

</back>
</rfc>
