Re: [sipcore] #8: It's not clear when a Proxy should/should-not add H-I for "internal" stuff

Hadriel Kaplan <HKaplan@acmepacket.com> Thu, 02 September 2010 20:41 UTC

Return-Path: <HKaplan@acmepacket.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 F35963A69B5 for <sipcore@core3.amsl.com>; Thu, 2 Sep 2010 13:41:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.455
X-Spam-Level:
X-Spam-Status: No, score=-2.455 tagged_above=-999 required=5 tests=[AWL=0.144, BAYES_00=-2.599]
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 k29Eb8mWq9Sd for <sipcore@core3.amsl.com>; Thu, 2 Sep 2010 13:41:54 -0700 (PDT)
Received: from etmail.acmepacket.com (etmail.acmepacket.com [216.41.24.6]) by core3.amsl.com (Postfix) with ESMTP id 1C8623A69B3 for <sipcore@ietf.org>; Thu, 2 Sep 2010 13:41:54 -0700 (PDT)
Received: from mail.acmepacket.com (216.41.24.7) by etmail.acmepacket.com (216.41.24.6) with Microsoft SMTP Server (TLS) id 8.1.375.2; Thu, 2 Sep 2010 16:42:23 -0400
Received: from mail.acmepacket.com ([127.0.0.1]) by mail ([127.0.0.1]) with mapi; Thu, 2 Sep 2010 16:42:02 -0400
From: Hadriel Kaplan <HKaplan@acmepacket.com>
To: "Worley, Dale R (Dale)" <dworley@avaya.com>
Date: Thu, 02 Sep 2010 16:41:58 -0400
Thread-Topic: [sipcore] #8: It's not clear when a Proxy should/should-not add H-I for "internal" stuff
Thread-Index: ActK30vtPLHLxe3CT4yO0nwhSVENXA==
Message-ID: <A64D74A5-304F-4CE2-B790-B75D56D2A7DE@acmepacket.com>
References: <064.2fac1c1d9b3ab9e13c8bc32cb433819f@tools.ietf.org>, <C09A3F8C-B220-4FB5-BE45-A0D85C012AE0@ntt-at.com> <CD5674C3CD99574EBA7432465FC13C1B21FFC79C0C@DC-US1MBEX4.global.avaya.com>
In-Reply-To: <CD5674C3CD99574EBA7432465FC13C1B21FFC79C0C@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
Cc: "sipcore@ietf.org" <sipcore@ietf.org>, sipcore issue tracker <trac@tools.ietf.org>
Subject: Re: [sipcore] #8: It's not clear when a Proxy should/should-not add H-I for "internal" stuff
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: Thu, 02 Sep 2010 20:41:56 -0000

On Sep 2, 2010, at 3:26 PM, Worley, Dale R (Dale) wrote:

> The point of H-I is to capture (to the degree possible) the request-URIs of the *entire* tree of INVITE messages that were generated.  If this is done thoroughly, then all of the "regargeting" operations (all all other types of operations) will necessarily be captured.  But in the past, people have tended to think that the purpose was to document some specific set of request-URI transformations (e.g., the ones called "retargeting"), and the text tends to be written in ways that echo that previous understanding.  The result is that we feel the need to debate exactly what is recorded in certain complex situations.
> 
> The solution is to clarify at the beginning that all request-URIs are intended to be recorded.

But they're NOT "Request-URIs".  Not yet.  They're abstract target URIs during the internal local policy stages of routing, until such point as the request gets forwarded.  They're just memory blocks in a system, getting munged based on transformation rules, lookup tables, or possibly non-SIP database queries.

For example, a common routing local policy procedure of originating proxies in North America is to perform the following for received request-URIs identified as phone numbers:
1) Normalize the number by removing visual separators, and possibly transform the number to an E.164, by adding a country-code, area-code, leading-plus, etc.
2) Do a number portability dip for the called number.  That changes the target URI to include a 'npdi' and possibly 'rn' param info.
3) Determine whether the portability-corrected target is local or out of region, or if it's out of the local domain altogether (and to which peer).  That can change the target again, for example by changing the domain name, adding trunk-group info, etc.
4) Change the Request-URI to be the new target.

I'm simplifying and skipping some steps, but you get the idea.
Do you expect three or more H-I entries to be generated by this Proxy?  
What if steps 2 and 3 were performed through ENUM, DIAMETER, SS7, or even just local tables, and thus not changing "Request-URIs" until step 4?

-hadriel