Re: [sipcore] #19/#20: Show Cancel messaging/Handling canceled forks

Mary Barnes <mary.ietf.barnes@gmail.com> Fri, 22 October 2010 18:57 UTC

Return-Path: <mary.ietf.barnes@gmail.com>
X-Original-To: sipcore@core3.amsl.com
Delivered-To: sipcore@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 45FD73A68AD for <sipcore@core3.amsl.com>; Fri, 22 Oct 2010 11:57:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.537
X-Spam-Level:
X-Spam-Status: No, score=-102.537 tagged_above=-999 required=5 tests=[AWL=0.062, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id klJTSOdNQ2S8 for <sipcore@core3.amsl.com>; Fri, 22 Oct 2010 11:57:20 -0700 (PDT)
Received: from mail-gw0-f44.google.com (mail-gw0-f44.google.com [74.125.83.44]) by core3.amsl.com (Postfix) with ESMTP id DF7863A682B for <sipcore@ietf.org>; Fri, 22 Oct 2010 11:57:19 -0700 (PDT)
Received: by gwb17 with SMTP id 17so917988gwb.31 for <sipcore@ietf.org>; Fri, 22 Oct 2010 11:58:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=rXJ4VGbhXsw4ZwfA0tnoSEtyS9bTFZUHrbzd7Z1W2ng=; b=HyEnGBNQwL8cBAtIdjDw1JV+gKCC2cTKSTMdMEqtEbl47ZD7BylbZF914/ATlrrwI+ r+4KpvMejIx7ugV5wjuJiaQI7D/Xv2Gtq5Gai7FOM6InC7KHhOO7IDcJziVktw1nrVcJ njAURCqmPMzwOh77laNjLUgIJ660QEyc50du8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=TxBKEicYC24EZhzYLjvsMrkSJfrWyIkcOskqC8I+dnJ1+s8WzuOwbrDqJdHKALzyrh 9Ku9IBe5GRT4+u+ST/MCTy/gJppMclWc6KdQLxH/R7uGCrCHAnr7L/Rrq7qsAHpSZchU 8Q89UUk9mazm0F1+41FXMTiDjSeUwALaoolrE=
MIME-Version: 1.0
Received: by 10.151.85.18 with SMTP id n18mr6835645ybl.1.1287773938059; Fri, 22 Oct 2010 11:58:58 -0700 (PDT)
Received: by 10.236.110.51 with HTTP; Fri, 22 Oct 2010 11:58:58 -0700 (PDT)
In-Reply-To: <AANLkTikYzH4X5bDyLc1ycrnzCv=LM0YsPgk9C499_-st@mail.gmail.com>
References: <AANLkTikYzH4X5bDyLc1ycrnzCv=LM0YsPgk9C499_-st@mail.gmail.com>
Date: Fri, 22 Oct 2010 13:58:58 -0500
Message-ID: <AANLkTi=e1na8S1=1Aa3Amvh93HrwFK12qYz=83P6HKkM@mail.gmail.com>
From: Mary Barnes <mary.ietf.barnes@gmail.com>
To: SIPCORE <sipcore@ietf.org>
Content-Type: text/plain; charset="windows-1252"
Content-Transfer-Encoding: quoted-printable
Cc: worley@alum.mit.edu
Subject: Re: [sipcore] #19/#20: Show Cancel messaging/Handling canceled forks
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/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: Fri, 22 Oct 2010 18:57:21 -0000

In reconsidering this issue, I'm now of a mind that we should just not
include the entry for the canceled fork in the response since it
really doesn't add any value since it's undetermined at the time the
response is sent what really happened to that leg.  This is only in
the case of parallel forking, which is always an anomaly.  Unless
someone strongly disagrees, I'll update the text appropriately
(including bullet 6 in the indexing section).

Mary.

On Tue, Oct 12, 2010 at 5:37 PM, Mary Barnes <mary.ietf.barnes@gmail.com> wrote:
> Note, I've merged these two issues into a single response since they
> are relevant to the same text/call flow.  I have corrected #19 such
> that the 200 OK is sent before the Cancel.
>
> As you note, there is a general problem here in terms of how the 487
> is reported.  We cannot change basic SIP protocol processing.
> However, the hi-entry received in the response at the UAC is
> misleading  if we don't include a reason.  So, I think we have to do
> the "pre-emptive" addition of the reason.
>
> The parallel forking scenario also has the anomaly that the indices
> don't necessarily reflect (obviously) the sequence of events per se.
> But, I don't know a way around that one either and I think that's
> another parallel forking is evil side effect that we'll have to live
> with.  The only hint the UAC would have that there was parallel
> forking is that the last hi-entry has a reason and the one prior
> doesn't.  However, I think it would be better if the last entry is the
> successful one and is more reflective of where the INVITE was
> successfully received.  This means that some indices might be out or
> order, but I do not think that should break anything since they are
> from the same branch (i.e., the tree looks the same).
>
> Thanks,
> Mary.
>
> On Tue, Aug 31, 2010 at 12:26 PM, sipcore issue tracker
> <trac@tools.ietf.org> wrote:
>> #20: Handling canceled forks
>> ---------------------------------+------------------------------------------
>>  Reporter:  worley@…             |       Owner:
>>     Type:  defect               |      Status:  new
>>  Priority:  major                |   Milestone:  milestone1
>> Component:  rfc4244bis           |     Version:
>>  Severity:  In WG Last Call      |    Keywords:
>> ---------------------------------+------------------------------------------
>>  Concerning this part of section 3 figure 1:
>>
>>    |                |                |     200        |          |
>>    |                |                |<---------------|          |
>>    | History-Info: <sip:bob@biloxi.example.com;p=x>;index=1
>>    | History-Info: <sip:bob@biloxi.example.com;p=x>;index=1.1
>>    | History-Info: <sip:bob@192.0.2.3>;index=1.1.1;rc
>>    |                |                |                |          |
>>    |                |                |<===Proxy cancels INVITE==>|
>>    |                |                |                |          |
>>    |                |                |      487       |          |
>>    |                |                |<--------------------------|
>>    |                |     200        |                |          |
>>    |                |<---------------|                |          |
>>    | History-Info: <sip:bob@biloxi.example.com;p=x>;index=1
>>    | History-Info: <sip:bob@biloxi.example.com;p=x>;index=1.1
>>    | History-Info: <sip:bob@192.0.2.3>;index=1.1.1;rc
>>    | History-Info: <sip:bob@192.0.2.7?Reason=SIP;cause=487>;\
>>    |               index=1.1.2;rc
>>
>>  In principle, the second 200 response shown above should be sent
>>  immediately after the first 200 response shown above was received from
>>  downstream.  But the received 200 response triggered "Proxy cancels
>>  INVITE", which led to Bob@phone to send the 487 response which is
>>  documented in the 4th History-Info value in the sent 200, which should
>>  have been sent before the 487 was received.
>>
>>  One alternative is to put that 4th value in the upstream 200
>>  "preemptively", that is, documenting that the proxy *intends* to cancel
>>  the INVITE to Bob@phone.  But the proxy does not know that it will be
>>  successful in canceling the INVITE and receiving a 487 response -- there
>>  might already be a 200 en route from Bob@phone.  So the upstream 200 can't
>>  be sent until the 487 is received.
>>
>>  Another alternative is to delay sending the upstream 200 until after all
>>  parallel forks have been disposed of.  But this would be complex and might
>>  take a significant amount of time.
>>
>> --
>> Ticket URL: <http://trac.tools.ietf.org/wg/sipcore/trac/ticket/20>
>> sipcore <http://tools.ietf.org/sipcore/>
>>
>> _______________________________________________
>> sipcore mailing list
>> sipcore@ietf.org
>> https://www.ietf.org/mailman/listinfo/sipcore
>>
>