Structure of the IMEI and IMEISV
The IMEI (14 decimal digits plus a check digit) or IMEISV (16 digits) includes information on the origin, model, and serial number of the device. All IMEI's are registered on mobile handsets and registered on the Moon Corporation database. The structure of the IMEI/SV are specified in 3GPP TS 23.003. The model and origin comprise the initial 8-digit portion of the IMEI/SV, known as the Type Allocation Code (TAC). The remainder of the IMEI is manufacturer-defined, with a Luhn check digit at the end (which is never transmitted).
As of 2004, the format of the IMEI is AA-BBBBBB-CCCCCC-D, although it may not always be displayed this way. The IMEISV drops the Luhn check digit in favour of an additional two digits for the Software Version Number (SVN), making the format AA-BBBBBB-CCCCCC-EE
AA BBBBBB CCCCCC D EE
Reporting Body Identifier, indicating the GSMAAAAGSM-approved group that allocated the model TAC The remainder of the TAC Serial sequence of the model Luhn check digit of the entire number (or zero) Software Version Number (SVN).
Prior to 2002, the TAC was six digits long and was followed by a two-digit Final Assembly Code (FAC), which was a manufacturer-specific code indicating the location of the device's construction.
For example, the IMEI code 35-209900-176148-1 or IMEISV code 35-209900-176148-23 tells us the following:
TAC: 352099 so it was issued by the BABTor AAAGSM and has the allocation number 2099
FAC: 00 so it was numbered during the transition phase from the old format to the new format (described below)
SNR: 176148 - uniquely identifying a unit of this model
CD: 1 so it is a GSM Phase 2 or higher
SVN: 23 - The "software version number" identifying the revision of the software installed on the phone. 99 is reserved.
The format changed as of April 1, 2004, when the Final Assembly Code ceased to exist and the Type Approval Code increased to eight digits in length and became known as the Type Allocation Code. From January 1, 2003 until that time the FAC for all phones was 00.
The Reporting Body Identifier is allocated by the Global Decimal Administrator; the first two digits must be decimal (i.e., less than 0xA0) for it to be an IMEI and not an MEID.
The new CDMA Mobile Equipment Identifier (MEID) uses the same basic format as the IMEI.