Internet Engineering Task Force James M. Polk Internet Draft Cisco Systems Expiration:Dec 23rd,April 27th, 2003 Brian Rosen File:draft-polk-sipping-location-requirements-00.txtdraft-polk-sipping-location-requirements-01.txt Marconi Session Initiation Protocol LocationRequirements June 23rd,Conveyance October 27th, 2003 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Abstract This document presents the framework and requirements for an extension to the Session Initiation Protocol (SIP) [1] for conveyance of user location information fromonea Session Initiation Protocol (SIP)User Agentuser agent to another SIPUser Agent. The idea that in someentity. We consider casesthe UAC'swhere locationcould affect properinformation is conveyed from end to end, as well as cases where message routing by intermediaries is influenced by the location of theSIP message is explored as well.session initiator. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1 Conventions . . . . . . . . . . . . . . . . . . . . . . . 32. In the Body or in a Header . . . . .1.2 Changes from -00 . . . . . . . . . . . .3 3. Scope of Location in a Message Body. . . . . . . . 3 2. In the Body or in a Header . . . . .4 4. Scope of Location in a Message Header. . . . . . . . . . . .4 4.13 3. Scope of Location in aSingle Header . .Message Body . . . . . . . . . . . . . 44.24. Requirements for UA-to-UA Locationin Separate Message Headers . .Conveyance . . . . . . . .54 5. Requirements forUA-to-UAUA-to-Proxy Server Location Conveyance . . .. . . . .5 6. Additional Requirements forProxy-Routed Location ConveyanceEmergency Calls . . . . . . .6 7. Security Considerations. . 5 7. Current Known Open issues . . . . . . . . . . . . . . . . .7. 6 8.IANASecurity Considerations . . . . . . . . . . . . . . . . . . .. 76 9.Acknowledgements . .IANA Considerations . . . . . . . . . . . . . . . . . . . .87 10.ReferencesAcknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 11. References . . .8 11. Author Information. . . . . . . . . . . . . . . . . . . . .8. 7 12.Full Copyright StatementAuthor Information . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction This document presents the framework and requirements for an extension to the Session Initiation Protocol (SIP) [1] for conveyance of user location information object described by [7] fromone Session Initiation Protocol (SIP)a SIP User Agent to another SIPUser Agent. While reasonable people will initially lean strongly towards having any location conveyanceentity. There are several situations inthe message body only (where location confidentiality canwhich it is appropriate for SIP to bemaintained), thisused to convey Location Information (LI) from one SIP entity to another. This documentexamines usage cases where intermediaries must act on thespecifies requirements when a SIP UAC knows its locationinformation in orderby some means not specified herein, and needs todetermine where the session gets routed.inform another SIP entity. Onesuchexample is to reach your nearest pizza parlor. A chain ofthispizza parlors may have a single well known uri (sip:pizzaparlor.com), that isUS e911-type emergency sessions (voice or instant messaging). With this in mind, both instances will be looked at hereforwarded todetermine iftherequirements are in fact different enoughclosest franchise by the pizzaparlor.com proxy server. The receiving franchise UAS uses the location information of the UAC tonecessitate two or more solutions. To be clear,schedule your delivery. Another important example is emergency calling. A call to sip:sos@example.com is an emergency call as in [3]. The example.com proxy server must route thetwo cases that needcall tobe looked at arethefollowing: 1. one involving a usercorrect emergency response center (ERC) determined by the location ofa User Agent wanting to transmit his/herthe caller. At the ERC, the UAS must determine the correct police/fire/ambulance/... service, which is also based on your location. In many jurisdictions, accurate locationto another userinformation is a required component of auser agent for whatever reason (I wantcall totellan emergency center. A third example is a direction service, which might give youwhere I am); and 2.verbal directions to a venue from your present position. This is asecondcaseinvolvingwhere only theUAC including its location in order to allow an appropriate Emergency Response Center (ERC)destination UAS needs tobe contacted, such as a US e911 Public Safety Answering Point (because that User Agent has signaled for help);receive the location information. This document does not discuss how the UAC discovers or is configured with itsLocationlocation (either coordinate based or civil based).That work is being accomplished inIt also does not discuss theGeopriv Working Group.contents of the Location Object (LO). It does specify the requirements for the "using protocol" in [7]. 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 [2]. 1.2 Changes from -00 Version This is a list of the changes that have been made from the -00 version of this ID: - Brian Rosen was brought on as a co-author - Requirements that a location header were negatively received in the previous version of this document. AD and chair advice was to move all location information into a message body (and stay away from headers) - Added a section of "emergency call" specific requirements - Added an Open Issues section to mention what hasn't been resolved yet in this effort 2. In the Body or in a Header When one user agent wants to inform another user agent where they are, it seems reasonable to have this accomplished by placing the location information (coordinate or civil) in an S/Mime registered and encoded message body, and sending it as part of a SIP request or response. No routing of the request based on the location information is required in this case; therefore no SIP Proxies between these two UAs need to view the location information contained in the SIP messages.However, it may be infeasibleAlthough SIP [1} does not permit a proxy server toplacemodify or delete a body, there is no restriction on viewing bodies. However, S/MIME protection implemented on bodies is only specified between UAS and UAC and if engaged, would render the location object opaque to a proxy server. This problem is similar to that raised in Session Policy [8], where an intermediary may need information inthe message body of requests where/when message routing isa body, such as IP address ofparticular importance for proper session establishment with the intended partymedia streams orparties (i.e. calling an ERC). SIP message bodies are not viewed by Proxy Servers [per 1] in ordercodec choices todo properroute a callrouting. The current proposalproperly. Requirements infront of the SIPPING WG is[8] are applicable touse the mechanism describedrouting based on location, and are incorporated in[3] to universally signal for help. This "sos@example.com" URIthese requirements by reference. It isproposedconceivable todescribe many, if not all ERCs increate aregion or country - regardlessnew header for location information. However, [7] prefers S/MIME for security ofthe original home domain that UA is from. This poses a particular problem when a User Agent is signaling via a Proxy thatLocation Information, and indeed S/MIME isnot within the civil boundaries of the appropriate PSAPpreferable in SIP forthat user. For example, a large enterprise has a campus that spans more thanprotecting onePSAP jurisdiction,part of aUA initiatesmessage. Accordingly, these requirements specify location be carried in asession containingbody. It is theTo header "sos@example.com". Where willuse of S/MIME however, thatProxy route the SIP Request to? The problemlimits routing based on location. Therefore, it seems appropriate to require that, where routing iscompounded if a managed domain only has Proxies in one locationdependent on location, protection ofa multi site infrastructure - includingthepossibility of traversing state or country boundaries in cases in which the UA is mobile. Routing a session set-up or instant message, such as SIP MESSAGElocation information object be accomplished by other mechanisms, probably TLS ("sips:" from[4], becomes an Achilles Heel for SIP if the user agent[1]). It isunaware of the correct ERC routing and expects the correct ERC toenvisioned that S/MIME SHOULD beselectedused when location information is not required bythe SIPproxyrouting machinery..servers, and TLS SHOULD be used when it is. This document does not address the behavior or configuration of SIP Proxy Servers in these cases in order to accomplish location- sensitive routing. That is out of scope, and left for further (complementary) efforts. 3. Scope of Location in a Message Body If the location information is to be contained within a message body, and either another body (SDP for example) is also to be sent in the message, or the LO is to be protected with S/MIME, the rules stated in section 7 of [1] regarding multipart MIME bodies MUST be followed. The format and privacy/security rules of the location information SHOULD be defined within the Geopriv WG. 4.Scope of Location in a Message Header If the location information of the UAC is to be contained within the SIP message header (verses a message body as stated above), one design issue is whether location field(s) are contained within a single header, or multiple headers. The following 2 subsections cover both of these choices for discussion. 4.1 Location in a Single Header Placing location information within a single header of a SIP message has some big advantages: - it is easier to specify the semantics when there are missing fields - it makes readability much easier when reviewing all the location fields contained within the SIP message header ordered as if in a list - an order of the location fields can be specified within this single header (ex: Datum, then Latitude, then Longitude, then Altitude, then... or country, then state/province, then county/region, then city, then district/borough...) This might be important if section 7.3.1 of [1] is still true expedited parsing in Proxies and at the destination. There exist two documents on Location Configuration Information within the Geopriv Working Group, one for Coordinate based location representation (Lat, Long, Alt, Datum, etc) in [5] and one for Civil based Location representation (country, State/province, city, etc) in [6]. Each of these documents should be looked to as a basis for consistency in fields present as well as scope of the fields. If a field is missing, it probably was left out intentionally by the UAC (either because that device didn't know what to populate a particular field with, or a policy prevented it from being included within that SIP message). Any location privacy policy of a user agent within a particular domain should allow the most precise location available be presented as an S/MIME body in the SIP Request or response message once a verifiable ERC is determined to be the intended destination of that session. 4.2 Location in Separate Message Headers Creating separate SIP headers for each location field type (latitude, longitude, country, city, etc) does make each header clean and concise. A grouping of these location headers should occur for readability when viewing the location headers within a SIP message header. And since expediting the processing of emergency calls is important, the header placement considerations of section 7.3.1 of [1] apply to these headers when making emergency calls Each of the message headers should be unique in name within a location conveyance type. In providing location information, the UAC should provide as much information as possible within a certain type of location field group (coordinate or civil), and not mix between groups. In other words, a Latitude header should be used if a coordinate location is being provided by the UAC, but is not by itself realistically valuable information if a complete set civil location headers is also present. There exist two documents on Location Configuration Information within the Geopriv Working Group, one for Coordinate based location representation (Lat, Long, Alt, Datum, etc) in [5] and one for Civil based Location representation (country, State/province, city, etc) in [6]. Each of these documents should be looked to as a basis for consistency in fields present as well as scope of the fields. If a desire of the SIP working group is to limit the number of headers that require IANA registration (and coding for), then fulfilling this requirements document will add as little as 2 to that process (1 for coordinate location and 1 for civil location), or as many as 30+ if each location field requires a unique header. 5.Requirements for UA-to-UA Location Conveyance The following are the requirements for UA-to-UA Location Conveyance situations:REQ UU1U-U1 - MUST work with dialog-initiating SIP Requests and responses, as well as the SIP MESSAGEmethod[4] REQ UU2 - the precision of resolution of the location given by the UAC is determined by the UAC,method[4], and SHOULDbe based on who the UAC is sending this location information to (most likely via local policy) REQ UU3work with most SIP messages. U-U2 - UAC Location information SHOULD remain confidential in route to the destination UAREQ UU4U-U3 - The privacy and security rules established within the Geopriv Working Groupwhichthat would categorize SIP as a 'using protocol' MUST befollowedmet [7]REQ UU5 - The first sub-field must be what type of location information it is (coordinate, civil, GPS, other) 6.5. Requirements forProxy-RoutedUA-to-Proxy Server Location Conveyance The following are the requirements forProxy-RoutedUA-to-Proxy Server Location Conveyance situations:REQ PR1U-PS1 - MUST work with dialog-initiating SIP Requests and responses, as well as the SIP MESSAGEmethod[4] REQ PR2method[4], and SHOULD work with most SIP messages. U-PS2 -a mechanismUAC location information SHOULDberemain confidential inplaceroute tohide this location header from unwanted observation while in transit to, form,the destination, but MUST be useable by intermediary proxy servers. U-PS3 - The privacy andamongsecurity rules established within the Geopriv Working Group which would categorize SIPintermediaries; butas a 'using protocol' MUSTNOTbemandatory for successful conveyancemet [7] U-PS4 - Modification or removal oflocation (don't wanttheSIP Request to fail without this mechanism used during emergencies) REQ PR3LO by proxy servers MUST NOT be required U-PS5 - any mechanism used to prevent unwanted observation of this Location Header(s) CANNOT fail the SIP Request if not understood by intermediary SIP entities or the destination UASREQ PR4 - There SHOULDU-PS6 – It MUST bea mechanismpossible forthe ERCa proxy server torequestassert theUAC's location information (perhaps more precise location information) after the original SIP Request has been received without failing the original SIP Request (which is the most important aspectvalidity ofthis document: thatthesession is receivedlocation information provided by theproper ERC) ItUA. Alternatively, it ispossibleacceptable fora Proxy to determine the proper ERCthere toroute the SIP Requestbe a mechanism for a proxy server to(based on the included location information within supplied by the UAC), yet create the situation where the ERC does not know enoughassert a locationinformationobject itself. 6. Additional Requirements forpersonnel responseEmergency Calls Emergency calls have requirements that are not generally important tothe emergency. REQ PR5 - A SIPother uses for locationHeader field (probably the first if therein SIP: Emergency calls presently have between 2 and 8-second call setup times. There is ample evidence that the longer call setup end of the range causes anorder establishedunacceptable number of callers to abandon theheaders) MUST be what type of location information typecall before it is(coordinate, civil, GPS, other) REQ PR6 - SHOULD have the complete location (coordinate or civil) contained withincompleted. Two-second call completion time is asingle header REQ PR7 -goal of many existing emergency call centers. Allocating 25% of themost precise resolution (defined in [5])SHOULDcall set up for processing privacy concerns seems reasonable; 1 second would begiven by50% of theUAC when sending its location to an ERC (or equivalent facility) REQ PR8goal, which seems unacceptable; less than 0.5 second seems unachievable, therefore: E-1 -proxies SHOULD NOT partially remove location information, but MAY remove it in its entiretyPrivacy mechanisms MUST add no more than 0.5 second of call setup time whencrossing a trust boundary to preserveimplemented in present technology UAs and Proxy Servers. It may be acceptable for full privacyREQ PR9 - proxies MAY add location information unknownmechanisms related to the location of the UACif known(and it's user) to be tried on an initial attempt to place a call, as long as theproxy REQ PR10 -call attempt may be retried without the mechanism ifsection 7.3.1the first attempt fails. Abandoning privacy in cases of[1] needsfailure of the privacy mechanism might be subject to user preference, although such a feature would befollowed,within theLocation Header SHOULDdomain of a UA implementation and thus not subject to standardization. It should benear the topnoted that some jurisdictions have laws that explicitly deny any expectation ofthe SIP message header for rapid parsing purposes REQ PR11 - mixed or additionallocationfields CANprivacy when making an emergency call. E-2 – Privacy mechanisms MUST NOT bepresent providing more precisemandatory for successful conveyance of locationinformation, but MUSTduring an (sos-type) emergency call. E-3 – The retention and retransmission policy of the ERC must beuniquely identifiableable to be made available to the user, andSHOULDoverride the user's normal policy when local regulation governs such retention and retransmission. As in E-2 above, requiring the use of the ERC's retention and/or retransmission policy may berelevant An examplesubject to user preference although in most jurisdictions, local laws specify such policies and may not be overridden by user preference. 7. Current Known Open issues This is a list of open issues that have not yet been addressed to conclusion: - Whether self signed S/MIME bodies can work in both directions in the emergency call scenario (to and from an ERC) as in [9]. It appears that document covers self-signed certs from the UA to ERC direction, but it is not clear it solves communications in the reverse direction. - If S/MIME is chosen as a SHOULD (in general, vs. TLS), this doc mightbe using the coordinateconsider stipulating a special purpose Proxy (an "emergency services" proxy) that can process locationheaderinformation (a Geopriv LO) andadding an identifiable cube or office number field atroute theend ofmessage directly to thecoordinate header. 7.appropriate ERC. At Issue: plain "vanilla" proxies probably won't have the capabilities to route based on location information in the near future, but should that timing be considered here? 8. Security Considerations Conveyance of geo-location of a UAC is problematic for many reasons. This document calls for that conveyance to normally be accomplished through secure message body means (likeS/MIME).S/MIME or TLS). In cases where a session set-up is routed based on the location of the UAC initiating the session or SIP MESSAGE,containing the location in a message body does no good. At the same time,securing the locationin a header might fail in certain times that is detrimental to that session (user). These times are those of emergency sessions (like to a US e911-like service). Although not advocated, this document therefore requires that location conveyance in deterministic times of emergency not be bound to being confidential universally,with an end-to-end mechanism such asthat process might fail and could cost lives. 8.S/MIME is problematic. 9. IANA Considerations There are no IANA considerations within this document at this time.9.10. Acknowledgements To Dave Oran for helping to shape thisidea 10.idea. To Jon Peterson and Dean Willis on guidance of the effort. 11. References - Normative [1] J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, R. Sparks, M. Handley, E. Schooler, "SIP: Session Initiation Protocol ", RFC 3261, June 2002 [2] S. Bradner, "Key words for use in RFCs to indicate requirement levels," RFC 2119, Mar. 1997. [3] H. Schulzrinne, "draft-schulzrinne-sipping-sos-04.txt", Internet Draft, Jan 03, Work in progress [4] B. Campbell, Ed., J. Rosenberg, H. Schulzrinne, C. Huitema, D. Gurle, "Session Initiation Protocol (SIP) Extension for Instant Messaging" , RFC 3428, December 2002 [5] J. Polk, J. Schnizlein, M. Linsner, " draft-ietf-geopriv-dhcp-lci-option-01.txt",option-02.txt", Internet Draft,JuneAug 2003, Work in progress [6] H. Schulzrinne, "draft-schulzrinne-geopriv-dhcp-civil-01.txt", Internet Draft, Feb 03, Work in progress [7] J. Cuellar, J. Morris, D. Mulligan, J. Peterson. J. Polk, "draft- ietf-geopriv-reqs-03.txt", Internet Draft, Mar 03, Work in progress11.[8] J. Rosenberg, "Requirements for Session Policy for the Session Initiation Protocol”, draft-ietf-sipping-session-policy-req-00", [9] C. Jennings, "draft-jennings-sipping-certs-01.txt", Internet Draft, "work in progress", July 2003 12. Author Information James M. Polk Cisco Systems 2200 East President George Bush Turnpike Richardson, Texas 75082 USA jmpolk@cisco.com12. Full Copyright StatementBrian Rosen Marconi Communications, Inc. 2000 Marconi Drive Warrendale, PA 15086 Brian.rosen@marconi.com "Copyright (C) The Internet Society (February 23rd, 2001). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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." The Expiration date for this Internet Draft is:Dec 23rd, 2003April 27th, 2004