[sipcore] RFC 3261: 305 Use Proxy

Brett Tate <brett@broadsoft.com> Sat, 07 December 2013 18:24 UTC

Return-Path: <brett@broadsoft.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 453571AE3CF for <sipcore@ietfa.amsl.com>; Sat, 7 Dec 2013 10:24:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.8
X-Spam-Level:
X-Spam-Status: No, score=0.8 tagged_above=-999 required=5 tests=[BAYES_50=0.8] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vL_Vs4m7jRxA for <sipcore@ietfa.amsl.com>; Sat, 7 Dec 2013 10:24:26 -0800 (PST)
Received: from smtpout01.partnerhosted.com (smtpout01.partnerhosted.com [173.225.22.21]) by ietfa.amsl.com (Postfix) with ESMTP id 30ABE1AE3B5 for <sipcore@ietf.org>; Sat, 7 Dec 2013 10:24:26 -0800 (PST)
Received: from CASUMHUB03.citservers.local (172.16.98.219) by Xedge02.citservers.local (172.16.98.248) with Microsoft SMTP Server (TLS) id 14.2.247.3; Sat, 7 Dec 2013 10:26:15 -0800
Received: from MBX08.citservers.local ([fe80::2564:652:8dc8:caae]) by CASUMHUB03.citservers.local ([::1]) with mapi id 14.02.0247.003; Sat, 7 Dec 2013 10:26:15 -0800
From: Brett Tate <brett@broadsoft.com>
To: "sipcore@ietf.org" <sipcore@ietf.org>
Thread-Topic: RFC 3261: 305 Use Proxy
Thread-Index: Ac7zeYtfzrfjjjZ2SuC5iKD08D8RQQ==
Date: Sat, 07 Dec 2013 18:26:13 +0000
Message-ID: <576A8B541C219D4E9CEB1DF8C19C7B881A06D0EA@MBX08.citservers.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.16.98.77]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: [sipcore] RFC 3261: 305 Use Proxy
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 07 Dec 2013 18:24:28 -0000

Hi,

As indicated within the following snippet from draft-rosenberg-sip-route-construct-01, the 305 response is underspecified within RFC 3261.

What is the expected behavior concerning how to handle a 305's Contact: replace Request-URI or utilized as a Route header?  The snippet indicates that the unstated assumption is that it populates the Request-URI.

Thanks,
Brett

-----

2.4  305 Use Proxy

RFC 3261 defines the 305 "Use Proxy" response code, but says
extremely little about exactly how it is used.  It has this to say:

   The requested resource MUST be accessed through the proxy given by
   the Contact field.  The Contact field gives the URI of the proxy.
   The recipient is expected to repeat this single request via the
   proxy. 305 (Use Proxy) responses MUST only be generated by UASs.

It is unclear how the Contact in the redirect is used.  Does it
populate the request URI of the resulting request?  Or, does it get
used to populate the Route header field?  The restriction to UASs is
also not explained.

Historically, the reason for the restriction to UAs was to avoid
routing loops.  Consider an outbound proxy that generates a 305,
instead of proxying the request.  The concern was that the client
would then recurse on the response, populate the Contact into a new
request URI, and send the request to its default outbound proxy,
which redirects once more.  To avoid this, the RFC says that only a
UAS can redirect with a 305, not a proxy.

However, this design decision on 305 handling was made prior to the
conception of loose routing, although both ended up in RFC 3261.  The
design of the 305 mechanism, unfortunately, was not revisited after
loose routing was specified.  As such, the draft is not clear about
whether or not the contact gets utilized as a Route header field
value or whether it replaces the Request URI.  The assumption,
unstated, is that it populates the Request-URI, since redirection
works that way in general.

This email is intended solely for the person or entity to which it is addressed and may contain confidential and/or privileged information. If you are not the intended recipient and have received this email in error, please notify BroadSoft, Inc. immediately by replying to this message, and destroy all copies of this message, along with any attachment, prior to reading, distributing or copying it.