Re: [Sipping] Possible Solution to HERFP
Rohan Mahy <rohan@ekabal.com> Mon, 01 August 2005 22:30 UTC
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dzint-0006Fp-CH; Mon, 01 Aug 2005 18:30:37 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dzinr-0006FZ-3v for sipping@megatron.ietf.org; Mon, 01 Aug 2005 18:30:35 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id SAA00287 for <sipping@ietf.org>; Mon, 1 Aug 2005 18:30:32 -0400 (EDT)
Received: from gallo.ekabal.com ([131.161.248.72]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1DzjKC-0004i9-WF for sipping@ietf.org; Mon, 01 Aug 2005 19:04:01 -0400
Received: from [10.0.1.78] (m113.net85-169-52.noos.fr [85.169.52.113]) by gallo.ekabal.com (Postfix) with ESMTP id AD637EC075; Mon, 1 Aug 2005 15:50:34 -0700 (PDT)
In-Reply-To: <42EC431A.9010508@cisco.com>
References: <dbf0b6ae20c7c5636fe0b2660c1dc1c3@ekabal.com> <42EC431A.9010508@cisco.com>
Mime-Version: 1.0 (Apple Message framework v622)
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Message-Id: <6f63777adf1453e50320e8c2ea3db94d@ekabal.com>
Content-Transfer-Encoding: 7bit
From: Rohan Mahy <rohan@ekabal.com>
Subject: Re: [Sipping] Possible Solution to HERFP
Date: Tue, 02 Aug 2005 00:29:38 +0200
To: Jonathan Rosenberg <jdrosen@cisco.com>
X-Mailer: Apple Mail (2.622)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 93e7fb8fef2e780414389440f367c879
Content-Transfer-Encoding: 7bit
Cc: Rohan Mahy <rohan@ekabal.com>, 'sipping' WG <sipping@ietf.org>
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SIPPING Working Group \(applications of SIP\)" <sipping.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
Sender: sipping-bounces@ietf.org
Errors-To: sipping-bounces@ietf.org
On Jul 31, 2005, at 5:18, Jonathan Rosenberg wrote: > Rohan, > > Thanks for revisiting this. I like the draft and think it has merit. > > In some sense, the approach is not far from another solution to herfp > which Jon P. has, inadvertently I think, proposed - that you disallow > retargeting and require redirect. If, instead of the proxy forking a > request to N destinations, it redirects with N contacts, each of which > is actually a gruu URI that routes to the instance which was to be the > target, you also end up eliminating the herfp problem. Your solution > is similar by having the proxy tunnel a "redirect" in the 130 > response, but you persist the original transaction. That allows the > proxy to retain control over the forking of the request, while giving > the UAC the ability to repair the failed branch. thanks > A litmus test for any herfp solution is whether it works for a > sequential ring kind of application (ring phone 1, then phone 2 after > 10s, then phone 3 after another 10) when phones 1 or two generate a > repairable error response. I believe your solution meets the litmus > test. Since the proxy still has the original transaction running, if > the "child" transaction to phone 2 times out after 10s (assuming phone > 2 had generated the repairable response), the proxy can cancel the > child transaction and sequence to the next branch of the original > transaction. yes. > I think the usage of response identity as the security mechanism here > makes no sense. If you want to authorize the 130, you should send the > original request with sips. I believe the desired property is that you > would trust a 130 sent by any proxy on the original request path. while this might be a reasonable approach, what i was looking for was to only repair based on 130s from the domain to which you sent the original requests. > As such, there would be no need for a client-initiated CANCEL in the > case of a mistrusted response, and this CANCEL was the source of the > problems discussed previously in this thread. actually, the motivation for introducing the cancel is different. If the proxy runs a timer for the branch (as you suggest later), the proxy needs to wait for the timer to expire before abandoning the branch and delivering a final response. positive knowledge that UAC will repair the branch or not, is very valuable and contributes to a better user experience. Adam suggested the use of a new method instead of reusing CANCEL. I think this is a reasonable suggestion. > I think a proxy generating a 130 also needs to set a timer, to deal > with the case that the client does not try to repair. I'm not sure such a timer is needed in practice. If the timer is 32 seconds, it is quite likely that the proxy would have already abandoned the branch (or the entire call) and possibly sent a 408 (for an INVITE transaction) or a 480. > In such a case, it could treat the branch on the original transaction > as if it had gotten a 487. This would allow the sequential forking > application litmus test above to still work in cases where the client > elects not to repair. quickly treating the branch like a 487 if the UAC does not repair is important for the user experience of your forking litmus test. I don't think this achievable with a timer without falsely abandoning repaired branches. > Like gruu, you need to discuss the validity and lifecycle maintenance > of these branch URI. I think that they remain valid only as long as > the original transaction remains active at the proxy. This would imply > that constructing such a branch URI is probably done by encoding the > outgoing branch ID into the user part of the URI. The domain part > would be constructed so that it routes to that proxy. I really don't like the "creating a URI" terminology. I am happy to discuss when these URI are useful and when they MUST be around. As for creating and destroying anything, my prototype implementation doesn't "create" or "destroy" any URIs. The proxy recognizes the URI type and checks if the response context and branch exist. Other implementations might explicitly create or destroy something which I am fine with, but I don't think it is helpful to describe the process using those terms in the text. > What does the proxy do if the user cancels the original transaction? > Does the proxy CANCEL the children transactions? yes > I think it should. In a sense, the child transaction is a stand-in for > the failed branch, replacing it so that the branch sort-of exists > still, but with a separate set of transaction identifiers. As such, > anything that would cause the proxy to terminate the original branch > should terminate the child. yes, for example a 2xx or 6xx terminates all the child branches. thanks, -rohan > Thanks, > Jonathan R. > > > > Rohan Mahy wrote: > >> Hi Folks, >> I just submitted a new individual I-D that describes a possible >> solution to the Heterogeneous Error Response Forking Protocol. Until >> it appears in the archives, you can find it here: >> https://scm.sipfoundry.org/rep/ietf-drafts/rohan/herf-fix/draft-mahy- >> sipping-herfp-fix-00.txt >> https://scm.sipfoundry.org/rep/ietf-drafts/rohan/herf-fix/draft-mahy- >> sipping-herfp-fix-00.html >> thanks, >> -rohan >> (as an individual) >> _______________________________________________ >> Sipping mailing list https://www1.ietf.org/mailman/listinfo/sipping >> This list is for NEW development of the application of SIP >> Use sip-implementors@cs.columbia.edu for questions on current sip >> Use sip@ietf.org for new developments of core SIP > > -- > Jonathan D. Rosenberg, Ph.D. 600 Lanidex Plaza > Director, Service Provider VoIP Architecture Parsippany, NJ > 07054-2711 > Cisco Systems > jdrosen@cisco.com FAX: (973) 952-5050 > http://www.jdrosen.net PHONE: (973) 952-5000 > http://www.cisco.com _______________________________________________ Sipping mailing list https://www1.ietf.org/mailman/listinfo/sipping This list is for NEW development of the application of SIP Use sip-implementors@cs.columbia.edu for questions on current sip Use sip@ietf.org for new developments of core SIP
- [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Adam Roach
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Adam Roach
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- RE: [Sipping] Possible Solution to HERFP Francois Audet
- RE: [Sipping] Possible Solution to HERFP Francois Audet
- RE: [Sipping] Possible Solution to HERFP Francois Audet
- Re: [Sipping] Possible Solution to HERFP Paul Kyzivat
- Re: [Sipping] Possible Solution to HERFP Vijay K. Gurbani
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Vijay K. Gurbani
- Re: [Sipping] Possible Solution to HERFP Adam Roach
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Adam Roach
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Paul Kyzivat
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Paul Kyzivat
- Re: [Sipping] Possible Solution to HERFP Adam Roach
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Jonathan Rosenberg
- Re: [Sipping] Possible Solution to HERFP Jeroen van Bemmel
- Re: [Sipping] Possible Solution to HERFP Rohan Mahy
- Re: [Sipping] Possible Solution to HERFP Bob Penfield