Re: [Sipping] Possible Solution to HERFP

Rohan Mahy <rohan@ekabal.com> Sun, 24 July 2005 14:39 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dwhdx-0006UE-MB; Sun, 24 Jul 2005 10:39:53 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1Dwhdw-0006U2-Dp for sipping@megatron.ietf.org; Sun, 24 Jul 2005 10:39:52 -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 KAA01889 for <sipping@ietf.org>; Sun, 24 Jul 2005 10:39:49 -0400 (EDT)
Received: from figas.ekabal.com ([204.61.215.10]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Dwi8b-0004SM-8J for sipping@ietf.org; Sun, 24 Jul 2005 11:11:33 -0400
Received: from [131.161.248.92] (open-131-161-248-92.cliq.com [131.161.248.92]) (authenticated) by figas.ekabal.com (8.11.6/8.11.6) with ESMTP id j6OEccE03431; Sun, 24 Jul 2005 07:38:38 -0700
In-Reply-To: <002801c59058$13e89aa0$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> <6ae3c0281cf48521cc5e1bb82863313e@ekabal.com> <002801c59058$13e89aa0$6502a8c0@BEMBUSTER>
Mime-Version: 1.0 (Apple Message framework v622)
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Message-Id: <bcbdb47ee8c51c9b8540e223dc61ddb2@ekabal.com>
Content-Transfer-Encoding: 7bit
From: Rohan Mahy <rohan@ekabal.com>
Subject: Re: [Sipping] Possible Solution to HERFP
Date: Sun, 24 Jul 2005 07:38:34 -0700
To: Jeroen van Bemmel <jbemmel@zonnet.nl>
X-Mailer: Apple Mail (2.622)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 36b1f8810cb91289d885dc8ab4fc8172
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

On Jul 24, 2005, at 7:00, Jeroen van Bemmel wrote:

> Rohan,
>
> OK, I will work on that. For clarification: you have not abandoned the 
> HERFP fix draft, right?
>
> In section 4.1 you define a repairable response as a '400-class or 
> 500-class response other than a 503, 487, or 408'. Did you perhaps 
> mean 403 Forbidden instead of 503 here?

no, I meant 503.

> And perhaps this range is too broad? e.g. consider the case where a 
> called user presses 'cancel' on his phone to refuse an incoming call 
> which generates a '486 Busy here'; it would be annoying when the phone 
> rings again.

Francois Audet already made a similar comment.  I'm not sure I want to 
enumerate all the response codes that are repairable, but I agree the 
486 is not repairable in the traditional sense.

note though that, a user pressing a button on a phone has a semantic 
closer to 603 Decline, but I understand that the user may want to 
trigger voicemail or an attendant or something.

thanks,
-rohan

> Such "try again later" responses should IMO be communicated to the 
> caller, but any Retry-After headers should be honored. And a 486 
> without a Retry-After should probably not result in a second attempt
>
> 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" <sipping@ietf.org>
> Sent: Wednesday, July 20, 2005 1:16 AM
> Subject: Re: [Sipping] Possible Solution to HERFP
>
>
>> 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