Re: [dispatch] B2BUA-taxonomy for STRAW WG

Dean Willis <dean.willis@softarmor.com> Wed, 19 October 2011 00:23 UTC

Return-Path: <dean.willis@softarmor.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F0B9921F8AEA for <dispatch@ietfa.amsl.com>; Tue, 18 Oct 2011 17:23:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.977
X-Spam-Level:
X-Spam-Status: No, score=-102.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SbGX0x4gyDXX for <dispatch@ietfa.amsl.com>; Tue, 18 Oct 2011 17:23:30 -0700 (PDT)
Received: from mail-qy0-f172.google.com (mail-qy0-f172.google.com [209.85.216.172]) by ietfa.amsl.com (Postfix) with ESMTP id 3E7CC21F8AF5 for <dispatch@ietf.org>; Tue, 18 Oct 2011 17:23:30 -0700 (PDT)
Received: by qyk34 with SMTP id 34so2499604qyk.10 for <dispatch@ietf.org>; Tue, 18 Oct 2011 17:23:29 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.229.11.145 with SMTP id t17mr1010326qct.5.1318981953558; Tue, 18 Oct 2011 16:52:33 -0700 (PDT)
Received: by 10.229.219.195 with HTTP; Tue, 18 Oct 2011 16:52:33 -0700 (PDT)
In-Reply-To: <84B0F69E-5BB5-41FD-A331-6C7B469C0EB2@acmepacket.com>
References: <84B0F69E-5BB5-41FD-A331-6C7B469C0EB2@acmepacket.com>
Date: Tue, 18 Oct 2011 18:52:33 -0500
Message-ID: <CAOHm=4vkNnNxe7BzEaDcj64hV9-PLdyEYf56t-kR9oo-jH+oyA@mail.gmail.com>
From: Dean Willis <dean.willis@softarmor.com>
To: Hadriel Kaplan <HKaplan@acmepacket.com>
Content-Type: text/plain; charset="ISO-8859-1"
Cc: "dispatch@ietf.org list" <dispatch@ietf.org>
Subject: Re: [dispatch] B2BUA-taxonomy for STRAW WG
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dispatch>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 19 Oct 2011 00:23:31 -0000

On Sat, Oct 15, 2011 at 12:31 AM, Hadriel Kaplan <HKaplan@acmepacket.com> wrote:
>
> As part of the proposed STRAW WG charter, a possible deliverable might be a taxonomy document of B2BUA roles as might be useful for STRAW WG work items to reference.
>

Howdy, Forks!

I believe I enumerated some aspects of transparency on one of our
lists back in 2002 that might be relevant to this discussion:


Repost follows:
-----------------------


The 3GPP idea is to try and make the B2BUA as "transparent" to new
functions as it can be while still accomplishing other things required
by 3GPP. I suspect they're a long way from solving this, as it makes for
wicked and subtle compromises.

One might argue that a proxy is, by definition, a particularly
transparent B2BUA -- it basically alters nothing but the next hop, and
doesn't mess with things it doesn't understand.

One can actually define a whole range of "transparency" if one is so
inclined. I suppose I should write a draft on this someday. But it makes
a good Top-10 list . . .

1) Dialog transparency: The call-ID is the same on "both sides" of the
B2BUA. Proxies have this characteristic. A B2BUA that actually
terminates a dialog on one side and generates a new dialog on the other
doesn't. Some 3GPP AS functions fall into this category, as do 3PCC
controllers.

2) Identity transparency: The user appears to have the same identity on
both sides of the B2BUA. A proxy has this property. An identity
anonymizer doesn't.

3) CSEQ transparency: The B2BUA does not alter CSEQ numbers. A
traditional proxy has this property. A 3GPP P-CSCF does not, as it can
generate a BYE message and then have to manage disjoint CSEQ spaces on
each side.

4) Header transparency: The B2BUA doesn't change headers that transit
it. Proxies have mostly this property, changing onlya few headers that
are specifically changed by the proxy function. Proxies don't change
headers they don't understand. 3GPP "proxies" are likely to go to town
changing all SORTS of headers. All with the best of intentions, mind
you.

5) Body transparency: The MIME bodies on the SIP message are not altered
by the B2BUA. Real SIP proxies have this property. Firewall proxies that
modify SDP, and most everything in 3GPP, doesn't.

6) Media transparency: AS with body transparency, but considering only
the media aspects. The 3GPP P-CSCF breaks this transparency rule by
editing one's SDP to meet operator preferences.

7) Topology transparency. Via, Route, Record-Route, Path,
P-Service-Route, and other headers that reveal topology are roughly the
same on both sides of the B2BUA, save for any which uniquely identify
that B2BUA. Proxies have this characteristic. Topology hiding devices
like the dynamicosft "firewall proxy in edge proxy mode" or the 3GPP
THIG don't.

8) Security transparency: The B2BUA doesn't alter security aspects, such
as encryptions, authorization headers, etc. Proxies generally have this
property, but 3GPP stuff  doesn't.

9) Accounting transparency: Stuff used to generate records or track
usage is not altered by a B2BUA with this property. Proxies have this
property. 3GPP is trying to define a P-header (P-original-dialog-ID, I
believe) to provide for accounting transparency across 3GPP AS elements
operating at a low level of transparency.

10) Functional transparency: The task that the user of the UA wants to
accomplish actually works across the B2BUA, rather than being
blocked/distorted by it. Proxies generally have this property, with the
caveat the proxy can reject a request if needed. Some 3GPP entities can
mutate functionality beyond all recognition. This is probably the single
most important transparency concept. The rules of a "proxy" as defined
in RFC3162 are there to preserve functional transparency, and anything
that "breaks" those rules is likely to compromise functionality in some
way.



-- 
Dean Willis