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

Mary Barnes <mary.ietf.barnes@gmail.com> Tue, 12 October 2010 22:36 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 29F743A6AB1 for <sipcore@core3.amsl.com>; Tue, 12 Oct 2010 15:36:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.491
X-Spam-Level:
X-Spam-Status: No, score=-102.491 tagged_above=-999 required=5 tests=[AWL=0.108, 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 1QVVjpO5hHTs for <sipcore@core3.amsl.com>; Tue, 12 Oct 2010 15:36:34 -0700 (PDT)
Received: from mail-gx0-f172.google.com (mail-gx0-f172.google.com [209.85.161.172]) by core3.amsl.com (Postfix) with ESMTP id AEE4F3A6A87 for <sipcore@ietf.org>; Tue, 12 Oct 2010 15:36:29 -0700 (PDT)
Received: by gxk20 with SMTP id 20so1974702gxk.31 for <sipcore@ietf.org>; Tue, 12 Oct 2010 15:37:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:cc:content-type:content-transfer-encoding; bh=cNN7QNLvwOE5oYKQ9bGGH5/al0NPXsRAHPkYUfjcxAk=; b=rNNMyUOgVIQioRUm8Q/y7UCj0leCbD1K9vul8bCpn/Q2Hqml6XOuqMuaLLf5UvW3Vb P66g2WElSa2sJHlOuYtvw35+WXubiwObuOsxLLtO63L2PWKMkaz/8YD9jlbrFcglrA9c 16qkp1pebtJS8VSM1Q5tXU7TYRZ6OUHCFR/Es=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=d+3QuJ+f86pD1tB6PwvYM6QZ0zuJH3/EJQqhn97AD5RlfOnU0a97EpRu+K8ccZGcG8 c/WKD+qBqYG42BRVdS+MJf2gyEZc+RY5OVdlMlLcMhhU6hdSFpUfn+/lNX09GL9Mth3G ycUXjgE8TqiX+Vn1VdCiGp/ubGknBABhEfmTE=
MIME-Version: 1.0
Received: by 10.150.198.2 with SMTP id v2mr9224303ybf.350.1286923063770; Tue, 12 Oct 2010 15:37:43 -0700 (PDT)
Received: by 10.236.108.172 with HTTP; Tue, 12 Oct 2010 15:37:43 -0700 (PDT)
Date: Tue, 12 Oct 2010 17:37:43 -0500
Message-ID: <AANLkTikYzH4X5bDyLc1ycrnzCv=LM0YsPgk9C499_-st@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: Tue, 12 Oct 2010 22:36:36 -0000

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
>