Internet Engineering Task Force                              J. Elwell
Internet Draft                                                 Siemens
                                                              F. Audet
                                                                Nortel
draft-elwell-sipping-service-retargeting-00.txt
Expires: April 2006                                       October 2005


     Indicating Service Retargeting in the Session Initiation Protocol
                                   (SIP)

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.

Copyright Notice

      Copyright (C) The Internet Society (2005). All Rights Reserved.

Abstract

   This contains motivation, requirements and a proposed solution for
   indicating service retargeting information in SIP requests and
   responses. Retargeting of a request can be considered to be service
   retargeting when it goes beyond "normal" routing and might be of
   interest to applications at the UAS or UAC.








Elwell                   Expires - April 2006                 [Page 1]


                Indicating Service Retargeting in SIP    October 2005



Table of Contents

   1 Introduction....................................................3
   2 Requirements....................................................5
   3 Overview of the solution........................................6
   4 Behaviour.......................................................7
   4.1 UAC behaviour.................................................7
   4.2 Proxy behaviour...............................................7
   4.3 Redirect behaviour............................................8
   4.4 UAS behaviour.................................................8
   5 Syntax..........................................................8
   6 PSTN Mapping....................................................9
   7 Examples.......................................................11
   7.1 Proxy forwards busy to deputy................................11
   7.2 Endpoint forwards busy to deputy.............................13
   7.3 Endpoint forwards busy to TDM via a gateway..................14
   7.4 Endpoint forwards busy to deputy with History Info...........15
   8 IANA considerations............................................17
   9 Security Considerations........................................17
   9.1 Integrity Protection of Forwarding in SIP....................18
   9.2 Privacy Related Issues on the Second Call Leg................18
   10 Acknowledgements..............................................19
   11 Author's Addresses............................................20
   12 Normative References..........................................20
   13 Appendix - Rejected Alternatives (temporary û to be removed)..21
   13.1 Extending the SIP Reason header.............................22
   13.2 New 3xx response codes......................................22























Elwell                   Expires - April 2006                 [Page 2]


                Indicating Service Retargeting in SIP    October 2005



1 Introduction

   Central to SIP [SIP] is the concept of retargeting a request by a
   proxy, whereby the Request-URI in the original request is replaced
   before forwarding the request on the next hop. Retargeting can also
   occur because of redirection by a redirect server using a SIP 3xx
   response code and subsequent recursion by the UAC or a proxy. Except
   where otherwise stated, the term retargeting is used in this document
   to cover recursion as well as retargeting. A given request from a
   User Agent Client (UAC) can be retargeted zero or more times before
   reaching the User Agent Server (UAS).

   Retargeting is a normal part of routing a request in SIP. For
   example, an outbound proxy might convert the initial Request-URI from
   a telephone URI (perhaps in the form of a dial string) to a SIP URI.
   As another example, the final proxy typically replaces an Address of
   Record with the URI of a registered contact.

   However, sometimes a service running at a proxy or redirect server
   (including a UA acting as a redirect server) can initiate retargeting
   to a specific service URI. Retargeting of this nature can be called
   service retargeting, because it is based on special services that
   operate on incoming requests to a target. An example of service
   retargeting can be found in [SRVCTRL]. [SRVCTRL] specifies a means
   for communicating context information to an application, with the
   expectation that the recipient endpoint or application understands
   the implications of the context information. Typically the original
   target user will have made arrangements for service retargeting.
   Service retargeting can be based on simple or complex rules for
   handling requests to the original target.

   For example, a request could be retargeted to a destination that can
   handle requests that encounter busy or no reply at the original
   target. As another example, a user could arrange that requests
   targeted at the user be retargeted to a deputy, perhaps because the
   original user expects to be absent or does not wish to be disturbed.
   The fact that a request has been service retargeted is often of
   interest to the users involved, i.e., the retargeted-to user and the
   calling user, or to an application. Therefore it would be very useful
   to provide to the UAS and the UAC details of retargeting in the form
   of the original target URI, the retargeted-to URI and the reason for
   retargeting.

   Service retargeting information is also useful when interworking with
   PSTN/ISDN. Service retargeting in SIP is similar to diversion in
   PSTN/ISDN, and therefore service retargeting information in SIP can
   be mapped to/from diversion information in PSTN/ISDN. For example,
   for a call that is service retargeted in the SIP network because the


