On Mon, 2 Oct 2006, Sean Conner wrote:
But what about cell phones and roaming? Last year I
went to Las Vegas
with a friend of mine. My cell phone is in the 561 area code (Palm Beach
County), my friend's phone is in the 205 area code (Tuscaloosa, Alabama).
Las Vegas is 702. My Dad was able to call me (760) while I was in Las
Vegas, and I was able to call my friend (205 area code, although phyically
five feet away) from my cell phone.
How do they handle *that*?
This is getting dangerously OT, but what the hell, I used to test these
things :-)
All calls from the PSTN to a particular cell number go to that number's
'home' switch. This switch owns the enclosing block of numbers in the PSTN
sense. It also keeps track of which switch is the 'serving' switch for a
particular subscriber at any time. When your phone moves into a new
location area, it preforms a location updating procedure; this procedure
places the phone into the serving switch's list of visitors, the serving
switch then lets the home switch know the current serving switch's
address, and the home switch tells the old serving switch to purge the
number from it's list of visitors. When a call comes in for a cell
subscriber, the PSTN routes it to the home switch based on the number
alone; the home switch looks up the address of the serving switch for this
subscriber in it's database and routes the call to the serving switch,
which then delivers it to the phone. Calls from the cell phone are usually
handled directly by the serving switch (i.e. they're sent into the PSTN
and if the recipient is also a cell number the call delivery procedure
above is used by the recipient's home switch).
As a result, your mobile-to mobile call with both of you roaming can have
either 2 to 4 legs (maybe more if forwarding is in use). It's 2 legs (you
-> serving switch -> your buddy) if you're on the same serving switch and
it can figure out that the call recipient is on the same switch as the
sender. It's 4 legs (you -> your serving switch -PSTN-> your buddy's home
switch -PSTN-> your buddy's serving switch -> your buddy) if you're not on
the same serving switch or your serving switch doesn't have enough
information to figure out that it's also your buddy's serving switch.
More or less the same thing is done for number portability, except there
can be 3 switches: the switch that owns the number in the PSTN sense, the
switch that is the new 'home' and tracks the location of the phone, and
the serving switch to which the phone is actually talking. The owns number
switch to new home switch mapping is static (updated by people, not
software) and the protocols used for number portability are not the same
as those used for roaming, but the idea is basically the same.
Now take that explanation, stir in tons of telco jargon, make it about 5
times more complicated due to various features (call forwarding, anyone?),
route optimizations (saving money on trunk use is a big deal for carriers)
and security procedures, and you'll get what's actually going on :-P
Alexey