Considerations for Dial Plan Class of Restrictions: Blocking Patterns in NANP, Part 1

William Bell
Vice President, Solutions and Products

Brief Background about COR Design

In our (NetCraftsmen) approach to COR design we implement “blocking” at two levels.  First, we build a partition for standard blocking patterns (i.e. 1900 numbers) that is applies to all application and user (station) calling search spaces (CSS).  Then we build several COR CSS and partitions to handle blocking or enforcing Forced Authorization Codes (FAC) for long distance, international, etc.  The various COR CSS’s (other than standard) are applied to a line level based on the various need.  So, we block at the line level and allow at the device level for the most part.

Standard Blocking Patterns: What Patterns?

We are dealing with the North American Numbering Plan (NANP) exclusively in this article.  The NANP is maintained by the NANP Administration or NANPA.  The NANP actually covers more than the United States.  It includes Canada as well as surrounding territories.  This broad coverage of domain authority is what needs to be considered when designing a dial plan that leverages COR, which all robust dial plans should.

For Canada, the Canadian Numbering Authority (CNA) maintains the area code assignments and maps.  The primary consideration for Canada is that while the numbers are dialed as if they were in the US (as long distance, e.g. 9 1 416 xxx xxxx) they are typically routed as international numbers.  Meaning, that if your dial plan doesn’t deal with Canadian area codes specifically, users can call and (in some cases) redirect (CFA) their lines to Canada without any consideration for international dialing restrictions you may have assumed in your COR design.  We do not propose blocking CNA numbers by default, but we typically recommend accounting for Canadian numbers as part of your international call classification scheme.

In addition to CNA numbers, you have to account for NPAs that service US territories and other surround territories such as Barbados, Antigua, Bermuda, etc.  You can identify these area codes by reviewing the NANP’s area code listing here. The NPAs are spread all over the spectrum, but we can summarize the list a little as follows (as of July, 2009):

24[2-6]: Bahamas and Barbados

26[48]: Anguilla and Antigua

284: British Virgin Islands

34[05]: US Virgin Islands and Cayman Islands

441: Bermuda

473: Grenada

649: Turks and Caicos Islands

767: Dominica

78[47]: St. Vincent and Grenadines and Puerto Rico

8[02]9: Dominican Republic

86[78]: Trinidad, Tobago, St. Kitts, and Nevis

876: Jamaica

939: Puerto Rico

So, how should you classify calls to these NPAs?  That depends on the policies you wish to apply and the nature of your business.  I have come across designs where the customer didn’t know they could apply COR, didn’t want to apply COR, or have already applied the appropriate restrictions.  Our recommendation is to either make the above mentioned NPAs part of your standard blocking COR (meaning no one calls them) or treat these destinations as international.  Depending on your carrier, you may find that these NPAs are treated as international dialing areas and (in some cases) have a significantly higher tariff and/or per minute charge than a standard international rate.  So, yes you will need to do a little homework to determine how to treat these NPAs.  You should also keep in mind that the list provided may change, you should periodically check the NPA location report available at

900 and 976 Numbers

I often find that people get these two digit strings confused in their design.  One is a NPA (area code) and one is a NXX (Exchange).  The 900 NPA is classified by NANPA as a “Easily Recognizable Code” with a non-geographic assignment.  It is used for premium toll charge services.  Meaning, that a special toll charge is applied to any number you call that has a 900 NPA.  There are cases where certain 900 numbers need to be allowed for business purposes.  However, as a general rule you should block these numbers.  If there is a 900 number that a user requires access to, then create a specific pattern (full 10-digit) for this user and leverage FAC to control access.  You could create a custom line COR, but that doesn’t scale so well.  Usually if one person needs access, you will find the whole department does.

Now, 976 is an actual exchange (NXX) that is a reserved central office code which is used for various services.  Most notably, 976 as an exchange is used for premium toll charge services within a given NPA.  So, 410976xxxx is an exchange in the 410 NPA that will have a premium rate charged back to the caller.  In other words, 900-976-xxxx is a premium toll charge number, as is 900-244-xxxx, and 410-976-xxxx.

NetCraftsmen recommends that (1)900[2-9]xxxxx, (1)[2-9]xx976xxxx, and 976xxxx (for 7-digit dialing areas) are all included as part of your standard blocking COR design.

2 responses to “Considerations for Dial Plan Class of Restrictions: Blocking Patterns in NANP, Part 1

Leave a Reply


Nick Kelly

Cybersecurity Engineer, Cisco

Nick has over 20 years of experience in Security Operations and Security Sales. He is an avid student of cybersecurity and regularly engages with the Infosec community at events like BSides, RVASec, Derbycon and more. The son of an FBI forensics director, Nick holds a B.S. in Criminal Justice and is one of Cisco’s Fire Jumper Elite members. When he’s not working, he writes cyberpunk and punches aliens on his Playstation.


Virgilio “BONG” dela Cruz Jr.

CCDP, CCNA V, CCNP, Cisco IPS Express Security for AM/EE
Field Solutions Architect, Tech Data

Virgilio “Bong” has sixteen years of professional experience in IT industry from academe, technical and customer support, pre-sales, post sales, project management, training and enablement. He has worked in Cisco Technical Assistance Center (TAC) as a member of the WAN and LAN Switching team. Bong now works for Tech Data as the Field Solutions Architect with a focus on Cisco Security and holds a few Cisco certifications including Fire Jumper Elite.


John Cavanaugh

CCIE #1066, CCDE #20070002, CCAr
Chief Technology Officer, Practice Lead Security Services, NetCraftsmen

John is our CTO and the practice lead for a talented team of consultants focused on designing and delivering scalable and secure infrastructure solutions to customers across multiple industry verticals and technologies. Previously he has held several positions including Executive Director/Chief Architect for Global Network Services at JPMorgan Chase. In that capacity, he led a team managing network architecture and services.  Prior to his role at JPMorgan Chase, John was a Distinguished Engineer at Cisco working across a number of verticals including Higher Education, Finance, Retail, Government, and Health Care.

He is an expert in working with groups to identify business needs, and align technology strategies to enable business strategies, building in agility and scalability to allow for future changes. John is experienced in the architecture and design of highly available, secure, network infrastructure and data centers, and has worked on projects worldwide. He has worked in both the business and regulatory environments for the design and deployment of complex IT infrastructures.