Crossposted from https://lemmy.blahaj.zone/post/48779421

I'm writing a program that can find info about a phone number. One problem appears to be that Google's phone number library doesn't provide enough info. For instance, take this number: +1 (613) 745-1576. My iPhone correctly says "Ottawa, Ontario, Canada", while Google's library doesn't return the city? How does my iPhone pick this up but not Google's own library? Is this provided by cell carriers? Is it something with the 745 block? If so, where can I find this info?

all 13 comments

sorted by: hot top controversial new old
[–] 1 point 4 hours ago

My iPhone correctly says “Ottawa, Ontario, Canada”, while Google’s library doesn’t return the city?

There was a time when a phone number's area code and exchange would indicate a pretty constrained geographic area -- for a land-line. I don't think it's possible to do this kind of "find the geography from a phone number alone" lookup accurately in the modern environment. Whatever API Apple provided got your example number right, sure. But how will you know when it gets one wrong? How can you know how often it gets it wrong? What does it really mean to assign a place to a cell number?

My own phone number consistently gets pegged by these things as "belonging to" a specific town several miles away from where I live, probably because the exchange part of my number is one that used to be associated with that town. But that observation doesn't produce any kind of useful information today, it's just misleading.

  • source
  • [–] 6 points 11 hours ago

    https://en.wikipedia.org/wiki/Area_codes_613,_343,_and_753

    The city info is there in the 613 block, so Google just ignores it.

  • source
  • [–] 9 points 12 hours ago* (last edited 12 hours ago) (5 children)

    The first 3 digits, i.e. the ones between the parentheses in your example, is called the area code.

    Area codes in North America were divvied up by US and Canada, and they share the same phone number structure.

    Older area codes tend to have a "1" or "0" in the middle, but that convention went away, as devices like fax machines(!) and mobile phones proliferated, and more numbers were needed to handle the load.

    The various telephone companies coordinate through the North American Numbering Plan (NANP)

    A list of area codes and where they're supposed to be assigned to: https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes

    I say "supposed" because you can take a mobile phone number anywhere these days.


    The 2nd 3 digits, e.g. "745" in your example, traditionally meant a certain area within the area code. So for example, phone numbers in the 613 area code having 2nd 3 digits of "743", "744" and "745" would typically be to addresses near each other.

    That might designate a specific city, or a group of towns.

    Once again, mobile phones have taken some of that meaning away as landlines are disappearing.

  • source
  • hideshow 5 child comments
  • [–] [S] 2 points 12 hours ago (3 children)

    I understood that, just how does my iPhone specifically find "Ottawa" specifically when 613 only identifies Eastern Ontario?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 5 points 11 hours ago

    I think that relying upon a closed source source of data is perhaps not the right way to go about this. Assuming that they are a source of truth to begin with is problematic.

  • source
  • [–] 3 points 12 hours ago (3 children)

    The area code. In this case 613. There's enough of them to correlate with a single area.

  • source
  • hideshow 3 child comments
  • [–] [S] 3 points 12 hours ago (2 children)

    What I don't understand is the fact that 613 is Eastern Ontario? How did my iPhone pick up "Ottawa"?

  • source
  • parent
  • hideshow 2 child comments