Elwell                   Expires - April 2006                 [Page 3]


                Indicating Service Retargeting in SIP    October 2005


   original target is busy, if the new target is in PSTN/ISDN the
   PSTN/ISDN can be told that the call has been diverted on busy.

   As a further example, service retargeting information can be of use
   to a voice mail server. When a  request is service retargeted to a
   voice mail server the voice mail server is likely to need to know the
   identity of the original target in order to access the correct
   mailbox and the reason for service retargeting in order to behave
   appropriately, e.g., play an appropriate announcement.

   In all these examples, information about normal SIP retargeting, as
   opposed to service retargeting, is not generally of interest.

   [HIST] specifies a means of providing the UAS and UAC with
   information about the retargeting of a request. This information
   includes the initial Request-URI and any retarget-to URIs. This
   information is placed in the History-Info header, field, which,
   except where prevented by privacy considerations, is built up as the
   request progresses and, on reaching the UAS, is returned in certain
   responses. Within the History-Info header field, each URI, except for
   the final one, includes as a parameter a Reason Header [REASON]
   indicating the SIP response code that led to retargeting from that
   URI to the next URI. This is either the response code received as a
   result of forwarding the request to that URI or the nearest
   equivalent if retargeting occurs without having forwarded the
   request.

   [HIST], when deployed at relevant SIP entities and not subject to
   privacy, is intended to provide a comprehensive trace of retargeting
   for a SIP request, along with the SIP response codes that led to
   retargeting. [HIST] is captured independently of any service
   interactions that might have resulted in retargeting.  [HIST]
   captures the information independently of how an endpoint might make
   use of the information. Thus, it does not fully meet the needs of
   reporting service retargeting for the following reasons:

   - [HIST] reports all retargets, not just service retargets. This puts
   the burden on the UAS or UAC to pick out which retargets are for
   service reasons and which are for normal SIP routing reasons.

   - [HIST] reports reasons in the form of SIP response codes, which do
   not necessarily reflect service reasons for retargeting very well and
   are not always meaningful to applications.

   - The SIP response codes captured by [HIST] are dependent upon
   whether retargeting is as a result of recursion or not. When
   recursion is used, the SIP response code will always be in the 3xx
   range, but otherwise, even if the reason for retargeting is
   identical, the reason will not be in the 3xx range. For example, if


Elwell                   Expires - April 2006                 [Page 4]


                Indicating Service Retargeting in SIP    October 2005


   retargeting is due to the previous target being busy, the SIP
   response code used without recursion would normally be 486, but with
   recursion it would have to be a 3xx response code (e.g., 302).


   This document defines a mechanism that provides simple but meaningful
   information to a service retargeted-to user or application to
   represent the most recent retarget of a request. The mechanism makes
   use of the solution approach specified in [SRVCTRL], which provides
   the flexibility to provide service retargeting information in SIP
   requests. When used in conjunction with [HIST] it provides more
   comprehensive information to the retargeted-to user or application
   and also to the calling user or application. Although aimed primarily
   at INVITE requests, it can in principle apply to other SIP methods.

2 Requirements

   REQ-1. When forwarding a service-retargeted request to a UAS, it must
   be possible to include information that denotes the service reason
   for service retargeting and the previous target, in order to assist
   the user or application in determining how to behave, e.g.:

   - how to respond to the request;
   - in the case of an INVITE request that is answered, how to behave
   during the established session (e.g., greeting to be given).

   REQ-2. It must be possible to include this information in a service-
   retargeted request to a UAS also in the case where service
   retargeting has been followed by retargeting that is not service
   retargeting.

   REQ-3. When a request from a UAC has been service-retargeted, it must
   be possible to include information in a response that denotes the
   reason for service retargeting and new target, in order to assist the
   user in determining how to behave, e.g.:

   - in the case of a failed request, under what circumstances it might
   be appropriate to re-attempt the request (e.g., if retargeted because
   of busy but the new target does not answer, it might be appropriate
   to retry a few minutes later);
   - in the case of an INVITE request that results in an established
   session, whether to abandon that session and if so under what
   circumstances it might be appropriate to re-attempt the request;
   - in the case of an INVITE request that results in an established
   session, how to behave during that session (e.g., greeting to be
   given).

   REQ-4. It must be possible to indicate that the reason for
   retargeting is because there are no registered contacts for the URI.


Elwell                   Expires - April 2006                 [Page 5]


                Indicating Service Retargeting in SIP    October 2005



   REQ-5. It must be possible to indicate that the reason for
   retargeting is because contacts for the URI are busy.

   REQ-6. It must be possible to indicate that the reason for
   retargeting is because the request was not answered during the
   alerting period.

   REQ-7. It must be possible to indicate that the reason for
   retargeting is because the user has arranged for requests to be
   retargeted irrespective of the state of registered contacts.

   REQ-8. It must be possible to indicate that the reason for
   retargeting is because the user declined the request during alerting.

   REQ-9. It must be possible to indicate that the reason for
   retargeting is because the user has arranged for requests to be
   distributed among a number of targets.

   REQ-10. It must be possible to indicate that the reason for
   retargeting is because of network conditions.

   REQ-11. It must be possible to indicate (e.g., by default) that there
   is no service reason for retargeting.

   REQ-12. It must be possible to extend the list of service retargeting
   reasons in the future.

   REQ-13. It must be possible to suppress information concerning
   service retargeting in order to reflect network policy or respect the
   wishes of the retargeted-from user.

