North American Numbering Plan (NANP) is a telephone numbering plan for twenty-five regions in twenty countries, primarily in North America and the Caribbean, within “1” Country Code. For more details you can refer to wikipedia articles: NANP and the list of area codes.
Until today the telephone number structure is:
NPA-NXX-XXXX
or (NPA) NXX-XXXX
where: NPA is the area code, NXX - central office code. N denotes any of the digits 2–9, and X denotes any digit 0–9.
Historically, local calls within the same area code were dialed using 7-digit number. Local calls outside the area code (and some local but toll calls) were dialed using 10-digit number, and long distance calls - 11 digits (with a leading 1). To make it more complicated, not all calls within the area code were necessarily considered local.
While for years calls were dialed using 10 or 11 digits, permissive dialing (allowing to dial both new and old way) was still in place in multiple places, including Phoenix AZ, until 2023. It was August 2023, when permissive dialing ended - below is a massage Verizon subscribers received:
If you ever tried to edit the payphone rate file, you might've noticed the complexity of it. This is because back in a days, charge structure for phone calls was very complicated. Below diagram shows different types of calls possible (source: Elcotel PNM Plus Operation Manual).
Calls can be inter- and intra-state. But geographical boundaries are additionally defined by LATA (Local Access and Transport Area) as drawn by the federal government to determine which phone companies can provide local and toll service for each area. Local calls are generally calls made within the same exchange (Central Office) or Local exchange carrier (LEC) - a local phone company. Both inter- and intra-LATA calls can happen within the same area code, or between two area codes, because their boundaries are different. In some cases, local calls can be possible between different area codes (so called corridor rates), usually when the subscribers are close-by. So what defines the rate is: NPA and NXX (central office code) of the caller (payphone) and the NPA and NXX of the called party. Therefore the rate tables had to be continuously updated with any changes in the network.
If you try placing a call on a smart-controlled payphone removed from service years ago, you may experience much higher rate to some “local” numbers. For example, instruction card says “25ct per local call”, but for some numbers it may ask a dollar, even if it's just a 7-digit number. This is usually the case for Central Office codes that were not assigned back then.
There was a reason behind that complexity. Dedicated telephone switching and transmission equipment was expensive and a typical phone call to a nearby town would have to go through several central offices owned by different carriers. Nowadays calls are routed more often via IP (Internet) than TDMA network and the cost of equipment is much lower than electro-mechanical cross-bar or electronic systems.
Today it all doesn't make sense anymore, for either mobile or VoIP carriers. Usually there is a flat rate for continental calls and it is sufficient to distinguish calls by the area code. Calls to Canada or overseas territories may be rated differently, but there should be no difference between local, inter- or intra-LATA calls. Especially now with the number portability in place.
Moreover, in some regions with multiple area codes, it's been decided to remove any boundaries in area code assignment. One example is the new 480/602/623 NPA Overlay in Arizona, which will service the same geographic area before served by separate area codes. So a new subscriber can be assigned any of those area codes in order to increase capacity, while before, 602 served the city of Phoenix, 480 - eastern suburbs, and 623 - north & east suburbs (source: NANPA PL-576), also a press release (local copy).