One document matched: draft-polk-geopriv-location-based-error-registry-00.txt
Geopriv Working Group James Polk
Internet-Draft Cisco Systems
Expires: April 16th, 2007 Oct 16th, 2006
A Geopriv Registry for Location-based Error Response Codes
draft-polk-geopriv-location-based-error-registry-00
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other documents
at any time. It is inappropriate to use Internet-Drafts as
reference material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on April 8th, 2007.
Copyright Notice
Copyright (C) The Internet Society (2006).
Abstract
This document IANA registers a list of GEOPRIV location-specific
error response indications, to be used by signaling protocols
describing a location-based error experienced by an intermediary or
recipient endsystem. For example, the registered values here can be
placed in a SIP Reason header contained within a 424 (Bad Location
Information) response, or in a Location-to-Service Translation
(LoST) query failure, giving specific meaning to the reason for the
error. This additional information is to provide the location
transmitter more granular information about what was wrong with the
supplied location in the original request message.
Polk Expires April, 2006 [Page 1]
Internet-Draft Location Error Code Registry Oct 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1 Conventions used in this document . . . . . . . . . . . . 3
2. Basic Operation of Location Error Messaging . . . . . . . . . 3
3. Failure Reasons to be Registered . . . . . . . . . . . . . . 5
3.1 Location Format Not Supported . . . . . . . . . . . . . . 6
3.2 Geo-location Format Desired Instead . . . . . . . . . . . 6
3.3 Civic-location Format Desired Instead . . . . . . . . . . 6
3.4 Unsupported Schema . . . . . . . . . . . . . . . . . . . . 7
3.5 Cannot Parse Location Supplied . . . . . . . . . . . . . . 7
3.6 Cannot Find Location . . . . . . . . . . . . . . . . . . . 8
3.7 Cannot Dereference . . . . . . . . . . . . . . . . . . . . 8
3.8 Conflicting Locations Supplied . . . . . . . . . . . . . . 8
3.9 Incomplete Location Supplied . . . . . . . . . . . . . . . 9
3.10 Dereference Timeout . . . . . . . . . . . . . . . . . . . 9
3.11 Cannot Process Dereference . . . . . . . . . . . . . . . . 9
4. LoST Error Codes . . . . . . . . . . . . . . . . . . . . . . 10
4.1 400 Bad Request . . . . . . . . . . . . . . . . . . . . . 10
4.2 403 Forbidden . . . . . . . . . . . . . . . . . . . . . . 10
4.3 404 Not Found . . . . . . . . . . . . . . . . . . . . . . 10
4.4 414 Location Error . . . . . . . . . . . . . . . . . . . . 10
4.5 500 Server Internal Error . . . . . . . . . . . . . . . . 10
4.6 501 Service Not Implemented . . . . . . . . . . . . . . . 10
4.7 504 Server Time-Out . . . . . . . . . . . . . . . . . . . 11
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.1 Normative References . . . . . . . . . . . . . . . . . . 12
8.2 Informative References . . . . . . . . . . . . . . . . . 12
Author's Address . . . . . . . . . . . . . . . . . . . . . . 12
Intellectual Property and Copyright Statements . . . . . . . 12
1. Introduction
This document creates a registry of specific reasons for
location-based errors in certain protocol transactions. These
reasons can be included in other transport protocols to provide the
originator additional information that something was wrong with a
location related parameter or value during processing.
The intention here is to create a common set of location-specific
error codes to be used across multiple protocols so that when more
than one is used, the information is transferred between them in a
common way, should the error require original location sender
knowledge.
For example, SIP defines location conveyance in [ID-SIP-LOC].
Within that document a new error response was created, the 424 (Bad
Polk Expires April, 2006 [Page 2]
Internet-Draft Location Error Code Registry Oct 2006
Location Information). A SIP user agent (UA) receiving this 424
response would not be receiving enough information to know the
specifics about what was bad, just that the transaction's error had
to do with location supplied in the SIP request. [ID-SIP-LOC]
specifies that a [RFC3326] Reason header can be used in this 424
response to provide additional/more granular location-specific
information to the originating user agent client (UAC). [ID-SIP-
LOC] also created the "Geolocation" Reason protocol, as specified by
[RFC3326]. Within this Reason protocol, cause values provide
additional specific information to a recipient as to the reason for
the error message (in this case). These reason types are defined
here.
This document is not limited to use with a SIP Reason header. Other
text based protocols can use these location error types to provide
more granular causes for a message failure.
[NOTE: need to add what the reaction would be if used by LoST]
1.1 Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described
in [RFC2119].
2. Basic Operation of Location Error Messaging
The following explain the basic operation of location-based errors,
requiring transport back to the originator of a request message to
have a more detailed reason why a particular request message failed.
Figure 1. shows a request/response transaction between two
endpoints. Currently, if the reason for Bob's rejection of the
request is location related, there is no specified means of
indicating this in a response message. SIP, for example, has a
Reason header, but no current "protocol" is IANA registered to
indicate what about the location provided in the request caused the
error response. This registry takes advantage of [ID-SIP-LOC],
which registered the Geolocation protocol for the Reason header, to
give these location specific reasons for the failure.
Polk Expires April, 2006 [Page 3]
Internet-Draft Location Error Code Registry Oct 2006
Alice Bob
| |
| Request w/ Location |
|--------------------------------->|
| | **********************
| | * There is something *
| | * wrong with the *
| | * supplied Location *
| | **********************
| 424 (Bad Location Information) |
| with Location Error indication |
|<---------------------------------|
| |
Figure 1. User to User Location Error
The reason(s) for this type of error response currently are listed
in Section 3 of this document.
Figure 2. shows an example of Alice sending a Request message that
is processed by message routing server, which routes the message
based on the location (supplied in the request) of the requesting
user (Alice).
Alice Proxy1
| |
| Request w/ Location |
|--------------------------------->|
| | **********************
| | * There is something *
| | * wrong with the *
| | * supplied Location *
| | **********************
| 424 (Bad Location Information) |
| with Location Error indication |
|<---------------------------------|
| |
Figure 2. User to Routing Server Location Error
The reason(s) for this type of error response can be one or more of
many possibilities, including a malformed Location Object which
couldn't be parsed by the server to make a routing decision upon, or
an unknown location format, or an incomplete location object, or
conflicting location information within one or more location objects
in the message.
Figure 3. shows a more complex scenario involving a Alice's user
agent, a routing Proxy which performs a LoST query for the service
of the request (for example an emergency service PSAP URI
resolution).
Polk Expires April, 2006 [Page 4]
Internet-Draft Location Error Code Registry Oct 2006
Alice Proxy1 LoST Server
| | |
| Request w/ | |
| Location | |
|--------------------->| |
| | LoST Query |
| |----------------->|
| | | **********************
| | | * There is something *
| | | * wrong with the *
| | | * Location in Query *
| | | **********************
| | LoST Response |
| | w/ Error Indication
| |<-----------------|
| 424 (Bad Location) | |
| with Reason Header | |
| Location indication | |
|<---------------------| |
| | |
Figure 3. LoST Query Location Error
In the use-case of Figure 3., the error did not occur between
Alice's user agent and Proxy1, which means the error may not be
within the same protocol as the one used by Alice's endpoint. The
location based error also did not occur from Proxy1 towards the
ultimate destination, but either towards the LoST query or in the
LoST server itself. These LoST error codes are listed in Section 4
at this time.
This registry provides the means of transferring the location
specific error reason from the LoST protocol, received by Proxy1 in
this case, to the Signaling protocol used by Alice; in this case
SIP, but this can be another protocol (such as HTTP perhaps).
The key functionality here is the ability to take a LoST specific
error and convert it to a Reason header for the signaling leg from
the SIP server that received it towards Alice's UA.
IETF discussion should decide if the LoST unique error codes should
be returned raw to a UA, or if some of them should be harmonized
(i.e. consolidated) with the error codes listed below. A reason for
this is that perhaps not all UAs will understand each LoST error,
but make perfect sense within a LoST only transaction, nor may the
UA know what to do with certain ones either.
3. Failure Reasons to be Registered
Here is the list and description of each IANA registered location
Polk Expires April, 2006 [Page 5]
Internet-Draft Location Error Code Registry Oct 2006
error reason code. If the location generator were to receive one of
these indications in a SIP response, it would be in a Reason header.
The protocol field of this Reason header would be "geolocation", as
defined in [ID-SIP-LOC]. Examples of the Reason header are given
for each indication below.
3.1 Location Format Not Supported
"Location Format not supported" means the location format supplied
in the request, by-value or by-reference, was not supported. This
cause means the recipient understood that location was included in
the message, but the format is not supported. If the format is
understood, but not desired, a cause=2 or cause=3 response SHOULD be
returned.
Cause value: 1
Default text string: Location format not supported
An example usage in a SIP Reason header:
Reason: geolocation; cause=1; Location format not supported
3.2 Geo-location Format Desired Instead
"Geo-location Format Desired" means the location format supplied in
the request (here probably civic-location), by-value or
by-reference, was understood and supported, but that the recipient,
or an application on the recipient prefers a geo-location format be
supplied instead.
A typical reaction to receiving this cause value is to resend the
original message with the geo-location format included.
Cause value: 2
Default text string: Geo-location Format Desired
An example usage in a SIP Reason header:
Reason: geolocation; cause=2; Geo-location Format Desired
3.3 Civic-location Format Desired Instead
"Civic-location Format Desired" means the location format supplied
in the request (here probably geo-location), by-value or
by-reference, was understood and supported, but that the recipient,
or an application on the recipient prefers a civic-location format
be supplied instead.
Polk Expires April, 2006 [Page 6]
Internet-Draft Location Error Code Registry Oct 2006
A typical reaction to receiving this cause value is to resend the
original message with the civic-location format included.
Cause value: 3
Default text string: Civic-location Format Desired
An example usage in a SIP Reason header:
Reason: geolocation; cause=3; Civic-location Format Desired
3.4 Unsupported Schema
(NOTE: do we articulate which one is wanted with separate error codes?
i.e. one for sip, one for sips, one for http, etc)
"Unsupported Schema" means the location dereferencer cannot
dereference use the location-by-reference URI supplied because it
does not support the necessary protocol to do this. For example, if
an http-URL is supplied, but the dereferencer does not have http
running on that machine, it cannot dereference the location of the
sender.
A typical reaction to receiving this error would be for the location
sender to send a URI with a different schema.
Cause value: 4
Default text string: unsupported schema
An example usage in a SIP Reason header:
Reason: geolocation; cause=4; unsupported schema
3.5 Cannot Parse Location Supplied
"Cannot parse location supplied" means the location provided,
whether by-value or by-reference in a request is not well formed.
Cause value: 5
Default text string: Cannot parse location supplied
An example usage in a SIP Reason header:
Reason: geolocation; cause=5; Cannot parse location supplied
Polk Expires April, 2006 [Page 7]
Internet-Draft Location Error Code Registry Oct 2006
3.6 Cannot Find Location
"Cannot find location" means location should have been in the
message received, but the recipient cannot find it, either because
it is not in the message, or it is encrypted/opaque. The location
of the sender's location in a SIP message is identified in a
Location header. A cid:URI indicates the location is by-value in a
message body. A schema-URI indicates the location is by-reference
on a remote node to be dereferenced.
A typical reaction to receiving this error would be for the location
sender to verify it has indeed included location in the new request.
Another consideration would be for the location sender to not
encrypt the location in the request message.
Cause value: 6
Default text string: Cannot find location
An example usage in a SIP Reason header:
Reason: geolocation; cause=6; Cannot find location
3.7 Cannot Dereference (Location-URI returns an error)
"Cannot dereference" means the act of dereferencing failed to return
the target's location. This may mean the URI is bad, or the
referencable server some other error to the dereference request.
Cause value: 7
Default text string: Cannot dereference
An example usage in a SIP Reason header:
Reason: geolocation; cause=7; Cannot dereference
3.8 Conflicting Locations Supplied
"Conflicting Locations Supplied" means a location recipient received
more than one location for the location target, and is unsure what
to do because each location is towards a different position. This is
a case of too much information, and the information is conflicting.
A typical reaction to receiving this error is to reduce the number
of different locations supplied in the request, and send another
message to the location recipient.
Cause value: 8
Polk Expires April, 2006 [Page 8]
Internet-Draft Location Error Code Registry Oct 2006
Default text string: Conflicting Locations Supplied
An example usage in a SIP Reason header:
Reason: geolocation; cause=8; conflicting locations supplied
3.9 Incomplete Location Supplied
"Incomplete Location Supplied" means there is not enough location
information, by-value or by-reference, to determine where the
location target is.
A typical reaction to receiving this message is of the sender to
verify it has a complete position to convey.
Cause value: 9
Default text string: Incomplete location supplied
An example usage in a SIP Reason header:
Reason: geolocation; cause=9; Incomplete location supplied
3.10 Dereference Timeout
"Dereference Timeout" means that the dereferencing node has not
received the target's location within a reasonable timeframe. In
such a case, this cause value would be placed in a Reason header of
a 424 (Bad Location Information) response to the location sender.
Cause value: 10
Default text string: Dereference Timeout
An example usage in a SIP Reason header:
Reason: geolocation; cause=10; Dereference Timeout
3.11 Cannot Process Dereference
"Cannot process Dereference" means the dereference protocol has
received an overload condition error, indicating the location cannot
be accessed at this time. If a sip or sips schema were used to
dereference the target's location, and a 503 (Service Unavailable)
were the response to the dereference query, this cause=11 value
would be placed in the Reason header of a 424 (Bad Location
Information) response to the location sender.
Cause value: 11
Polk Expires April, 2006 [Page 9]
Internet-Draft Location Error Code Registry Oct 2006
Default text string: Cannot process Dereference
An example usage in a Reason header in SIP:
Reason: geolocation; cause=11; Cannot process Dereference
4. LoST Error Codes
The following is a set of error codes specific to between a
application server and a LoST server, in which the request message
contained location, and the error with the request is location
specific.
Currently, the LoST specific errors, currently parallel to the ones
in [ID-LOST] are maintaining the 3 digit error code numbers, to
remain consistent with what SIP uses. IETF consensus will sway this
to remain or change.
**Some, or all of the error messages below can be sent in whole from
the application signaling server to the user agent, relaying
through the intermediary server (for example, a SIP server).
4.1 400 Bad Request
The request could not be understood due to malformed syntax.
4.2 403 Forbidden
The server understood the request, but is refusing to fulfill it.
Authorization will not help, and the request SHOULD NOT be repeated.
4.3 404 Not Found
The server has definitive information that there is no service
mapping for the location specified.
4.4 414 Location Error
The location provided does not exist or fields within the location
information are contradictory.
4.5 500 Server Internal Error
The server encountered an unexpected condition that prevented it from
fulfilling the request. The client MAY retry the request after
several seconds.
4.6 501 Service Not Implemented
The server does not implement mapping for the service requested and
Polk Expires April, 2006 [Page 10]
Internet-Draft Location Error Code Registry Oct 2006
cannot provide an alternate service.
4.7 504 Server Time-Out
A server time-out occurs if the server contacted tries to recursively
resolve the query, but cannot get an answer within the time limit set
for the query.
5. IANA Considerations
This document creates the following IANA registrations defined in
Section 3 and 4 of this document, and recommends these registrations
be in a new table format similar to this:
Cause-Code Optional-Default-Text Reference
---------- --------------------- ---------
Cause=1 Location Format Not Supported [This doc]
Cause=2 Geo-location Format Desired [This doc]
Cause=3 Civic-location Format Desired [This doc]
Cause=4 Unsupported Schema [This doc]
Cause=5 Cannot Parse Location Supplied [This doc]
Cause=6 Cannot Find Location [This doc]
Cause=7 Cannot Dereference [This doc]
Cause=8 Conflicting Locations Supplied [This doc]
Cause=9 Incomplete Location Supplied [This doc]
Cause=10 Dereference Timeout [This doc]
Cause=11 Cannot Process Dereference [This doc]
Cause=400 Bad Request [This doc]
Cause=403 Forbidden [This doc]
Cause=404 Not Found [This doc]
Cause=414 Location Error [This doc]
Cause=500 Server Internal Error [This doc]
Cause=501 Service Not Implemented [This doc]
Cause=504 Server Time-Out [This doc]
Legend:
------
Cause-Code - Cause value for this indication
Optional-Default-Text - optional text string of indication
Reference - document which is the reference for this
cause value
6. Security Considerations
The security considerations of [RFC3261], [ID-SIP-LOC] and [ID-LoST]
apply to this document. All the security concerns and measures to
ensure a robust delivery of information applied to those 3 documents
cover any security concerns this document may have created.
Polk Expires April, 2006 [Page 11]
Internet-Draft Location Error Code Registry Oct 2006
7. Acknowledgements
To Allison Mankin for offering the motivation for this document's
idea. To the authors of [ID-LOST] for their existing error codes,
which were borrowed for this document.
8. References
8.1 Normative References
[ID-SIP-LOC] J. Polk, B. Rosen, "SIP Location Conveyance",
draft-ietf-sip-location-conveyance-04.txt, "work in
progress", September 2006
[RFC3326] H. Schulzrinne, D. Oran, G. Camarillo, "The Reason Header
Field for the Session Initiation Protocol (SIP)", RFC 3326
Reason Header, December 2002
[ID-LoST] T. Hardie, H. Schulzrinne, A. Newton, H. Tschofenig, "LoST:
A Location-to-Service Translation Protocol",
draft-ietf-ecrit-lost-00.txt, "work in progress", September
2006
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3261] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J.
Peterson, R. Sparks, M. Handley, and E. Schooler, "SIP:
Session Initiation Protocol", RFC 3261, May 2002.
8.2 Informative References
None at this time
Author's Address
James M. Polk
Cisco Systems, Inc.
Colleyville, Texas 76034
USA
Phone: +1-817-271-3552
Email: jmpolk@cisco.com
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed
to pertain to the implementation or use of the technology described
Polk Expires April, 2006 [Page 12]
Internet-Draft Location Error Code Registry Oct 2006
in this document or the extent to which any license under such
rights might or might not be available; nor does it represent that
it has made any independent effort to identify any such rights.
Information on the procedures with respect to rights in RFC
documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use
of such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository
at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Polk Expires April, 2006 [Page 13]
| PAFTECH AB 2003-2026 | 2026-04-22 08:53:05 |