3 Overview of the solution

   [SRVCTRL] describes how URI parameters can be used to control a
   service or application at the UAS by providing appropriate context
   information. It describes this only in principle, without assigning
   any new URI parameter names or values. For a given deployment, the
   principles can be used to achieve control of a service or application
   by configuring the appropriate URI parameter names and values at the
   equipment concerned or by using equipment with appropriate
   capabilities from a single vendor. This requires a lot of
   coordination for configuring the various pieces of equipment,
   matching service URIs, mapping service URIs to phone numbers, etc.
   Further standardisation is required to allow easy deployment of
   equipment from different vendors and with various level of
   capabilities.




Elwell                   Expires - April 2006                 [Page 6]


                Indicating Service Retargeting in SIP    October 2005


   The solution here adopts the principles of [SRVCTRL] and defines
   parameter names and values for indicating retargeting details to a
   service or application. This enhancement to SIP, when used alone, is
   sufficient to satisfy the needs of some applications and can also
   provide useful information to a retargeted-to user. When used in
   conjunction with [HIST] it can provide very comprehensive information
   not only to retargeted-to applications and users but also to source
   applications and users.

   When a request is service retargeted (for a reason meaningful to a
   retargeted-to user or application), two parameters are added to the
   retargeted-to URI: the old-target parameter contains the previous
   target URI and the retargeting-reason parameter contains the reason
   for service retargeting. Provided this is the last retarget, these
   parameters will reach the UAS and can be provided to the user or
   application.

   This provides a simple means of satisfying the needs of certain
   applications such as voice mail servers that just require information
   about the most recent retarget in order to trigger appropriate
   behaviour.

   When retargeting occurs and a History-Info header field element is
   added to record the retarget-to URI and the SIP reason that led to
   retargeting, if the retargeting is service retargeting the old-target
   and retargeting-reason parameters in the retargeted-to URI will also
   appear in the History-Info header field element. If History-Info
   header field elements are forwarded to the UAS, the UAS will be able
   to see which retargets were service retargets and the service
   retargeting reasons concerned. Likewise, if the History-Info header
   field elements are sent back to the UAC, the UAC will be able to see
   which retargets were service retargets. This information can be
   presented to the user or application at the UAS or UAC.

4 Behaviour

4.1  UAC behaviour

   A UAC MAY use service redirection information in a received History-
   Info header field to present to the user or application.

     Note that when a UAC recurses as a result of receiving a 3xx
     response, any service redirection information in the retargeted-to
     URI (received in the Contact header field) will automatically be
     copied into the Request URI.

4.2 Proxy behaviour




Elwell                   Expires - April 2006                 [Page 7]


                Indicating Service Retargeting in SIP    October 2005


   When retargeting a request for service reasons, a proxy MAY add an
   old-target parameter and a retargeting-reason parameter to the new
   target URI as placed in the Request-URI of the forwarded request. If
   a new History-Info header field element is created to contain the new
   target URI, this too MUST contain the same old-target and
   retargeting-reason parameters.

4.3 Redirect behaviour

   When redirecting a request for service reasons, a redirect MAY add an
   old-target parameter and a retargeting-reason parameter to any or all
   URIs placed in the Contact URI header field in the 3xx response.

4.4 UAS behaviour

   A UAS MAY use service redirection information in a received Request-
   URI or History-Info header field to present to the user or
   application.

5 Syntax

   This RFC updates the SIP URI parameters registry as defined in
   [URIREG]. Two new URI parameters are defined.

   URI parameter old-target, when present, means that the URI became the
   target URI for the request (the new Request URI) as a result of
   service retargeting and the URI parameter value was the Request URI
   prior to service retargeting.

   URI parameter retargeting-reason, when present, means that the URI
   became the target URI for the request (the new Request URI) as a
   result of service retargeting and the URI parameter value indicates
   the reason for service retargeting.

   The following retargeting-reason values are defined in this
   specification:

   no-contacts - service retargeting because there are no registered
   contacts for the URI;

   busy û service retargeting because contacts for the URI are busy;

   no-reply û service retargeting because the request was not answered
   during the alerting period;

   unconditional û service retargeting because the user has arranged for
   requests to be retargeted irrespective of the state of registered
   contacts;



