SIPCORE Working Group C. Holmberg Internet-Draft I. Sedlacek Intended status: Standards Track Ericsson Expires: December 11, 2011 June 9, 2011 Indication of features supported by proxy draft-holmberg-sipcore-proxy-feature-02.txt Abstract The Session Initiation Protocol (SIP) "Caller Preferences" extension defined in RFC 3840 provides a mechanism that allows a SIP message to convey information relating to the originator's capabilities. This document makes it possible for SIP proxies to convey similar information, by extending the rr-param rule defined in RFC 3261, so that the header field parameter can be used to convey feature tags that indicate features supported by the proxy. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. 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." This Internet-Draft will expire on December 11, 2011. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of Holmberg & Sedlacek Expires December 11, 2011 [Page 1] Internet-Draft proxy feature June 2011 the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Use-case: IMS Service Continuity, handover of session in alerting state . . . . . . . . . . . . . . . . . . . . 3 1.2. Use-case: IMS Enhanced Service Continuity . . . . . . . . 3 1.2.1. Use-case: IMS Enhanced Service Continuity, ATCF discovery . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2. Use-case: IMS Enhanced Service Continuity, identifying sessions subject to handover . . . . . . . 4 1.3. Use-case: IMS Inter-UE Transfer . . . . . . . . . . . . . 4 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 5 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 5 5. User Agent behavior . . . . . . . . . . . . . . . . . . . . . 5 6. Proxy behavior . . . . . . . . . . . . . . . . . . . . . . . . 5 7. Feature tag semantics . . . . . . . . . . . . . . . . . . . . 6 8. Direction . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 9.1. Example: IMS Service Continuity, handover session in alerting state . . . . . . . . . . . . . . . . . . . . . . 6 9.2. Example: IMS Enhanced Service Continuity, ATCF discovery . . . . . . . . . . . . . . . . . . . . . . . . 7 9.3. Example: IMS Enhanced Service Continuity, identifying sessions subject to handover . . . . . . . . . . . . . . . 8 9.4. Example: IMS Inter-UE Transfer . . . . . . . . . . . . . . 9 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 11. Security Considerations . . . . . . . . . . . . . . . . . . . 9 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 13. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . . 10 14. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 14.1. Normative References . . . . . . . . . . . . . . . . . . . 10 14.2. Informative References . . . . . . . . . . . . . . . . . . 10 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Holmberg & Sedlacek Expires December 11, 2011 [Page 2] Internet-Draft proxy feature June 2011 1. Introduction The SIP "Caller Preferences" extension defined in RFC 3840 [RFC3840] provides a mechanism that allows a SIP message to convey information, using feature tags, relating to the originator's capabilities. Feature information can be useful for other SIP entities, that might trigger actions and enable functions based on features supported by other SIP entities. This document extends the rr-param rule defined in RFC 3261 [RFC3261], so that it can be used to convey feature tags indicating support of features in SIP proxies. The rr-param rule is used in the SIP Path, Route, Record-Route and Service-Route header fields. 1.1. Use-case: IMS Service Continuity, handover of session in alerting state The 3rd Generation Partnership Project (3GPP) defines a IP Multimedia Subsystem (IMS) Service Continuity mechanism [3GPP.23.237] for handover of Packet Switched (PS) sessions to Circuit Switched (CS) calls. The handover is controlled by a Service Centralization and Continuity Application Server (SCC AS). When a session is established the User Equipment (UE) needs to determine whether SCC AS in signalling path of the session supports handover of session in alerting state (i.e. 180 Ringing response has already been sent or received but the dialog is not confirmed dialog yet) or not. When handover occurs and a session in alerting state exists and both UE and SCC AS indicated support of the handover of session in alerting state, then the UE and SCC AS perform handover for the session in alerting state. NOTE: The UE indicates the support of the handover of session in alerting state by the feature tag included in Contact header field. Section 9.1 shows an example flow for this use-case. 1.2. Use-case: IMS Enhanced Service Continuity The 3rd Generation Partnership Project (3GPP) defines a IP Multimedia Subsystem (IMS) Service Continuity mechanism [3GPP.23.237] for handover of Packet Switched (PS) sessions to Circuit Switched (CS) calls. The handover can be performed by a Service Centralization and Continuity Application Server (SCC AS), or by a SCC AS together with an Access Transfer Control Function (ATCF), that acts as a SIP proxy. Holmberg & Sedlacek Expires December 11, 2011 [Page 3] Internet-Draft proxy feature June 2011 Delegating part of the session handover functionality to an ATCF provides advantages related to voice interruption during session handover etc, since it is located in the same network as the user. 1.2.1. Use-case: IMS Enhanced Service Continuity, ATCF discovery In order for a SCC AS to delegate part of the session handover functionality to an ATCF, when it receives a SIP REGISTER request, it needs to be informed whether there is a proxy that provides ATCF functionality in the registration path. Section 9.2 shows an example flow for this use-case. 1.2.2. Use-case: IMS Enhanced Service Continuity, identifying sessions subject to handover In order for ATCF to perform the delegated part of the session handover functionality, ATCF needs to know which sessions are subject to handover as decided by SCC AS. Section 9.3 shows an example flow for this use-case. 1.3. Use-case: IMS Inter-UE Transfer The 3rd Generation Partnership Project (3GPP) defines inter-UE transfer enhancements [3GPP.24.837] which enhance delivery of media of a session to several User Equipments (UE). The Service Centralization and Continuity Application Server (SCC AS) serving one of the UEs acts as local hub for the session. The UE controls the media of the session and is called controller UE. Triggered by requests from the controller UE, the SCC AS serving the controller UE transfers media of the session to other UEs, called controlee UEs, by sending INVITE request offering the media to be transferred. When an INVITE request is routed to the UE, the SCC AS serving the UE needs to determine whether another SCC AS (i.e. SCC AS of the controller UE) is already in the signalling path. If so, the SCC AS proxies the signalling without further handling as there is already an existing local hub for the session. If not, the SCC AS acts as local hub for the session. Section 9.4 shows an example flow for this use-case. Holmberg & Sedlacek Expires December 11, 2011 [Page 4] Internet-Draft proxy feature June 2011 2. Conventions 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 BCP 14, RFC 2119 [RFC2119]. 3. Definitions The rr-param rule defined in RFC 3261 [RFC3261]: rr-param = generic-param is extended to: rr-param = generic-param / feature-param where feature-param is defined in Section 9 of RFC 3840 [RFC3840]. 4. Requirements 1. It SHALL be possible for a SIP intermediary to indicate, in a SIP routing header field (e.g Record-Route, Service-Route, Path), support (for a session or registration) for a particular feature/capability. 2. It SHALL be possible to indicate whether indicated support of a feature/capability is only applicable in a certain direction of the signalling path associated with the SIP routing header field, in which the feature/capability support is indicated. 5. User Agent behavior This specification does not specify any new User Agent behavior. 6. Proxy behavior When a proxy inserts a Path header field (during registration), a Service-Route header field (during registration) or a Record-Route header field (during a dialog establishment), it MAY insert a feature tag in the header field. If a feature tag is inserted in a Path or Service-Route header field during registration, the resource identified by the URI in the header field MUST provide support for the associated feature for all dialogs Holmberg & Sedlacek Expires December 11, 2011 [Page 5] Internet-Draft proxy feature June 2011 associated with the registration, until the registration is terminated or re-freshed. If a feature tag is inserted in a Record-Route header field during a dialog establishment, the resource identified by the URI in the header field MUST provide support for the associated feature until the dialog is terminated. 7. Feature tag semantics The feature tag in a header field constructed using rr-param rule indicates support of the feature in the resource identified by the URI in the header field. In order to insert a feature tag in a SIP header field constructed by using rr-param rule, the feature specification MUST specify the semantics of the feature tag when inserted in that specific header field. Unless the feature specification defines such semantics, a the feature tag MUST NOT be included in that specific header field. NOTE: If a route set is built using Path, Record-Route or Service- Route header fields, any inserted feature tag will be copied into the associated Route header fields, together with other header field parameters. This specification does not define any specific meaning of the feature tags present in Route header fields in such cases. 8. Direction When a proxy inserts a feature tag in order to indicate support of a capability, the indicated capability might be indicated both towards downstream and upstream SIP entities. In order to indicate a capability only towards SIP entities in one direction, either the feature tag semantics need to be defined in a way so that SIP entities know whether the indicated capability applies to them or not, or alternatively, the SIP entity that inserts the feature tag needs to ensure that the feature tag is only sent towards the direction for which the capability applies. 9. Examples 9.1. Example: IMS Service Continuity, handover session in alerting state Based on the presence of g.3gpp.srvcc-alerting feature tag in a Holmberg & Sedlacek Expires December 11, 2011 [Page 6] Internet-Draft proxy feature June 2011 Record-Route header field Alice determines that SCC AS serving Alice in signalling path of the session supports the handover of session in alerting state and when hand over occurs and session in alerting state exists, this specific session can be handed over. NOTE: As P1 only wants to indicate the capability towards Alice, it only inserts the feature tag in the Record-Route header field of the response sent towards Alice. NOTE: The Contact header field of the 200 OK response to the INVITE request contains the GRUU of Bob, so it would be inappropriate to indicate the SCC AS support of handover feature in the Contact header field. Alice P1 (SCC AS Bob of Alice) | | | |--- INVITE---------------->| | | | | | |--- INVITE---------------->| | | Record-Route: P1 | | | | | | | | |<-- 200 OK ----------------| | | Record-Route: P1 | | | | |<-- 200 OK ----------------| | | Record-Route: P1;g.3gpp.srvcc-alerting | | | | Figure 1: Example call flow 9.2. Example: IMS Enhanced Service Continuity, ATCF discovery Based on the presence of g.3gpp.atcf feature tag in a Path header field the REGISTRAR (and SCC AS invoked by REGISTRAR) determines that ATCF is in the path for terminating requests sent to Alice. NOTE: The Contact header field of the REGISTER request contains a URI at which Alice can be directly reached, so it would be inappropriate to indicate the ATCF support of handover feature in the Contact header field. Holmberg & Sedlacek Expires December 11, 2011 [Page 7] Internet-Draft proxy feature June 2011 Alice P1 (ATCF) REGISTRAR | | | |--- REGISTER-------------->| | | | | | |--- REGISTER-------------->| | | Path: P1;+g.3gpp.atcf | | | | | | | | |<-- 200 OK ----------------| | | Path: P1;+g.3gpp.atcf | | | Service-Route: REG | |<-- 200 OK ----------------| | | Path: P1;+g.3gpp.atcf | | | Service-Route: REG | | | | | Figure 2: Example call flow 9.3. Example: IMS Enhanced Service Continuity, identifying sessions subject to handover Based on the presence of g.3gpp.srvcc feature tag in a Record-Route header field the ATCF determines that the session is subject to the handover. Alice P2 (ATCF) P1 (SCC AS Bob of Alice) | | | | |--- INVITE->| | | | |--- INVITE---->| | | | Record-Route: P2 | | | |--- INVITE---------------->| | | | Record-Route: P1, P2 | | | | | | | | | | | |<-- 200 OK ----------------| | | | Record-Route: P1, P2 | | | | | | |<--- 200 OK----| | | | Record-Route: P1;g.3gpp.srvcc, P2 | |<-- 200 OK--| | | | Record-Route: P1;g.3gpp.srvcc, P2 | | | | | Figure 3: Example call flow Holmberg & Sedlacek Expires December 11, 2011 [Page 8] Internet-Draft proxy feature June 2011 9.4. Example: IMS Inter-UE Transfer Based on the presence of g.3gpp.iut-focus feature tag in a Record- Route header field the SCC AS serving Cecil determines that the session already has a local hub. NOTE: The Contact header field of the INVITE request contains the GRUU of Bob, so it would be inappropriate to indicate the SCC AS support of the handover feature in the Contact header field. Alice Cecil P1 (SCC AS P2 (SCC AS Bob of Alice) of Cecil) | | | | | | Session of audio and video between Alice and Bob where | | SCC AS of Alice is in signalling path | |<======================+=================================>| | | | | | |--move audio to Cecil->| | | | | | | | | | |-INVITE----> | | | | | Record-Route: P1;g.3gpp.iut-focus | | | | | | | | | | | | | | | | |<-INVITE-----------------------| | | | Record-Route: P2 | | | | Record-Route: P1;g.3gpp.iut-focus | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Figure 4: Example call flow 10. IANA Considerations TBD 11. Security Considerations Feature tags can provide sensitive information about a SIP entity. RFC 3840 cautions against providing sensitive information to another Holmberg & Sedlacek Expires December 11, 2011 [Page 9] Internet-Draft proxy feature June 2011 party. Once this information is given out, any use may be made of it. 12. Acknowledgements Thanks to Paul Kyzivat for his comments and guidance on the mailing list. 13. Change Log [RFC EDITOR NOTE: Please remove this section when publishing] Changes from draft-holmberg-sipcore-proxy-feature-01 o Requirement section added o Use-cases and examples updated based on work in 3GPP Changes from draft-holmberg-sipcore-proxy-feature-00 o Additional use-cases added o Direction section added 14. References 14.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [RFC3840] Rosenberg, J., Schulzrinne, H., and P. Kyzivat, "Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)", RFC 3840, August 2004. 14.2. Informative References [3GPP.23.237] 3GPP, "IP Multimedia Subsystem (IMS) Service Continuity; Stage 2", 3GPP TS 23.237 8.7.0, March 2010. [3GPP.24.837] 3GPP, "IP Multimedia (IM) Core Network (CN) subsystem inter-UE transfer enhancements; Stage 3", 3GPP TR 24.837 Holmberg & Sedlacek Expires December 11, 2011 [Page 10] Internet-Draft proxy feature June 2011 10.0.0, April 2011. Authors' Addresses Christer Holmberg Ericsson Hirsalantie 11 Jorvas 02420 Finland Email: christer.holmberg@ericsson.com Ivo Sedlacek Ericsson Scheelevaegen 19C Lund 22363 Sweden Email: ivo.sedlacek@ericsson.com Holmberg & Sedlacek Expires December 11, 2011 [Page 11]