[sipcore] draft-ietf-sipcore-rfc4244bis-callflows-02: "Reason" placement

worley@ariadne.com (Dale R. Worley) Wed, 20 February 2013 20:50 UTC

Return-Path: <worley@shell01.TheWorld.com>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6733F21E8039 for <sipcore@ietfa.amsl.com>; Wed, 20 Feb 2013 12:50:04 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.689
X-Spam-Level:
X-Spam-Status: No, score=-2.689 tagged_above=-999 required=5 tests=[AWL=0.291, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, RCVD_IN_SORBS_WEB=0.619]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0uBEoPQ4xGoN for <sipcore@ietfa.amsl.com>; Wed, 20 Feb 2013 12:50:04 -0800 (PST)
Received: from TheWorld.com (pcls5.std.com [192.74.137.145]) by ietfa.amsl.com (Postfix) with ESMTP id CB49121E8037 for <sipcore@ietf.org>; Wed, 20 Feb 2013 12:50:03 -0800 (PST)
Received: from shell.TheWorld.com (root@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.14.5/8.14.5) with ESMTP id r1KKnids021624 for <sipcore@ietf.org>; Wed, 20 Feb 2013 15:49:46 -0500
Received: from shell01.TheWorld.com (localhost.theworld.com [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id r1KKniPC2221929 for <sipcore@ietf.org>; Wed, 20 Feb 2013 15:49:44 -0500 (EST)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r1KKniGa2212191; Wed, 20 Feb 2013 15:49:44 -0500 (EST)
Date: Wed, 20 Feb 2013 15:49:44 -0500
Message-Id: <201302202049.r1KKniGa2212191@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: sipcore@ietf.org
Subject: [sipcore] draft-ietf-sipcore-rfc4244bis-callflows-02: "Reason" placement
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Wed, 20 Feb 2013 20:50:04 -0000

In draft-ietf-sipcore-rfc4244bis-callflows-02, I find the following
inconsistency.  Could people please advise me what the correct usage
is?

When a non-2xx final response is received by a proxy (or synthesized,
in the case of timeouts), the response code is to be placed in the
Reason header value in an hi-entry.  It turns out that there are two
plausible choices:  One place is the hi-entry corresponding to the
INVITE that was sent by the proxy and which matches the response
received, the "next hop" location.  The other place is the hi-entry
which is the address of the UA which generated the response, the
"leaf" location.

draft-ietf-sipcore-rfc4244bis-callflows-02 is not rich in failure
responses, but there are these examples, with the corresponding
hi-entries for the failed fork:

   3.1.  Sequentially Forking (History-Info in Response)

   History-Info: <sip:office@example.com>;index=1.2;mp=1
   History-Info: <sip:office@192.0.2.5?Reason=SIP%3Bcause%3D408>;\
                 index=1.2.1;index=1.2.1;rc=1.2

   3.6.  PBX Voicemail Example

   History-Info: <sip:carol@example.com>;index=1.2;mp=1
   History-Info: <sip:carol@192.0.2.4?Reason=SIP%3Bcause%3D408>;\
		      index=1.2.1;rc=1.2

   3.7.  Consumer Voicemail Example

   History-Info: <sip:carol@example.com?Reason=SIP%3Bcause%3D408>;\
                      index=1.2;mp=1
   History-Info: <sip:carol@192.0.2.4>;index=1.2.1;rc=1.2

As you can see, these are inconsistent.

My belief (which may be faulty) is that the "Reason" goes in hi-entry
corresponding to the INVITE that the proxy sent, because that's what
the proxy can easily determine.  Trying to find the right "leaf"
hi-entry to attach the Reason to would be quite complicated in some
forking cases.

What is the right answer?

Dale