The primary function of the 10-digit dial plan, otherwise known as the North American numbering plan or the Standard Numbering Plan, is the handling of Plain Ordinary Telephone System (POTS) traffic. This traffic occurs when a source, called an originator, dials digits that represent a destination.
The digits dialed must conform to the Standard Numbering Plan. This plan consists of two basic parts: a three-digit Numbering Plan Area (NPA) code that identifies a geographical area and a seven-digit Directory Number (DN), which is made up of a three-digit Central Office (CO) code and a four-digit line number as follows:
--------------------------------------- NXX - NXX - XXXX (NPA) - (CO) - (Line Number) ---------------------------------------
Long distance dialing is made possible by the addition of a toll digit (1) being dialed before the above dialing sequence.
--------------------------------------- 1 - NXX - NXX - XXXX (Toll) - (NPA) - (CO) - (Line Number) ---------------------------------------
where in each example, N is a digit from 2 to 9 and X is a digit from 0 to 9.
Preparing to Datafill 10-Digit Translations
Translation is the process of determining where a call is destined based on the digits the subscriber dials and who the subscriber is, since different subscribers have different calling plans and feature capabilities.
The processing of this call involves the reading of specific tuples (horizontal rows) and fields (vertical rows) in designated data tables to determine the termination point of a call or the path a call takes to its final destination.
The interrelationship of tuples and fields to the data tables is shown in the following example:

Call Processing
Call processing can be divided into two phases: the originating phase and the terminating phase.
The originating phase consists of such functions as the origination of the call, giving a dialtone or a start signal, the collection of digits, and determining the route and the charge (billing) treatment.
The terminating phase includes such functions as establishing a connection through the network, starting and giving audible ringing, handling the answer, supervising the talking state, and disconnecting the call.
The following is a list of the steps involved in call processing:
Digit Manipulation
Digit manipulation is the process by which digits are translated, or read and routed through the system. In order to fully understand the digit manipulation process, knowledge of the following key terms is required.
Each hardware terminal has a unique hardware terminal identifier (NODE) that consists of the peripheral module controller and the line or trunk terminal number. This number allows the index into and out of the I/O utility module.
When a terminal has received an off-hook signal, or a seizure on a trunk, a message is sent to the CCC with the following information:
The I/O utility module converts the off-hook signal or trunk seizure (hardware terminal identification) into an agency identification. It then relates the activity to the software data structure associated with the terminal.
Each entry specifies an agent identification, including the agency number. This agent identification points to the data associated with the particular hardware terminal or call process identification.
The call process identification, in the TIDMAP, has the CP selector and the agent identification, which contains the index into table LENLINES.
The CCC must then associate a Call Data Block (CDB) and a CCB with the call process that has been seized by the CCC after it has analyzed the message sent by the terminal.
The CDB is the private data area for the call process. It is used to store any information relevant to the handling of a call such as a customer class, digit translation results, and options and features that the line or trunk can have. This information is updated as the call progresses.
The CCB is used to store the call process type, the run time of the program code, and the data required to execute a given task. The CPID and the path end are stored here as well.
As mentioned previously, a call is originated by a source dialing digits, in the form of a DN that represents a destination. These digits must be translated and this is accomplished by using database tables that are contained in the digit translations utility. These tables are used for one-, two-, and three-digit interpretation, or translations, of the digits dialed. They are referred to as databases A, B, C, D, E, F, and G.
Each call processing agency module in an office has a digit translation pointer associated with it that indicates which of the two specific databases, A and B, is to be used by that particular module. The A database is a one-digit translator and the B database is a two-digit translator. They contain only the central office codes and service codes that represent local calls for that particular agency.
The A and B databases point to either C and D or E and F databases where subsequent digits are translated. These four databases are shared by all the other agencies in the office. The E, a one-digit base, and the F, a two-digit base, contain all the NPA codes that can be served from here, as well as the toll codes that are within the home NPA. The A and B databases are used for three-digit translations of toll calls while the A and B and E and F are used for six-digit translations of toll calls.
Databases C (a one-digit base) and D (a three-digit base) are used for translations of the last four digits, or line number portion, of the DN in order to find where the subscriber or trunk is located in the office.
Database G is used for listing the operator codes that are used to reach the operators.
Decoding of the first three digits results in one of the following outputs from databases A and B:
Routes
For outgoing calls, once the route pattern is decided from A and B or A and B and E and F, then the route utility is seized. All the trunk groups available are listed here. The first choice route of a particular route pattern is identified and an attempt is made to terminate on one of the idle trunks within the group. If all the trunks are busy, then a second or alternate route is identified and an attempt is made to terminate again on one of the idle trunks. If there are no idle trunks in the second group, then another route is identified. This process is continued until the final route is reached. There can be up to a maximum of eight routes for a call, but it is not necessary that they all be used.
Data Tables
In call processing, tables from both program store and data store are used. The manner in which these tables are accessed and the route selected for completion of a call is subject to data received from the operating company.
The tables are categorized into the following areas:
Most calls can be traced using a simplified block diagram as illustrated in the following figure:

