Re: [drinks] What do we mean by "peering"?

David Schwartz <dschwartz@xconnect.net> Thu, 05 April 2012 08:29 UTC

Return-Path: <dschwartz@xconnect.net>
X-Original-To: drinks@ietfa.amsl.com
Delivered-To: drinks@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 219C921F85D4 for <drinks@ietfa.amsl.com>; Thu, 5 Apr 2012 01:29:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.143
X-Spam-Level:
X-Spam-Status: No, score=-0.143 tagged_above=-999 required=5 tests=[AWL=2.155, BAYES_00=-2.599, HTML_MESSAGE=0.001, SARE_WEOFFER=0.3]
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 JN5yQK+DcB+l for <drinks@ietfa.amsl.com>; Thu, 5 Apr 2012 01:29:53 -0700 (PDT)
Received: from outlook.xconnect.net (outlook.xconnect.net [212.25.92.170]) by ietfa.amsl.com (Postfix) with ESMTP id 1052A21F85D2 for <drinks@ietf.org>; Thu, 5 Apr 2012 01:29:51 -0700 (PDT)
Received: from ISR-JLM-MAIL1.xconnect.co.il ([172.16.100.8]) by ISR-JLM-MAIL1.xconnect.co.il ([172.16.100.8]) with mapi; Thu, 5 Apr 2012 11:29:49 +0300
From: David Schwartz <dschwartz@xconnect.net>
To: Dean Willis <dean.willis@softarmor.com>
Date: Thu, 05 Apr 2012 11:29:47 +0300
Thread-Topic: [drinks] What do we mean by "peering"?
Thread-Index: Ac0TBkPFVUvgjCaBSxaCCnEUX4LNxA==
Message-ID: <FD7BD60F-6ED7-42E7-8D54-2952ACFB18EA@xconnect.net>
References: <ADFB5F56-7B4A-40F4-B318-3149B76EE015@softarmor.com>
In-Reply-To: <ADFB5F56-7B4A-40F4-B318-3149B76EE015@softarmor.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_FD7BD60F6ED742E78D542952ACFB18EAxconnectnet_"
MIME-Version: 1.0
Cc: "drinks@ietf.org" <drinks@ietf.org>
Subject: Re: [drinks] What do we mean by "peering"?
X-BeenThere: drinks@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: IETF DRINKS WG <drinks.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/drinks>, <mailto:drinks-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/drinks>
List-Post: <mailto:drinks@ietf.org>
List-Help: <mailto:drinks-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/drinks>, <mailto:drinks-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Apr 2012 08:29:54 -0000

Hi Dean

I am ok with your proposal. Here is a slight modification of the second paragraph...

The SED described in this framework is limited to simple routing *** and targeting *** data. Although the terms "peer" and "peering" are used, these refer only to the sharing of basic call routing *** and targeting *** information between users of the registry, and do not address the broad range of policy factors that might be used in a commercial peering "clearinghouse" operation. In short "peering organizations" are other users of the same registry, and "peers" are users of that registry to whom the offer of sharing specific SED has been extended, and who have accepted that offer.

:D


On Apr 5, 2012, at 4:57 AM, Dean Willis wrote:


Peering seems to be a very loaded term. When David explains it to me, it seems it means to him a whole lot of business-specific rules related to the routes along which calls can be made. It includes things like time-of-day, pricing, periodic contractual commitments with different rates, available bandwidth, available QoS, SLAs and all those myriad things that make up the black magic of the "policy server".


We have a much simpler view of "peering" in the framework document. Here, we merely concerned with the sharing of routes. We have a route, we offer it to someone, and if they accept the route, it will appear when they appropriately query the engine that access our data (although how said database determines query-identity/authority using the information in the database seems to be perplexingly out of scope).

But in short, what we're really talking about is a sort of per-route access-control list that has two facets: the "Is allowed to see this route" facet, and the dependent "wants to see this route in its responses" facet. As far as I can tell, we don't even have a way to retract permission once granted; the only option is to to retract a route accepted by example.com<http://example.com/> is to delete the route, then re-offer it to everybody on the old list except example. com, then wait for them to accept the "new" route. Personally this seems like a clusterpluck, but it's what we agreed to.


While we could certainly quibble forever on cleaning up this semantics in the protocol (and end up with the "Session Establishment Data Sharing Protocol), it's been proposed that we don't need to, and that all we need to do is to explain this concept of "peering by sharing routes" succinctly within the draft.


Let me try by re-writing the introduction:


1.  Introduction

Service providers and enterprises use registries to make session routing decisions for Voice over IP, SMS and MMS traffic exchanges. This document is narrowly focused on the provisioning framework for these registries.  In other words, the goal is to allow users to put session establishment data (SED) into a registry, to share that SED selectively with other users of that registry, and to allow those other users to further select a subset of that SED for use in their own applications.  The requirements and use cases driving this framework have been documented in [RFC6461 ], and the reader is expected to be familiar with the terminology defined therein.

The SED described in this framework is limited to simple routing data. Although the terms "peer" and "peering" are used, these refer only to the sharing of basic call routing information between users of the registry, and do not address the broad range of policy factors that might be used in a commercial peering "clearinghouse" operation. In short "peering organizations" are other users of the same registry, and "peers" are users of that registry to whom the offer of sharing specific SED has been extended, and who have accepted that offer.

Three types of data flows are described in [RFC 6471]: client to/from registry, registry to local data repository and registry to registry, as shown here:



    *--------*               *------------*               *------------*
    |        | (1). Client   |            | (3).Registry  |            |
    | Client | <-----------> |  Registry  |<------------->|  Registry  |
    |        |   to Registry |            |  to Registry  |            |
    *--------*               *------------*               *------------*
                                  /  \                          \
                                 /    \                          \
                                /      \                          \
                               /        \                          v
                              /          \                         ...
                             /            \
                            / (2). Distrib \
                           / Registry data  \
                          /  to local data   \
                         V      store         V
                        +----------+       +----------+
                        |Local Data|       |Local Data|
                        |Repository|       |Repository|
                        +----------+       +----------+

                     Three Registry Provisioning Flows


This document addresses only the (1) Client to Registry aspect.  This document defines an abstract framework for the interaction of registry clients with registries, referred to as the Session Peering Provisioning Framework (SPPF).  This abstract framework is to be mapped into specific protocol bindings in other documents, initially to SOAP in [draft-ietf-drinks-spp-soap].

The data provisioned for session establishment is typically used by various downstream SIP signaling systems to route a call to the next hop associated with the called domain.  These systems typically use a local data store ("Local Data Repository") as their source of session routing information.  More specifically, the SED data is the set of parameters that the outgoing signaling path border elements (SBEs) need to initiate the session.  See [RFC5486] for more details.

A "terminating" SIP Service Provider (SSP) provisions SED into the registry to be selectively shared with other SSPs. Subsequently, a registry may distribute the provisioned data into local data repositories used for look-up queries (identifier -> URI) or for lookup and location resolution (identifier -> URI -> ingress SBE of terminating SSP).  In some cases, the registry may additionally offer a central query resolution service (not shown in the above figure). Typically, this query resolution service will be something like an ENUM [RFC 3761] server or a SIP [RFC 3261] proxy or redirect server.

The roles of  "client" and "server" are abstract and only apply to the requesting and responding roles in given transactions and are not related in any way to the type of entity participating in a protocol exchange.  For example, a registry might also include a "client" when such a registry initiates a connection (for example, for data distribution to an SSP).

... continue with existing text from "A key requirement..."
<ATT00001..c>