Re: [sipcore] RFC 3261: 305 Use Proxy

"DRAGE, Keith (Keith)" <keith.drage@alcatel-lucent.com> Mon, 09 December 2013 18:49 UTC

Return-Path: <keith.drage@alcatel-lucent.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 58FEB1AE3DE for <sipcore@ietfa.amsl.com>; Mon, 9 Dec 2013 10:49:21 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5] 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 ehL6V-XSGUKU for <sipcore@ietfa.amsl.com>; Mon, 9 Dec 2013 10:49:19 -0800 (PST)
Received: from ihemail3.lucent.com (ihemail3.lucent.com [135.245.0.37]) by ietfa.amsl.com (Postfix) with ESMTP id 094881ADFB8 for <sipcore@ietf.org>; Mon, 9 Dec 2013 10:49:18 -0800 (PST)
Received: from fr711usmtp1.zeu.alcatel-lucent.com (h135-239-2-122.lucent.com [135.239.2.122]) by ihemail3.lucent.com (8.13.8/IER-o) with ESMTP id rB9In7JF018070 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Mon, 9 Dec 2013 12:49:09 -0600 (CST)
Received: from FR711WXCHHUB01.zeu.alcatel-lucent.com (fr711wxchhub01.zeu.alcatel-lucent.com [135.239.2.111]) by fr711usmtp1.zeu.alcatel-lucent.com (GMO) with ESMTP id rB9In7xn029770 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 9 Dec 2013 19:49:07 +0100
Received: from FR712WXCHMBA11.zeu.alcatel-lucent.com ([169.254.7.203]) by FR711WXCHHUB01.zeu.alcatel-lucent.com ([135.239.2.111]) with mapi id 14.02.0247.003; Mon, 9 Dec 2013 19:49:07 +0100
From: "DRAGE, Keith (Keith)" <keith.drage@alcatel-lucent.com>
To: Brett Tate <brett@broadsoft.com>, Andrew Allen <aallen@blackberry.com>, "pkyzivat@alum.mit.edu" <pkyzivat@alum.mit.edu>, "sipcore@ietf.org" <sipcore@ietf.org>
Thread-Topic: [sipcore] RFC 3261: 305 Use Proxy
Thread-Index: Ac7zeYtfzrfjjjZ2SuC5iKD08D8RQf//97qAgACoJQCAAhhGAP//jVDQ
Date: Mon, 09 Dec 2013 18:49:06 +0000
Message-ID: <949EF20990823C4C85C18D59AA11AD8B0F43C9@FR712WXCHMBA11.zeu.alcatel-lucent.com>
References: <52A36EF3.3040702@alum.mit.edu> <BBF5DDFE515C3946BC18D733B20DAD2338E75169@XMB104ADS.rim.net> <576A8B541C219D4E9CEB1DF8C19C7B881A06D259@MBX08.citservers.local>
In-Reply-To: <576A8B541C219D4E9CEB1DF8C19C7B881A06D259@MBX08.citservers.local>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [135.239.27.39]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.57 on 135.245.2.37
Subject: Re: [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: Mon, 09 Dec 2013 18:49:21 -0000

In answe to your first question, if you generate a 305 response to a request, you are by definition a UAS for that transaction.

Our interpretation has always been that you assume a role (UAS or proxy), for the transaction (otherwise how can you be a USA for a REGISTER request and an outbound proxy for an INVITE request?).

Keith

> -----Original Message-----
> From: sipcore [mailto:sipcore-bounces@ietf.org] On Behalf Of 
> Brett Tate
> Sent: 09 December 2013 12:56
> To: Andrew Allen; pkyzivat@alum.mit.edu; sipcore@ietf.org
> Subject: Re: [sipcore] RFC 3261: 305 Use Proxy
> 
> > 3GPP specifications make use of the 305 Use Proxy response 
> but don't 
> > go into details of how the Contact header is utilised.
> 
> Sounds like RFC 3261. :)
> 
> How does 3GPP interpret "305 (Use Proxy) responses MUST only 
> be generated by UASs"?
> 
> For instance, can proxies and B2BUAs generate 305 responses?  
> If yes, can it be sent even though the middle box was not the 
> last loose route entry?
> 
> Because of all the middle boxes and loose routing within 3GPP 
> (including during call setup), which device does 3GPP expect 
> to act upon the 305?  And if the immediate hop prior does not 
> act upon the 305 should it proxy the 305 (thus potentially 
> being subsequently bypassed and causing another 305)?
> 
> > My assumption is that the Route header is used as this is used to 
> > redirect an INVITE request via a different proxy and so you need to 
> > preserve the Request-URI which contains the address of the 
> destination 
> > UA.
> 
> How does the device acting upon the 305 alter an existing 
> loose route to accommodate the Contact?
> 
> For instance, let's assume that the original INVITE contained 
> a Route to traverse 3 proxies (first, second, and third) and 
> no additional Route entries were added by middle boxes (to 
> simplify the example).  How should each proxy and UAC adjust 
> the Route if they were to act upon the 305?
> 
> I assume that a 305 with multiple Contact headers does not 
> indicate to traverse multiple proxies.
> 
> > This behavior also seems to align with the loose routing 
> concepts of 
> > RFC 3261 - i.e. you leave the Request-URI alone when routing.
> 
> Loose routing was introduce by RFC 3261.  305 existed within 
> RFC 2543.  Based upon your interpretation, it sounds like RFC 
> 2543 devices acting upon a 305 would have sent the INVITE to 
> the Contact location without adding a Route and without 
> altering the Request-URI.
> 
> This interpretation also appears to complicate the default 
> handling discussed within RFC 3261 section 5.1.1.  More 
> specifically, the 300 handling of 305 would result in the 
> other interpretation of the 305 (i.e. replace Request-URI).
> 
> RFC 3261 section 5.1.1:
> 
> "SIP response codes are extensible. SIP applications are not 
> required  to understand the meaning of all registered 
> response codes, though  such understanding is obviously 
> desirable. However, applications MUST  understand the class 
> of any response code, as indicated by the first  digit, and 
> treat any unrecognized response as being equivalent to the  
> x00 response code of that class, with the exception that an  
> unrecognized response MUST NOT be cached. For example, if a 
> client  receives an unrecognized response code of 431, it can 
> safely assume  that there was something wrong with its 
> request and treat the  response as if it had received a 400 
> (Bad Request) response code."
> _______________________________________________
> sipcore mailing list
> sipcore@ietf.org
> https://www.ietf.org/mailman/listinfo/sipcore
>