Telephony background and terms

This basic information about telephony may not be new to experienced mobile developers (if that describes you, feel free to skip to the next section), but it's important to clarify terms and set out some background for those who are new to these concepts.

First, telephony is a general term that refers to the details surrounding electronic voice communications over telephone networks. Our scope is, of course, the mobile telephone network that Android devices will participate in, specifically the Global System for Mobile Communications (GSM) network.

NOTE Telephone The term telephone means "speech over a distance." The Greek roots are tele, which means "distant," and phone, which means "speech."

GSM is a cellular telephone network. Devices communicate over radio waves and specified frequencies using the cell towers that are common across the landscape. This means the GSM standard has to define a few important things, such as identities for devices and "cells," along with all of the rules for making communications possible.

We won't delve into the underlying details of GSM, but it's important to know that it's the standard that the Android stack currently uses to support voice calls—and it's the most widely used standard in the world across carriers and devices, Android or otherwise. All GSM devices use a SIM card to store all the important network and user settings.

A SIM card is a small, removable, and secure smart card. Every device that operates on a GSM network has specific unique identifiers, which are stored on the SIM card:

■ Integrated Circuit Card ID (ICCID) —Identifies a SIM card (also known as a SIM Serial Number, or SSN).

■ International Mobile Equipment Identity (IMEI) —Identifies a physical device. (The number is usually printed underneath the battery).

■ International Mobile Subscriber Identity (IMSI) —Identifies a subscriber (and the network that subscriber is on).

■ Location Area Identity (LAI) —Identifies the region the device is in within a provider network.

■ Authentication Key (Ki) —A 128-bit key used to authenticate a SIM card on this provider network. A 128-bit key.

These numbers are important for the obvious reasons that they are used to validate and authenticate a SIM card itself, the device it is in, and the subscriber on the network (and across networks if need be).

Along with storing unique identifiers and authentication keys, SIM cards often are capable of storing user contacts and SMS messages. This is convenient for users because they can move their SIM card to a new device and carry along contact and message data easily. At present there are no public APIs for interacting with the SIM card on an Android device directly, though this may become possible in the future. (At present, the platform handles the SIM interaction, and developers can get readonly access via the telephony APIs).

The basic background for working with the Android telephony packages really is that short and simple. You need to know that you are working with a GSM network, and then you need to be aware that you may come across terms like IMSI and IMEI, which are stored on the SIM. Getting at this information, and more, is done with the TelephonyManager class.

0 0

Post a comment