Re: [Sipping] Possible Solution to HERFP

Rohan Mahy <rohan@ekabal.com> Tue, 19 July 2005 23:18 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dv1MH-0006sZ-7M; Tue, 19 Jul 2005 19:18:41 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dv1MF-0006sR-ES for sipping@megatron.ietf.org; Tue, 19 Jul 2005 19:18:39 -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 TAA12365 for <sipping@ietf.org>; Tue, 19 Jul 2005 19:18:36 -0400 (EDT)
Received: from figas.ekabal.com ([204.61.215.10]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Dv1px-00043T-Rl for sipping@ietf.org; Tue, 19 Jul 2005 19:49:22 -0400
Received: from [131.161.248.91] (open-131-161-248-91.cliq.com [131.161.248.91]) (authenticated) by figas.ekabal.com (8.11.6/8.11.6) with ESMTP id j6JNGXE09158; Tue, 19 Jul 2005 16:16:33 -0700
In-Reply-To: <018c01c58cb1$ad6bf280$6502a8c0@BEMBUSTER>
References: <dbf0b6ae20c7c5636fe0b2660c1dc1c3@ekabal.com> <001501c58466$1e8db060$6502a8c0@BEMBUSTER> <172b63a380c152e72053e1b390d9afe4@ekabal.com> <002501c584a6$36ad93f0$6502a8c0@BEMBUSTER> <42D27302.8070006@cisco.com> <00a201c58ca6$ce4b5370$6502a8c0@BEMBUSTER> <6c77ba1cce2b0f912368990973ab994e@ekabal.com> <018c01c58cb1$ad6bf280$6502a8c0@BEMBUSTER>
Mime-Version: 1.0 (Apple Message framework v622)
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Message-Id: <6ae3c0281cf48521cc5e1bb82863313e@ekabal.com>
Content-Transfer-Encoding: 7bit
From: Rohan Mahy <rohan@ekabal.com>
Subject: Re: [Sipping] Possible Solution to HERFP
Date: Tue, 19 Jul 2005 16:16:15 -0700
To: Jeroen van Bemmel <jbemmel@zonnet.nl>
X-Mailer: Apple Mail (2.622)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: a2c12dacc0736f14d6b540e805505a86
Content-Transfer-Encoding: 7bit
Cc: Rohan Mahy <rohan@ekabal.com>, Paul Kyzivat <pkyzivat@cisco.com>, sipping <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

Hi Jeroen,

Rather than design on the fly on the SIP WG mailing list, I suggest if 
you have additional ideas about how to solve HERFP, you instead write a 
draft explaining how your proposed mechanism works.  The action of 
writing such a proposal usually uncovers a large number of problems.  I 
have abandoned what I thought was a "great idea" after writing a draft 
explaining the idea uncovered fatal flaws.  Even when I have an idea 
that works well, I usually uncover new aspects I had not specified or 
understood.

On Jul 19, 2005, at 15:31, Jeroen van Bemmel wrote:
> Hi Rohan,
>
> We are talking about the INVITE client transaction state machines at 
> intermediaries here, right?

well, i was actually thinking of the UAC state machine, but it would 
affect the intermediaries as well.

> Would it really make a difference to them? 300-699 takes them into the 
> completed state,

if you send a final response to indicate a recoverable error, there is 
no way to forward another response later from another branch (for 
example a 200).

> 2xx terminates the transaction. In either case they are already 
> required to pass on responses with no matching transaction upstream 
> statelessly (section 16.7)

forwarding non-matching responses was deprecated with the approval of 
draft-sparks-sip-nit-actions

> What about the Route idea?

most UAs that I know will reject a request if there are any Routes left.

thanks,
-rohan

> Jeroen
>
> ----- Original Message ----- From: "Rohan Mahy" <rohan@ekabal.com>
> To: "Jeroen van Bemmel" <jbemmel@zonnet.nl>
> Cc: "Rohan Mahy" <rohan@ekabal.com>; "Paul Kyzivat" 
> <pkyzivat@cisco.com>; "'sipping' WG" <sipping@ietf.org>
> Sent: Wednesday, July 20, 2005 12:12 AM
> Subject: Re: [Sipping] Possible Solution to HERFP
>
>
>> Hi Jeroen,
>>
>> This would be a dramatic change to the INVITE transaction state 
>> machine which would certainly break many intermediaries.  I don't 
>> think that would be advisable.
>>
>> thanks,
>> -rohan
>>
>>
>> On Jul 19, 2005, at 14:14, Jeroen van Bemmel wrote:
>>
>>>>> Could an ACK not be used instead?
>>>>
>>>> ACKs aren't used with 1xx responses, so this would also be out of 
>>>> the ordinary.
>>>>
>>>
>>> I was thinking about the proxy sending a final response (perhaps 
>>> with no to-tag) instead of the 130, then the UAC could send an ACK 
>>> as usual which the proxy could use as a signal to exclude that 
>>> branch from consideration as a 'best response'. This would probably 
>>> require a change to the UAC transaction state logic, i.e. not only 
>>> be prepared to receive multiple 2xx responses but also multiple of 
>>> such not-quite-final responses. To avoid such a change a code in the 
>>> 2xx range could be chosen, but that seems not right semantically 
>>> (unless you consider it a success to have located a repairable 
>>> responder)
>>>
>>> About the new INVITE that is supposed to fix the repairable error: 
>>> should you not make sure that it follows the exact same path as the 
>>> original, avoiding forks along the way? What if the proxy would form 
>>> the Contact header with a list of Route headers corresponding to the 
>>> path calculated from the INVITE it got originally, possibly extended 
>>> with a Route entry that points to the UAS that responded with an 
>>> error? I think this would make sure that any forking proxies along 
>>> that path don't try their forking trick again, making the fix very 
>>> targeted
>>>
>>> Regards,
>>>
>>> jeroen


_______________________________________________
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