Re: [sipcore] 4244bis -- some examples

"Worley, Dale R (Dale)" <dworley@avaya.com> Fri, 01 October 2010 17:57 UTC

Return-Path: <dworley@avaya.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 9C3333A6CD1 for <sipcore@core3.amsl.com>; Fri, 1 Oct 2010 10:57:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.163
X-Spam-Level:
X-Spam-Status: No, score=-102.163 tagged_above=-999 required=5 tests=[AWL=-0.164, BAYES_00=-2.599, J_CHICKENPOX_31=0.6, 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 M4fGs2UndRFk for <sipcore@core3.amsl.com>; Fri, 1 Oct 2010 10:57:00 -0700 (PDT)
Received: from de307622-de-outbound.net.avaya.com (de307622-de-outbound.net.avaya.com [198.152.71.100]) by core3.amsl.com (Postfix) with ESMTP id 673483A6918 for <sipcore@ietf.org>; Fri, 1 Oct 2010 10:57:00 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.57,267,1283745600"; d="scan'208";a="210115775"
Received: from unknown (HELO co300216-co-erhwest.avaya.com) ([198.152.7.5]) by de307622-de-outbound.net.avaya.com with ESMTP; 01 Oct 2010 13:57:47 -0400
X-IronPort-AV: E=Sophos;i="4.57,267,1283745600"; d="scan'208";a="522292484"
Received: from dc-us1hcex1.us1.avaya.com (HELO DC-US1HCEX1.global.avaya.com) ([135.11.52.20]) by co300216-co-erhwest-out.avaya.com with ESMTP; 01 Oct 2010 13:57:47 -0400
Received: from DC-US1MBEX4.global.avaya.com ([169.254.2.129]) by DC-US1HCEX1.global.avaya.com ([2002:870b:3414::870b:3414]) with mapi; Fri, 1 Oct 2010 13:57:46 -0400
From: "Worley, Dale R (Dale)" <dworley@avaya.com>
To: "sipcore@ietf.org" <sipcore@ietf.org>
Date: Fri, 01 Oct 2010 13:57:46 -0400
Thread-Topic: 4244bis -- some examples
Thread-Index: AQHLYYtaYnyss8b4ikW+oiKQOCM0AJMsXqjv
Message-ID: <CD5674C3CD99574EBA7432465FC13C1B21FFC79C98@DC-US1MBEX4.global.avaya.com>
References: <CD5674C3CD99574EBA7432465FC13C1B21FFC79C96@DC-US1MBEX4.global.avaya.com>
In-Reply-To: <CD5674C3CD99574EBA7432465FC13C1B21FFC79C96@DC-US1MBEX4.global.avaya.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [sipcore] 4244bis -- some examples
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, 01 Oct 2010 17:57:01 -0000

Some talking points regarding the recent examples:

1. It's not clear why the "rc" parameter does not have a value telling
where the hi-targeted-uri is derived from, but the "mp" parameter does.
(This is ticket 41.)

2. For hi-entry's that do not have either "rc" or "mp", there is no
way to record where the hi-targeted-uri is derived from.  It would
seem desirable to move the mp-param to another parameter name that is
independent of "rc" and "mp", or to define an "other" parameter to use
in exactly the cases where "rc" and "mp" do not apply.

3. The "hit" URI-parameter on the Contact URIs in a 3xx response would
seem to be better done as header parameters.  This gives:

        Contact: <sip:A>;hit=rc, <sip:B>;hit=mp, <sip:C>

(This is, or is related to, ticket 4.)

4. As far as I can tell from the rules, the intention is that
History-Info will contain sibling forks of the current request only if
the sibling fork has already returned a response.  There doesn't seem
to be a strong reason not to always include all sibling forks,
although if we retain the convention that the last hi-entry
corresponds to the containing request, we can't always document all
known sibling forks in History-Request (as some of them will have
higher index numbers than the containing request).

5. The response to a request is encoded in a Reason 'header' in the
hi-targeted-uri.  It would seem more natural to encode the value in a
header parameter.  E.g.:

        History-Info: hhh,
                      <sip:R>;index=xxx.1;reason=SIP%3bcause%3d302,
                      <sip:A>;index=xxx.2;rc

6. In the fourth example, when the call falls over to voicemail
(sip:C), the History-Info shows the derivation of the request-URI (if
change 2 above is accepted):

        History-Info: hhh,
                      <sip:R?Reason=SIP%3bcause%3d302>;index=xxx.1,
                      <sip:A?Reason=SIP%3bcause%3d487>;index=xxx.2;rc,
                      <sip:B?Reason=SIP%3bcause%3d487>;index=xxx.3;mp=xxx.1,
                      <sip:C>;index=xxx.4;other=xxx.1

But it does not explicitly show which failed forks caused the fork to
sip:C to be generated.  (In this case, the call falls back to
voicemail only after forks xxx.2 and xxx.3 do not answer.)  It may be
possible to deduce this information in many cases, but to solve the
problem in all cases will probably require making this information
explicit.  E.g.,

        History-Info: hhh,
                      <sip:R?Reason=SIP%3bcause%3d302>;index=xxx.1,
                      <sip:A?Reason=SIP%3bcause%3d487>;index=xxx.2;rc=xxx.1,
                      <sip:B?Reason=SIP%3bcause%3d487>;index=xxx.3;mp=xxx.1,
                      <sip:C>;index=xxx.4;other=xxx.1;after=xxx.2/xxx.3

The "after" parameter specifies the request(s) whose responses caused
the sip:C fork to be generated.  (I did not add "after" to xxx.2 and
xxx.3 because the values of the rc and mp parameters make those
dependencies explicit.)

Dale