From: Elmo on
On Wed, 27 Jan 2010 12:21:53 -0800, Jeff Liebermann wrote:
On Wed, 27 Jan 2010 Jeff Liebermann & Alexd wrote:

> http://forum.gsmhosting.com/vbb/archive/index.php/t-83541.html

This forum only discusses how to calculate the checksum; I was looking for
the whole IMEI number generation.

For example, to generate a valid MAC address is easy, if you have a table
of manufacturers' assigned OIDs.

> http://en.wikipedia.org/wiki/IMEI#Check_digit_computation
Ah, this is more to the task.

The most interesting fact I learned from that article is that 10% of all
the IMEI numbers out there are not unique!

I also learned from that article that, like the MAC address on a PC, one
can change the IMEI number on a particular telephone (if they know how).

Again, similar to MAC addresses, it looks like IMEI numbers are allocated
to the manufacturer by a standards body.

So, the good news is that I can probably find software to generate a valid
IMEI number given some input parameters (sort of like what MacMakeUp or
SimpleMac or MadMacs does for the PC).

I'll summarize the algorithm separately as this post is getting long.
From: Elmo on
On Wed, 27 Jan 2010 20:12:18 +0000, alexd wrote:

> http://en.wikipedia.org/wiki/IMEI#Check_digit_computation

Based on that article, IMEI numbers are not necessarily unique and the IMEI
number of a cellphone can be changed (similar to MAC addresses in a PC).

Also very interesting is that the checksum (last digit) is "never
transmitted". Hmmmmmm.... it's interesting that the last digit is not
"seen" by AT&T's hardware ...

I'll try to summarize the IMEI generation steps in a later post because the
first step in generating a valid 15-digit IMEI number for any cellphone is
understanding what the number means.



From: Elmo on
On Wed, 27 Jan 2010 22:17:41 -0600, Dennis Ferguson wrote:

> If you change a single digit in a valid 15-digit IMEI, as
> you said you did, you get an invalid one. AT&T took it anyway.

The Wikipedia article says the last digit (checksum) isn't transmitted to
AT&T, so, maybe that's why it didn't matter. Dunno.

Since IMEI numbers are not unique and since any cellphone can have it's
IMEI number changed, here's the algorithm for a typical year 2004 15-digit
IMEI number "AA-BBBBBB-CCCCCC-D", where ...

AA-The first two digits apparently indicate the issuing agency.

BBBB-The next four digits seem to indicate the "allocation number" by that
issuing agency.

BB-The next two digits indicate the Final Assembly Code (i.e., the location
of the manufacturers' manufacturing facility).

CCCCCC-The next six digits are the serial number of the telephone.

D-the last digit is the checksum digit, which is ALWAYS transmitted to the
network as a 0.

Apparently that non-transmitted checksum is calculated by adding the 1st +
2(2nd) + 3rd + 2(4th) + 5th + 2(6th) + 7th + 2(8th) + 9th + 2(10th) + 11th
+ 2(12th) + 13th + 2(14th) digits and then adding a 15th digits such that
the resulting addition ends up with a zero on the end.

One way to generate a valid IMEI number is to enter numbers into this
website until they generate the type of cellphone you want to emulate:
http://www.numberingplans.com/?page=analysis&sub=imeinr
From: argue not on
On Thu, 28 Jan 2010 07:44:38 +0000 (UTC), Elmo wrote:

> BB-The next two digits indicate the Final Assembly Code (i.e., the location
> of the manufacturers' manufacturing facility).

Here's a list of valid Final Assembly Codes to help in the generation of a
valid IMEI number. I don't see RIM here so this list must not be all
inclusive.

FAC Code
01 AEG
02 AEG
07 Motorola
40 Motorola
10 Nokia
20 Nokia
30 Ericsson
40 Siemens
41 Siemens
44 Siemens
50 Bosch
51 Sony, Siemens, Ericsson
60 Alcatel
61 Ericsson
65 AEG
70 Sagem
75 Dancall
80 Philips
85 Panasonic
From: Mike S. on

In article <244f02321e75107565a35a69b70b088a(a)tioat.net>,
Elmo <dcdraftworks(a)Use-Author-Supplied-Address.invalid> wrote:
>On Wed, 27 Jan 2010 22:17:41 -0600, Dennis Ferguson wrote:
>
>> If you change a single digit in a valid 15-digit IMEI, as
>> you said you did, you get an invalid one. AT&T took it anyway.
>
>The Wikipedia article says the last digit (checksum) isn't transmitted to
>AT&T, so, maybe that's why it didn't matter. Dunno.
>
>Since IMEI numbers are not unique

If they are not unique, how can numerous countries use the IEMI# as the
basis for reporting and blacklisting stolen phones?