Internet DRAFT - draft-peterson-modern-teri-valid
draft-peterson-modern-teri-valid
Network Working Group J. Peterson
Internet-Draft Neustar
Intended status: Informational C. Wendt
Expires: May 3, 2018 Comcast
October 30, 2017
A TeRI Profile for Representing Valid and Allocated Numbers
draft-peterson-modern-teri-valid-01.txt
Abstract
The Telephone-Related Information (TeRI) framework defines an
information model for data objects used in the acquisiton,
management, and retrieval of telephone numbers and information
related to them via the Internet. This document defines a profile
that extends the base Record format of TeRI to carry information
about valid and allocated telephone numbers, which can help to detect
and prevent certain forms of abuse in the telephone network.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 3, 2018.
Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
Peterson & Wendt Expires May 3, 2018 [Page 1]
Internet-Draft JSON Valid October 2017
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Motivation and Use Cases . . . . . . . . . . . . . . . . . . 2
3.1. Allocated Blocks . . . . . . . . . . . . . . . . . . . . 4
3.2. Individual Assigned Numbers . . . . . . . . . . . . . . . 4
4. TeRI Profile for Valid and Allocated Numbers . . . . . . . . 5
4.1. TeRI Record Format for Allocated Numbers . . . . . . . . 6
4.2. TeRI Retrieval Operation with an Allocation Restriction . 6
5. Bulk Propagation of Allocation Records . . . . . . . . . . . 7
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 9
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
9. Informative References . . . . . . . . . . . . . . . . . . . 9
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10
1. Introduction
The Telephone-Related Information (TeRI) framework
[I-D.peterson-modern-teri] defines an information model for data
objects used in the acquisiton, management, and retrieval of
telephone numbers and information related to them via the Internet.
This document defines a TeRI profile that extends the base Record
format of TeRI to carry information about valid and allocated
telephone numbers which can help to detect certain forms of abuse in
the telephone network.
This is an early stage Internet-Draft that shows how TeRI might be
extended with a profile for a specific use case.
2. Terminology
In this document, the key words "MAY", "MUST, "MUST NOT", "SHOULD",
and "SHOULD NOT", are to be interpreted as described in [RFC2119].
This document also incorporates the terminology of the MODERN
Framework [I-D.ietf-modern-problem-framework].
3. Motivation and Use Cases
The primary motivation for this mechanism is to provide a way for
TeRI services to convey lists of telephone numbers and telephone
number ranges that are valid for call origination. This list could
be used by service providers and applications to make authorization
Peterson & Wendt Expires May 3, 2018 [Page 2]
Internet-Draft JSON Valid October 2017
decisions about forwarding or accepting communications from a
particular source. Today, some problem users of the telephone
network spoof invalid numbers, as described in [RFC7340]. While
solutions like STIR [I-D.ietf-stir-rfc4474bis] promise to enable
credentials to prove ownership for numbers, a list of valid telephone
numbers serves a somewhat orthogonal need to make sure that valid
calling party numbers are presented in the telephone network,
regardless of whether or not they have been signed with STIR.
It is possible to implement a list of this form as a blacklist, a
list of telephone numbers or number ranges that should not originate
calls, or as a whitelist, a list of those that can legitimately
originate calls. This document follows a whitelist approach, as it
is considerably more difficult to syntactically represent all of the
possible invalid ways to construct telephone numbers than it is to
exhaustively enumerate the valid ones. For bulk operations, this
requires that Records enumerate valid and allocated blocks to form a
complete whitelist for a numbering plan.
Per the model given in [I-D.ietf-modern-problem-framework], this
specification furthermore assumes that ranges of telephone numbers
are ordinarily allocated to a Communications Service Provider (CSP)
such as a telephone network carrier, who then in turn assign numbers
from those ranges to individual users or organizations. However,
there are some use cases where assignment occurs on an individual
telephone number level, such as the assignment of freephone numbers
in the United States. Therefore, this mechanism considers two
different data formats for representing allocation and assignment: as
blocks and as individual numbers. Each has its own area of
applicability, and the two formats are presented here as
complimentary rather than competing mechanisms. In TeRI
[I-D.peterson-modern-teri] terms, a Service could even hold a mixture
of salient Records, some corresponding to blocks of numbers and
others to individual numbers. At a high level, the property of
"allocation" belongs to telephone number blocks (Records with an "R"
subject in TeRI), and the property of "assignment" belongs to
individual numbers (Records with a "T" subject in TeRI).
During operations, the database of Records maintained by a TeRI
service would be consulted to determine if a calling party number is
covered by a Record in the national numbering plan. As a logical
Operation, a TeRI Client can Query a TeRI Service with a given
calling party number, and receive as a Response in a success case
either a Record indicating the allocated block within which the
calling party number falls, or a Record for an allocated individual
number; in failure cases, the Response would be an indication that so
such Record exists at the TeRI service. Note however that Query and
Response does not necessarily mean a network dip; if Records are
Peterson & Wendt Expires May 3, 2018 [Page 3]
Internet-Draft JSON Valid October 2017
cached at a local TeRI service, then the TeRI Client and Service may
be colocated, and the Query and Response may happen over a local API.
Methods of propagating bulk lists of allocated numbers between TeRI
Services are dicussed in Section 5.
3.1. Allocated Blocks
In the simplest case, a TeRI Service can maintain a list of Records
that enumerates the valid and allocated blocks of numbers in a given
national numbering plan. In North America, for example, this could
represent blocks at the ten-thousand number level (NPA/NXX) or
"number pooling" blocks at the thousand-block level (NPA/NXX-X), or a
mixture of the two. The preferred block size may vary for different
national numbering plans. The assignment of numbers within an
allocated block to Users is usually a matter internal to CSP
operations, though number portability mechanisms can introduce
complications: note that just because a number has been ported to
another CSP, that does not necessarily mean that it remains assigned
at any given moment.
As new blocks are allocated by a Registry (see
[I-D.ietf-modern-problem-framework]), then in this model the Registry
would be responsible for generating and signing a new Record
corresponding to the newly allocated block, as well updating any
Records that aggregate these allocations into bulk lists. No
particular recommendation is made in this document as to how much
aggregation Registries should do: this will require some
implementation experience to determine. Other TeRI services could
acquire and cache these Registry allocation Records, where they could
be locally consulted during call processing.
3.2. Individual Assigned Numbers
In some deployments, it may be possible to determine whether
individual telephone numbers are assigned or not. One example is the
freephone system in the United States. Unlike traditional block
allocations to CSPs, for the freephone system individual numbers are
purchased by consumers, and the pool of available freephone numbers
is managed by a standalone Registry (i.e., the SMS/800 system).
Those sorts of Registries would need to generate and sign any TeRI
Records for numbers that fall under their authority. While a limited
amount of aggregation may be possible, for example when a large block
of numbers is completely assigned at an enterprise, it is expected
that Records in TeRI will mostly reflect individual telephone numbers
(the "T" element).
Moreover, for some experimental number assignment systems like DRiP
[I-D.wendt-modern-drip], entities participating in a distributed
Peterson & Wendt Expires May 3, 2018 [Page 4]
Internet-Draft JSON Valid October 2017
Registry may share a pool of numbers available for assignment, which
requires a synchronization mechanism that allows all TeRI services to
have fresh information about the assignment of individual telephone
numbers. In that model, any of several entities may be authorized to
generate and sign new TeRI Records reflecting a number assignment
which are then distributed and persisted at multiple places in the
network.
4. TeRI Profile for Valid and Allocated Numbers
This profile describes a TeRI extension with an additional Element to
represent the allocation or assignment status of a number. There is
no need for any Element to state that a number is valid, as TeRI
Records will not exist for numbers that are invalid. The set of
valid TeRI records for allocation is thus a whitelist that can be
checked in real time during call processing to detect the use of
invalid or unallocated calling party numbers.
This profile furthermore illustrates a TeRI Retrieval Operation for
one or more Records related to allocation or assignment at a Service
- again, this Retrieval Operation does not necessarily reflect a
network dip, it may be performed as a local database operation during
real-time call processing. The Subject of the Query may correspond
to either a block ("R") or an individual number ("T"); during call
processing, for example, a Client might ask the database for Records
related to the allocation of a number. The introduction of a new
"Allocated" Element in this specification permits a new Restriction
for the Query specific to number allocation data. The Response to
this Request will consist of a Success with one or more Records if
they exist, or a "Subject Does Not Exist" Response if there are no
corresponding Records at the Service.
Success Responses may contain either allocation or assignment data,
depending on what is available at the Service. A query for a
particular number, for example, might return a block ("R") indication
that the number is within an allocated block. Alternatively, if the
Service possesses such a Record, it might return an individual number
("T") record indicating that the number is both allocated and
currently assigned. A Service might even possess both Records, and
return both in response to a Query. Information on number validity
and allocation within the TeRI model is necessarily Administrative
Data, and the Records returned by this Operation will not contain
Service Data.
Peterson & Wendt Expires May 3, 2018 [Page 5]
Internet-Draft JSON Valid October 2017
4.1. TeRI Record Format for Allocated Numbers
This specification defines a new Administrative Element for Records
called "allocated", which can have the values "yes", "assigned", or
"no". This element may be used in a Record with a Subject
representing a number block (the TeRI "R" element) or an individual
number (the TeRI "T" element), though values other than "assigned"
would rarely be applicable to individual number Records.
A value of "yes" is used when all of the numbers covered by the
Record are known to be allocated, but it indicates nothing about
assignment status. This would be used for common carrier allocation
of number blocks conveyed as ranges ("R") Records, for example.
An "allocated" value of "assigned" indicates that all numbers covered
by the Record are both allocated and assigned at this time. This
would most commonly be used by for individual number Records ("T").
An "allocated" value of "no" indicates that the number or number
block is valid in the numbering plan, but all numbers covered by the
Record are known to be unallocated at this time. This would for
example be used by a numbering plan administrator for a block ("R")
Record to show numbering ranges that could be allocated in the future
but are not in use today.
4.2. TeRI Retrieval Operation with an Allocation Restriction
Per the standard TeRI semantics, a Client may send a Retrieval Query
to a TeRI Service. In this profile, the Retrieval Query would
indicate that it is looking for the "Allocated" attribute via a
Restriction.
Following the JSON binding for TeRI given in
[I-D.peterson-modern-teri-json], a Request with a Restriction for
"Allocated" might look like:
{
"TeRI":"Retrieval",
"Source":[{"Request":"example.com"}],
"Subject":{"T":"12125551111"},
"Restriction":["Allocated"]
}
And a sucesssful Response containing a valid thousand block Record
generated by the Registry, one which contains the number that was the
Subject of the Query, might look as follows:
Peterson & Wendt Expires May 3, 2018 [Page 6]
Internet-Draft JSON Valid October 2017
{ "TeRI":"Response",
"Code":"Success",
"Record":[{
"Identifier":"x989hjfd0",
"Authority":"registry.example.org",
"Access":"Public",
"Subject":[{"R":"12125551"}],
...
"Allocated":"yes"
}]
}
This Response indicates that the number falls within a block that the
Registry considers to be allocated, but does not give any visibility
into whether or not the number is assigned.
5. Bulk Propagation of Allocation Records
TeRI assumes that the same Retrieval interface that is used to query
for Records about individual numbers can be used to fetch bulk data.
A query that asks for the total set of allocated numbers under the
North American Numbering Plan would look as follows:
{
"TeRI":"Retrieval",
"Source":[{"Request":"example.com"}],
"Subject":{"R":"1"},
"Restriction":["Allocated"]
}
The way that a Service responds to this Query will depend on how
Registries choose to organize and aggregate Records. Only a certain
amount of hierarchical aggregation of numbering resources will be
possible in some numbering plans. For the North American Numbering
Plan, for example, prefix aggregation the NPA (area code) level is
unlikely to be useful. The reservation of all "easily recognizable
codes" (ERCs) that end in two of the same digit (e.g. 200, 211, 222,
233) means that there will always be gaps in allocation for the first
digit of every NPA prefix. Moreover, there are still significant
gaps in allocation and space left for future expansion. At the time
of this writing, say, most of the NPAs beginning with "9" are
currently allocated, but many are not: apart from the ten ERCs, all
of 960-9 and 990-9 are set aside for future expansion, and around
twenty more NPAs, including 921 and 987, remain unallocated, leaving
a gap of around 50 NPAs under "9". NPA allocations, once made, can
later be revoked: 935, for example, was assigned as a relief NPA for
the San Diego area but was subsequently suspended because it was not
Peterson & Wendt Expires May 3, 2018 [Page 7]
Internet-Draft JSON Valid October 2017
needed, as 858 alleviated number exhaustion; 927 was similarly
allocated for mobile phone use in Florida, but then cancelled.
According to the TeRI semantics, creating Records with a Subject at
the NPA level as follows:
{ "TeRI":"Response",
"Code":"Success",
"Record":[{
"Identifier":"x989hjfd0",
"Authority":"registry.example.org",
"Access":"Public",
"Subject":[{"R":"1212"}],
...
"Allocated":"yes"
}]
}
... would signify not just that the "212" area code is allocated, but
that all numbers under the 212 area code have been allocated; e.g.
that the 212/001 NPA/NXX is valid and allocated. The valid NXX codes
under each NPA similarly do not lend themselves to aggregation.
Registries should thus attempt to model aggregation on the way that
numbering resources are actually allocated: in North America, but the
ten-thousand block and thousand block ranges. This does not however
mean that there should necessarily be one Record per ten-thousand
block generated as a Service. An individual Record might for example
contain a set ten allocated thousand-block prefixes, all of which
have been allocated to a single carrier, for example:
{ "TeRI":"Response",
"Code":"Success",
"Record":[{
"Identifier":"x989hjfd0",
"Authority":"registry.example.org",
"Access":"Public",
"Subject":[
{"R":"1212555"}
{"R":"1619555"}
{"R":"1858555"}
...
],
...
"Allocated":"yes"
}]
}
Peterson & Wendt Expires May 3, 2018 [Page 8]
Internet-Draft JSON Valid October 2017
Exactly how high-level allocation Records should be organized is left
to implementation. In some TeRI bindings, it may be possible to
subscribe to such new Records and receive an automatic update from
the Registry at a time that new number blocks are allocated. There
may be use cases in which it makes sense for entities other than a
Registry to issue the TeRI objects defined in this specification;
that is left to future investigation.
6. Acknowledgments
We would like to thank Tom McGarry for contributions to this
document.
7. IANA Considerations
This memo registers a new TeRI Element called "Allocated" which may
be used in Administrative Records or in Queries Restrictions for
Records.
More TBD.
8. Security Considerations
TBD.
9. Informative References
[I-D.ietf-modern-problem-framework]
Peterson, J. and T. McGarry, "Modern Problem Statement,
Use Cases, and Framework", draft-ietf-modern-problem-
framework-03 (work in progress), July 2017.
[I-D.ietf-stir-rfc4474bis]
Peterson, J., Jennings, C., Rescorla, E., and C. Wendt,
"Authenticated Identity Management in the Session
Initiation Protocol (SIP)", draft-ietf-stir-rfc4474bis-16
(work in progress), February 2017.
[I-D.peterson-modern-teri]
Peterson, J., "An Architecture and Information Model for
Telephone-Related Information (TeRI)", draft-peterson-
modern-teri-03 (work in progress), July 2017.
[I-D.peterson-modern-teri-json]
Peterson, J., "A JSON Binding and Encoding for TeRI",
draft-peterson-modern-teri-json-01 (work in progress),
July 2017.
Peterson & Wendt Expires May 3, 2018 [Page 9]
Internet-Draft JSON Valid October 2017
[I-D.wendt-modern-drip]
Wendt, C. and H. Bellur, "Distributed Registry Protocol
(DRiP)", draft-wendt-modern-drip-02 (work in progress),
July 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC7159] Bray, T., Ed., "The JavaScript Object Notation (JSON) Data
Interchange Format", RFC 7159, DOI 10.17487/RFC7159, March
2014, <https://www.rfc-editor.org/info/rfc7159>.
[RFC7340] Peterson, J., Schulzrinne, H., and H. Tschofenig, "Secure
Telephone Identity Problem Statement and Requirements",
RFC 7340, DOI 10.17487/RFC7340, September 2014,
<https://www.rfc-editor.org/info/rfc7340>.
Authors' Addresses
Jon Peterson
Neustar, Inc.
1800 Sutter St Suite 570
Concord, CA 94520
US
Email: jon.peterson@neustar.biz
Chris Wendt
Comcast
One Comcast Center
Philadelphia, PA 19103
USA
Email: chris-ietf@chriswendt.net
Peterson & Wendt Expires May 3, 2018 [Page 10]