Elwell                   Expires - April 2006                 [Page 8]


                Indicating Service Retargeting in SIP    October 2005


   declined û service retargeting because the user declined the request
   during alerting;

   distribution û service retargeting because the user has arranged for
   requests to be distributed among a number of targets;

   network û service retargeting because of network conditions.

   If a received retargeting-reason value is not recognized it SHOULD be
   treated as "unconditional".

   The ABNF definition of these parameters is as follows.

   uri-parameter      = transport-param / user-param / method-param
                        / ttl-param / maddr-param / lr-param
                        / old-target / retargeting-reason / other-param
   old-target         = "old-target=" Request-URI
   redirecting-reason = "redirecting-reason=" service-reason
   service-reason     = ("no-contacts" / "busy" / "no-reply"
                        / "unconditional" / "declined" / "distribution"
                        / "network" / other-reason)
   other-reason       = token

6 PSTN Mapping

   The mapping to the PSTN/ISDN protocols is important both for gateways
   that connect the IP network to existing TDM equipment, such as PBXs
   and voicemail systems, and for gateways that connect the IP network
   to the PSTN/ISDN network.  Both Q.931 and ISUP have signaling for
   this information that can be treated as roughly equivalent for the
   purposes here.

   For a service-retargeted call from SIP to PSTN/ISDN, the user portion
   of the URI SHOULD be used as the address of the service retargeted-to
   entity in the PSTN/ISDN, while the old-target SHOULD be mapped to the
   PSTN/ISDN original redirecting number.

   If the gateway and Proxy are in the same Trust Domain (defined in RFC
   3325 [PASSERT]), and the Spec(T) includes compliance with that
   specification, and the Spec(T) asserts that the Proxy will do
   screening (whatever that means), then the gateway MAY claim that the
   original redirecting number is screened; otherwise it SHOULD NOT
   assert that the original redirecting number is screened.

   The following SHOULD be used as the mapping from retargeting-reason
   parameters to ISUP/Q.931/QSIG redirect reason codes:

   +------------------------------------------------------------------+



Elwell                   Expires - April 2006                 [Page 9]


                Indicating Service Retargeting in SIP    October 2005


   | Retargeting reason value               | ISUP/Q.931/QSIG redirect
   |
   |                                        | reason codes            |
   |----------------------------------------+-------------------------|
   | no-contacts - service retargeting      | Unknown / not available |
   | because there are no registered        | (Unconditional for QSIG)|
   | contacts for the URI;                  |                         |
   |----------------------------------------+-------------------------|
   | busy û service retargeting because     | User busy               |
   | contacts for the URI are busy;         |                         |
   |----------------------------------------+-------------------------|
   | no-reply û service retargeting         | No reply                |
   | because the request was not answered   |                         |
   | during the alerting period;            |                         |
   |----------------------------------------+-------------------------|
   | unconditional û service retargeting    | Unconditional           |
   | because the user has arranged for      |                         |
   | requests to be retargeted irrespective |                         |
   | of the state of registered contacts;   |                         |
   |----------------------------------------+-------------------------|
   | declined û service retargeting because | Deflection during       |
   | the user declined the request during   | alerting                |
   | alerting;                              | (No reply for QSIG)     |
   |----------------------------------------+-------------------------|
   | distribution û service retargeting     | Deflection immediate    |
   | because the user has arranged for      | response                |
   | requests to be distributed among a     | (Unconditional for QSIG)|
   | number of targets;                     |                         |
   |----------------------------------------+-------------------------|
   | network û service retargeting because  | Network congestion      |
   | of network conditions.                 | (Unconditional for QSIG)|
   +----------------------------------------+-------------------------+

   The redirection counters SHOULD be set to one unless additional
   information is available.

   For a call from PSTN/ISDN that has been redirected within the
   PSTN/ISDN, information from the PSTN/ISDN MAY be used to indicate
   service retargeting in the SIP INVITE request. In this case, the
   original redirecting number SHOULD be used to derive the old-target
   URI and the ISUP/Q.931/QSIG redirect reason code should be used to
   derive the retargeting-reason, in accordance with the table above.

   More comprehensive mapping to/from PSTN/ISDN may be achieved if the
   History-Info header field is also taken into account (e.g., by taking
   into account multiple service retargets and by mapping information
   sent towards the calling party). This is outside the scope of this
   document.



Elwell                   Expires - April 2006                [Page 10]


                Indicating Service Retargeting in SIP    October 2005