The call originates from either a line or a trunk. When a call originates from a line, the associated line tables are read and interpreted. If the call originates on an incoming trunk, the appropriate trunk tables are used. In either case, these tables provide information about the hardware location, the type of signaling to expect, and where to send the call to analyze the dialed or received digits.
To accomplish the analysis of the digits, the call enters the screening tables, as directed from the line or trunk tables. After some general pre-screening or pre-translation is performed, the call may progress into more detailed screening based on NPA/NXX digits to determine the path into the designated routing tables for defining the final destination or termination of the call.
Line Tables
The line tables match a seven-digit DN with a hardware location as well as the options and custom calling features that are recorded. The following tables are used:

Screening Tables
Screening tables are used to screen dialed digits against originator characteristics and to change the normal pattern of call progression through an office. The following tables are used:

Routing Tables
Routing tables provide a path to be taken when a proper code has been dialed. If digits need to be added or deleted, this occurs during the routing stages. The following tables are used:
These tables are used if an originating call is being translated and a preceding stage identifies a route reference index. A route reference index can point to a list of up to eight alternate routes or a treatment list.

Trunk Tables
Trunk tables contain detailed information about trunks originating and terminating in the switch. Each trunk connected to the office is represented by entries in the trunk tables. These tables include information about the following:
The following tables are used:

Treatment Tables
Treatment tables provide an event path when some unusual or wrong condition occurs. These paths route to recorded announcements or tones.
The treatment routes for tones and announcements must be datafilled in table CLLI. Table TONES lists specific tones and identifies the type, pattern, and duration of each tone. Table STN (or table SVRCKT) contains additional tone data. The DMS-100 sends the tone information to the originating peripheral module (PM), and the PM generates and sends the tone out over the originating line or trunk.
Announcements are datafilled in tables ANNS and ANNMEMS. Table ANNS identifies the type of announcement, the maximum number of simultaneous connections for the announcement, and the maximum length of the announcement. Table ANNMEMS identifies the hardware location for the announcement. The hardware can be a Digital Recorded Announcement Machine (DRAM), located on a Maintenance Trunk Module (MTM), or an Audichron located on a Trunk Module (TM8).
There are a number of specific subtables that can be used for particular types of originators. The default subtable is OFFTREAT.
Table DRAMS or table EDRAM (Enhanced Digital Recording Announcement Machine) is datafilled by Northern Telecom with the information for the trunk cards.
The following tables are used:

Call Processing Functional Areas
Data tables can be grouped into the following five call processing functional areas:
Data Collection
Once the off-hook signal is received and the digits are dialed, the first step is the collection of data from the line record associated with the originator s physical circuit. This includes the DN and the line attribute associated with the call.

A path is then mapped through translations for the call. This includes the keys of the tuples used in the pre-screening and digit translation processes.
Table LINEATTR is used to associate a group of calling lines with a:

Digit Pre-Screening
The digit pre-screening process compares the destination digits with a digit range. Any unmatched calls go forward for further translation.
Table STDPRTCT does the following operations:

Digit Interpretation
The 10-digit interpretation plan is made up of primary and secondary digit translations.
Primary digit translations compares the first three destination digits (NPA on a 10-digit call and NXX on a 7-digit call). The call is then pointed to a route or to a secondary digit translation table.
Table HNPACONT, and its associated subtables, points calls to one of the following:

Secondary digit translations points a call to a route based on the fourth, fifth, and sixth destination digits. A separate tuple for each destination NPA is required within the subtable for calls routed by office codes (NXX).
The foreign number plan table is comprised of a subtable for each destination area code where the routing or handling of the call differs depending on the NXX (destination digits 4 to 6). By accessing the appropriate subtable tuple using digits 4 to 6, calls are pointed to a route number based on six-digit translation.

Final Digit Screening
Final digit screening can be based on class-of-service or seven- or eight-digit calls.
Class-of-service screening applies class-of-service requirements and limitations. Table CLSVCRC allows an STS (origin NPA) and call type (DD, OA, or NP) combined parameter to be used to point specific calls to an operator, to a treatment, or to a route. Additionally, the action may be varied depending on digits dialed by accessing a subtable (instead of pointing directly to an operator, treatment, or route).

The seven- or eight-digit screening compares call classification (DD, OA, or NP) to calls with local area requirements for 1+ and 0+ dialing.

