This Blog Is Not For Reading

A blog, just like any blog, only more so

  • Subscribe

  • Categories

  • RSS Bob Jonkman’s Microblog

    • New note by bobjonkman 23 October 2018
      If you get the chance, come to #Kitchener to hear Sailesh Rao, one of the original proponents of #ClimateVegan speak: /cc @me @avolkov
    • New note by bobjonkman 18 October 2018
      I have no idea what I'm looking at or listening to. #LudditesAreWe
    • bobjonkman repeated a notice by bobjonkmangreen 15 October 2018
      RT @bobjonkmangreen I'm going out to our MPP's office this afternoon to protest the cut of the $15/hr legislation, and all the other rollbacks such as paid sick days, equal pay rules and laws to make it easier to join a union. #ONpoli #Ontario
    • New note by bobjonkman 15 October 2018
      That's pretty much what's happening in #Ontario right now... #ONpoli
    • bobjonkman repeated a notice by inkslinger 15 October 2018
      RT @inkslinger The UCP is just blatantly admitting they don't care about public opinion and that they'll deliberately try to move legislation at a pace that's too quick for people to organize and oppose. Disgusting. #canada #politics #cdnpoli
    • Favorite 14 October 2018
      bobjonkman favorited something by modernindustrial: @ink_slinger I'm not sure liberalism has necessarily failed, but our governmental structures have.Proportional representation would go a long way to fixing it, but I still haven't figured out how to stop the corrosive effects of concentrated capital over long timespans.
    • Favorite 14 October 2018
      bobjonkman favorited something by modernindustrial: @ink_slinger I lean toward basic income, high marginal tax rates on large incomes, and strict white collar crime enforcement. Capitalism is really good at finding clever ways to do things in ways central planning isnt - the question for me is how to maintain sufficient containment so that the power […]
    • bobjonkman repeated a notice by gwmngilfen 13 October 2018
      RT @gwmngilfen OK, I can kinda put a bit of weight on it now. Probably will be fine by morning...While I was sitting around with little yo do, I decided to make a small thing. Definitely not rigorous, but maybe interesting? You tell me :) #climate #weather #shiny
    • Favorite 13 October 2018
      bobjonkman favorited something by gwmngilfen: OK, I can kinda put a bit of weight on it now. Probably will be fine by morning...While I was sitting around with little yo do, I decided to make a small thing. Definitely not rigorous, but maybe interesting? You tell me :) #climate #weather #shiny
    • New note by bobjonkman 13 October 2018
      And, of course, you'll need @pixley's explanation of how it all works:

Archive for March, 2010

Telephone Number Format Standards

Posted by Bob Jonkman on 20th March 2010

Telephone Dial

Standardized Telephone Number formats work even on old phones!

There are many different address books and directories online, and there are almost just as many different ways they store telephone numbers. I guess most people don’t realize that there are actually standards for representing phone numbers. A little bit of standardization would go a long way towards interoperability.

The standard for phone number formatting is set by the International Telecommunication Union in [E.123] and [E.164] (see the references below). The standards documents are available for a fee from the ITU [available at no charge since 2010 –Bob.] . A summary is available in the Google (UseNet) discussion group, titled Need ITU-T E.123 summary.

In short, a North American telephone number should look like:


  • “+” shows where the dialing prefix goes. This is one of either the International Direct Dialing (IDD) prefix (for Canada this is “011” for overseas dialing) or the National Direct Dialing (NDD) prefix (“1” for calls within North America, omitted for toll-free calls),
  • “C” is the Country Code (North America’s CC is “1”, and it is omitted for dialing within North America),
  • “AAA” is the area code (always required for dialing in Kitchener, Toronto, and other jurisdictions),
  • “PPP” is the Exchange (or Private Branch Exchange “PBX”; look in the phone book to see which exchanges are supported),
  • “NNNN” is the local portion of the number,
  • “;ext=” optionally identifies the next portion as an extension and “xxxx” are the digits for that extension. This syntax is usable in URIs and e-mail.

Note that the sequence “AAA-PPP-NNNN” is called a “local number” and “+C-AAA-PPP-NNNN” is called a “global number”. The “-” (hyphen) is a visual separator, as are “.” (period) , “(” (left bracket) and “)” (right bracket), which dialing applications should ignore.

I’m mostly interested in making phone number formats in e-mail addressbooks compliant with e-mail standards. The document that covers this is the IETF’s [RFC3191], "Minimal GSTN address format in Internet Mail" . The requirement is that GSTN (Global Switched Telephone Network) numbers use the global-number syntax (“+C-AAA-PPP-NNNN”).

Global-number GSTN numbers can be used for other purposes as well, such as Web page URIs. See [RFC3966], "The tel URI for Telephone Numbers". This document re-iterates that:

Global Numbers Globally unique numbers are identified by the leading “+” character. Global numbers MUST be composed with the country (CC) and national (NSN) numbers as specified in E.123 [E.123] and E.164 [E.164]. Globally unique numbers are unambiguous everywhere in the world and SHOULD be used.

Local Numbers Local numbers are unique only within a certain geographical area or a certain part of the telephone network, e.g., a private branch exchange (PBX), a state or province, a particular local exchange carrier, or a particular country. URIs with local phone numbers should only appear in environments where all local entities can successfully set up the call by passing the number to the dialling software. Digits needed for accessing an outside line, for example, are not included in local numbers. Local numbers SHOULD NOT be used unless there is no way to represent the number as a global number.

Local numbers SHOULD NOT be used for several reasons. Local numbers require that the originator and recipient are configured appropriately so that they can insert and recognize the correct context descriptors. Since there is no algorithm to pick the same descriptor independently, labelling numbers with their context increases the chances of misconfiguration so that valid identifiers are rejected by mistake. The algorithm to select descriptors was chosen so that accidental collisions would be rare, but they cannot be ruled out.

If you work at a company that does work with organizations and staff members outside of the context of your area code (ie. internationally) be sure to standardize your directory on global-number syntax.


Need a consultant? Bob Jonkman can be reached by telephone at +1-519-635-9413


Image: Telephone Dial by Leo Reynolds, used under Creative Commons v2.0 BY-NC-SA.

Posted in code, smtp, telephone, valid html | 4 Comments »

Better Tag Cloud