7 Examples

   This section provides some example use cases for the solution
   proposed in this document.  The examples are intended to highlight
   the potential applicability of this solution and are not intended to
   limit its applicability.  The term "deputy" is used to define the
   role of a recipient UA, after retargeting, in several of the
   examples.  This term is intended to represent a general role of an
   entity that could be an automata (eg. voicemail server) or another
   person, such as another member of a work group (e.g. supervisor) or
   agent in a call center application, etc..

   Also the examples show just service retargeting on busy, but can
   easily be adapted to show other forms of service retargeting.

7.1 Proxy forwards busy to deputy

   In this example, Alice calls Bob. BobÆs proxy determines that Bob is
   busy, and the proxy forwards the call to Bob's deputy (or voice
   mail).  Alice's phone is at 192.168.0.1 while Bob's phone is at
   192.168.0.2.  The important thing to note is the URI in message F7.


              Alice            Proxy           Bob             Deputy
                |                |              |                   |
                |    INVITE F1   |              |                   |
                |--------------->|   INVITE F2  |                   |
                |                |------------->|                   |
                |(100 Trying) F3 |              |                   |
                |<---------------|  486 Busy F4 |                   |
                |                |<-------------|                   |
                |                |     ACK F5   |                   |
                |                |------------->|                   |
                |(181 Call is Being Forwarded) F6                   |
                |<---------------|              |    INVITE F7      |
                |                |--------------------------------->|
                             * Rest of flow not shown *

      F1: INVITE 192.168.0.1 -> proxy.example.com

      INVITE sip:+15555551002@example.com;user=phone  SIP/2.0
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@92.168.0.1>
      Content-Type: application/sdp


Elwell                   Expires - April 2006                [Page 11]


                Indicating Service Retargeting in SIP    October 2005


      Content-Length: *Body length goes here*

      * SDP goes here*


      F2: INVITE proxy.example.com -> 192.168.0.2

      INVITE sip:line1@192.168.0.2 SIP/2.0
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-1
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@192.168.0.1>
      Content-Type: application/sdp
      Content-Length: *Body length goes here*

      * SDP goes here*


      F4: 486 192.168.0.2 -> proxy.example.com

      SIP/2.0 486 Busy Here
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-1
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone;tag=09xde23d80
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Content-Length: 0

      F7: INVITE proxy.example.com -> um.example.com

      INVITE sip:deputy@example.com; \
             old-target=sip:+15555551002@example.com;user=phone; \
             retargeting-reason=busy  SIP/2.0
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-2
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@192.168.0.1>
      Content-Type: application/sdp
      Content-Length: *Body length goes here*



Elwell                   Expires - April 2006                [Page 12]


                Indicating Service Retargeting in SIP    October 2005


      * SDP goes here*

7.2 Endpoint forwards busy to deputy

   In this example, Alice calls Bob. Bob is busy, but forwards the
   session directly to his deputy (or voicemail).  Alice's phone is at
   192.168.0.1 while Bob's phone is at 192.168.0.2.  The important thing
   to note is the URI in the Contact in message F3.


              Alice            Proxy           Bob             Deputy
                |                |              |                   |
                |    INVITE F1   |              |                   |
                |--------------->|   INVITE F2  |                   |
                |                |------------->|                   |
                |                | 302 Moved F3 |                   |
                |  302 Moved  F4 |<-------------|                   |
                |<---------------|              |                   |
                |      ACK F5    |              |                   |
                |--------------->|     ACK F6   |                   |
                |                |------------->|                   |
                |                      INVITE F7                    |
                |-------------------------------------------------->|
                            * Rest of flow not shown *

      F1: INVITE 192.168.0.1 -> proxy.example.com

      INVITE sip:+15555551002@example.com;user=phone  SIP/2.0
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@92.168.0.1>
      Content-Type: application/sdp
      Content-Length: *Body length goes here*

      * SDP goes here*


      F2: INVITE proxy.example.com -> 192.168.0.2

      INVITE sip:line1@192.168.0.2 SIP/2.0
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-1
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511


Elwell                   Expires - April 2006                [Page 13]


                Indicating Service Retargeting in SIP    October 2005


      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@192.168.0.1>
      Content-Type: application/sdp
      Content-Length: *Body length goes here*

      * SDP goes here*

      F3: 302 192.168.0.2 -> proxy.example.com

      SIP/2.0 302 Moved Temporarily
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-1
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone;tag=09xde23d80
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Contact: <sip: deputy@example.com; \
             old-target=sip:+15555551002@example.com;user=phone; \
             retargeting-reason=busy;>
      Content-Length: 0

      F7: INVITE proxy.example.com -> um.example.com

      INVITE sip: deputy@example.com; \
             old-target=sip:+15555551002@example.com;user=phone; \
             retargeting-reason=busy  SIP/2.0
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-2
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@192.168.0.1>
      Content-Type: application/sdp
      Content-Length: *Body length goes here*

      * SDP goes here*

7.3 Endpoint forwards busy to TDM via a gateway

   In this example, the deputy (or mailbox) is reached via a gateway to
   a TDM network.  Bob's number is +1 555 555-1002, while deputy's
   number on the TDM network is +1-555-555-2000.

   The call flow is the same as in section 7.2 except for the Contact
   URI in F3 and the Request URI in F7.



Elwell                   Expires - April 2006                [Page 14]


                Indicating Service Retargeting in SIP    October 2005


      F3: 302 192.168.0.2 -> proxy.example.com

      SIP/2.0 302 Moved Temporarily
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-1
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone;tag=09xde23d80
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Contact: <sip:+15555552000@example.com;user=phone;\
                old-target=tel:+15555551002;retargeting-reason=busy>
      Content-Length: 0

   F7: INVITE proxy.example.com -> gw.example.com (for both 7.1 and 7.2)

      INVITE sip:+15555552000@example.com;user=phone;\
             old-target=tel:+15555551002;retargeting-reason=busy  \
             SIP/2.0
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-2
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:5551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@192.168.0.1;transport=tcp>
      Content-Type: application/sdp
      Content-Length: *Body length goes here*

      * SDP goes here*

7.4 Endpoint forwards busy to deputy with History Info

   This example illustrates how History Info [HIST] works in conjunction
   with service retargeting.  The scenario is the same as 7.1.

      F1: INVITE 192.168.0.1 -> proxy.example.com

      INVITE sip:+15555551002@example.com;user=phone  SIP/2.0
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@92.168.0.1>
      History-Info: <sip:+15555551002@example.com;user=phone >;index=1
      Content-Type: application/sdp
      Content-Length: *Body length goes here*


Elwell                   Expires - April 2006                [Page 15]


                Indicating Service Retargeting in SIP    October 2005



      * SDP goes here*


      F2: INVITE proxy.example.com -> 192.168.0.2

      INVITE sip:line1@192.168.0.2 SIP/2.0
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-1
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@192.168.0.1>
      History-Info: <sip:+15555551002@example.com;user=phone >;index=1,
                    <sip:line1@192.168>;index=1.1

      Content-Type: application/sdp
      Content-Length: *Body length goes here*

      * SDP goes here*

      F7: INVITE proxy.example.com -> um.example.com

      INVITE sip: deputy@example.com; \
             old-target=sip:+15555551002@example.com;user=phone; \
             retargeting-reason=busy  SIP/2.0
      Via: SIP/2.0/TCP 192.168.1.4:5060;branch=z9hG4bK-ik80k7g-2
      Via: SIP/2.0/TCP 192.168.0.1:5060;branch=z9hG4bK-74bf9
      From: Alice <sip:+15551001@example.com;user=phone>;tag=9fxced76sl
      To: sip:+15555551002@example.com;user=phone
      Call-ID: c3x842276298220188511
      CSeq: 1 INVITE
      Max-Forwards: 70
      Contact: <sip:alice@192.168.0.1>
      History-Info: <sip:+15555551002@example.com;user=phone >;index=1,
                    <sip:line1@192.168?Reason=SIP%3Bcause%3D302;
                     text=öMoved Temporarilyö>;index=1.1
                    <sip: deputy@example.com; \
                    old-target=sip:+15555551002@example.com;user=phone;\
                    retargeting-reason=busy>;index=2
      Contact: <sip:alice@192.168.0.1>
      Content-Type: application/sdp
      Content-Length: *Body length goes here*

      * SDP goes here*




Elwell                   Expires - April 2006                [Page 16]


                Indicating Service Retargeting in SIP    October 2005


8 IANA considerations

   This specification adds a new value to the IANA registration in the
   "SIP/SIPS URI Parameters" sub-registry at
   http://www.iana.org/assignments/sip-parameters as defined in
   [URIREG].


         Parameter Name      Predefined Values  Reference

         old-target             No              [RFCAAAA]
         retargeting-reason     Yes             [RFCAAAA]

      [Note to IANA: Please replace AAAA with the RFC number of this
      specification.

   This document requests that IANA create a new registry for
   retargeting-reason values. Each registry entry must contain the value
   and the specification in which the value is defined. New values for
   this registry may be defined only in Standards Track RFCs. This
   registry is to be populated initially with the following entries
   defined in section 5: no-contacts; busy; no-reply; unconditional;
   declined; distribution; network.

9 Security Considerations

   This draft discusses transactions involving at least three parties,
   which increases the complexity of the privacy issues. In addition,
   the security considerations of [HIST] apply when the History-Info
   header field is used.

   The new URI parameters defined in this draft are generally sent from
   a Proxy or call control system to a retargeted-to UA (or to a gateway
   to the PSTN and then to a retargeted-to device).  These new
   parameters tell the retargeted-to UA what service the proxy wishes to
   have performed.  Just as any message sent from the proxy to the
   retargeted-to UA needs to be integrity protected, these messages need
   to be integrity protected to stop attackers from, for example,
   causing speech (e.g., voicemail) meant for a company's CEO to go to
   an attacker.  RFC 3261 provides a TLS mechanism suitable for
   performing this integrity protection.

   The signaling from the Proxy to the retargeted-to UA will reveal who
   is calling whom and possibly some information about a user's presence
   based on whether the call was answered or retargeted.  This
   information can be protected by encrypting the SIP traffic between
   the Proxy and the retargeted-to UA.  Again, RFC 3261 contains
   mechanisms for accomplishing this using TLS.



Elwell                   Expires - April 2006                [Page 17]


                Indicating Service Retargeting in SIP    October 2005


   The S/MIME based mechanisms in RFC 3261 will generally not be
   applicable for protecting this information because they are meant for
   end to end issues and this is primarily a middle to end scenario.
   Without end-to-end or middle-to-end security, reliance is placed on
   on hop-by-hop security using TLS and the SIPS URI scheme. This
   requires that all hops between the Proxy and the retareget-to UR be
   trusted, which is the case in many deployment scenarios.

9.1 Integrity Protection of Forwarding in SIP

   The forwarding of a call in SIP brings up a very strange trust issue.
   Consider the normal case when A calls B and the call gets forwarded
   to C by a network element in B's domain, and then C answers the call.
   A has called B but ended up talking to C. This scenario may be hard
   to separate from a man in the middle attack.

   There are two possible solutions.  One is that B sends back
   information to A saying don't call me, call C and signs it as B. The
   problem is that this solution involves revealing that B has forwarded
   to C, which B often may not want to do.  For example, B may be a work
   phone that has been forwarded to a mobile or home phone.  The user
   does not want to reveal their mobile or home phone number but, even
   more importantly, does not want to reveal that they are not in the
   office.

   The other possible solution is that A needs to trust B only to
   forward to a trusted identity.  This requires a hop by hop transitive
   trust such that each hop will only send to a trusted next hop and
   each hop will only do things that the user at that hop desired.  This
   solution is enforced in SIP using the SIPS URI and TLS based hop by
   hop security.  It protects from an off axis attack, but if one of the
   hops is not trustworthy, the call may be diverted to an attacker.

   Any redirection of a call to an attacker's mailbox is serious.  It is
   trivial for an attacker to make its mailbox seem very much like the
   real mailbox and forward the messages to the real mailbox so that the
   fact that the messages have been intercepted or even tampered with
   escapes detection.

9.2 Privacy Related Issues on the Second Call Leg

   When A calls B and gets redirected to C, occasionally people say
   there is a requirement for the call leg from B to C to be anonymous.
   This is not the PSTN and there is no call leg from B to C; instead
   there is a VoIP session between A and C. If A had put a To header
   containing B in the initial invite message, unless something special
   is done about it, C will see that To header.  If the person who
   answers phone C says "I think you dialed the wrong number, who were
   you trying to reach?"  A will probably specify B.


Elwell                   Expires - April 2006                [Page 18]


                Indicating Service Retargeting in SIP    October 2005



   If A does not want C to see that the call was to B, A needs a special
   relationship with the forwarding Proxy to induce it not to reveal
   that information.  The call should go through an anonymizer service
   that provides session or user level privacy (as described in [PRIV]
   [4]) service before going to C. It is not hard to figure out how to
   meet this requirement, but it is unclear why anyone would want this
   service.

   The scenario in which B wants to make sure that C does not see that
   the call was to B is easier to deal with but a bit weird.  The usual
   argument is B wants to forward his phone to C but does not want C to
   find out his phone number.  It is hard to imagine that C would want
   to accept all BÆs calls without knowing how to call B to complain.
   Several popular web portals will send SMS alert message about things
   like stock prices and weather to mobile phone users today.  Some of
   these contain no information about the account on the web portal that
   initiated them, making it nearly impossible for the mobile phone
   owner to stop them.  This anonymous message forwarding has turned out
   to be a really bad idea even where no malice is present.  Clearly
   some people are fairly dubious about the need for this, but never
   mind: let's look at how it is solved.

   In the general case, the proxy needs to route the call through an
   Anonymization Service and everything will be cleaned up.  Any
   Anonymization service that performs the "Privacy: Header" Service in
   [PRIV] MUST remove the reason and target URI parameters from the URI.
   [PRIV] already makes it clear you would need to clean up this sort of
   information.

   There is a specialized case of some interest in which the mechanisms
   in this specification are being used in conjunction with [PRIV], and
   the retargeted-to UA and the Proxy are both in the trust domain.  In
   this limited case, the problem that B does not want to reveal their
   address to C can be solved by ensuring that the target parameter URI
   should never be in a message that is forwarded outside the trust
   domain.  If it is passed to a PSTN device in the trust domain, the
   appropriate privacy flag needs to be set in the ISUP or ISDN
   signaling.

   In several scenarios it is possible that a service retargeted-to user
   will receive unwanted calls. Arranging for automatic rejection of
   such calls can alleviate the problem, although it would be preferable
   to take steps to prevent the service retargeting, e.g., by contacting
   the retargeting user. Of course, if for privacy reasons service
   retargeting information is not provided, this will not be possible.

10 Acknowledgements



Elwell                   Expires - April 2006                [Page 19]


                Indicating Service Retargeting in SIP    October 2005


   Some of the text was taken from Cullen Jennings' draft on voicemail-
   uri. The following individuals provided valuable comments during the
   initial formulation of this document: Denis Alexeitsev, Mary Barnes,
   Martin Dolly, Roland Jesske, Joanne McMillen.

11 Author's Addresses

   John Elwell
   Siemens Communications
   Technology Drive
   Beeston
   Nottingham, UK, NG9 1LA
   email: john.elwell@siemens.com

   Fran‡ois Audet
   Nortel Networks
   4655 Great America Parkway
   Santa Clara, CA 95054
   USA
   mailto:audet@nortel.com

12 Normative References

   [SIP] J. Rosenberg, H. Schulzrinne, et al., "SIP: Session initiation
   protocol", RFC 3261.

   [HIST] M. Barnes, "An Extension to the Session Initiation Protocol
   for Request History Information", draft-ietf-sipping-history-info-06
   (work in progress).

   [REASON] H. Schulzrinne, D. Oran, G. Camarillo, "The Reason Header
   for the Session Initiation Protocol (SIP)", RFC 3326.

   [SRVCTRL] B. Campbell, R. Sparks, "Control of Service Context using
   SIP Request-URI", RFC 3087.

   [URIREG] G. Camarillo, "The Internet Assigned Number Authority (IANA)
   Uniform Resource Identifier (URI) Parameter Registry for the Session
   Initiation Protocol (SIP)", RFC 3969.

   [PASSERT]  Jennings, C., Peterson, J., and M. Watson, "Private
   Extensions to the Session Initiation Protocol (SIP) for Asserted
   Identity within Trusted Networks", RFC 3325, November 2002.

   [PRIV] Peterson, J., "A Privacy Mechanism for the Session Initiation
   Protocol (SIP)", RFC 3323, November 2002.

Intellectual Property Statement



Elwell                   Expires - April 2006                [Page 20]


                Indicating Service Retargeting in SIP    October 2005


   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 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 IETF's procedures with respect to rights in IETF 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 (2005).

   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.

Acknowledgement

   Funding for the RFC Editor function is currently provided by the
   Internet Society.

13 Appendix - Rejected Alternatives (temporary û to be removed)

   The following alternative solutions were considered and rejected.



Elwell                   Expires - April 2006                [Page 21]


                Indicating Service Retargeting in SIP    October 2005


13.1 Extending the SIP Reason header

   This alternative involves defining a new "protocol" (namespace) in
   the SIP Reason header for service retargeting reasons. A service-
   retargeted request could then convey, as a URI header in the History-
   Info header field, a Reason header field indicating the service
   retargeting reason, in addition to the SIP reason for retargeting. In
   addition, the Reason header field could be used in a 3xx response to
   indicate a service reason for redirection. This was considered to
   have the following disadvantages:

   - It is not backwards compatible with existing UACs or proxies, which
   would not copy a Reason header from a 3xx response into a History-
   Info header field when recursing.

   - The need for escape characters in URI headers makes this less
   readable.

   - It does not provide a basic level of support to applications at the
   UAS without requiring use of the History-Info header field.

13.2 New 3xx response codes

   There are many unused response codes in the 3xx range, and a few of
   these could have been used for service retargeting reasons. This was
   considered to have the following disadvantages:

   - Service reasons for retargeting are in some ways orthogonal to SIP
   reasons, and it would be unwise to mix the two in the same namespace.

   - There may be advantages in having both a SIP retargeting reason and
   a service retargeting reason available.

   - It does not provide a basic level of support to applications at the
   UAS without requiring use of the History-Info header field.
















Elwell                   Expires - April 2006                [Page 22]