MEID
   HOME

TheInfoList



OR:

A mobile equipment identifier (MEID) is a globally unique number identifying a physical piece of
CDMA2000 CDMA2000 (also known as C2K or IMT Multi‑Carrier (IMT‑MC)) is a family of 3G mobile technology standards for sending voice, data, and signaling data between mobile phones and cell sites. It is developed by 3GPP2 as a backwards-compatible ...
mobile station equipment. The number format is defined by th
3GPP2 report S.R0048
but in practical terms, it can be seen as an
IMEI The International Mobile Equipment Identity (IMEI) is a numeric identifier, usually unique, for 3GPP and iDEN mobile phones, as well as some satellite phones. It is usually found printed inside the battery compartment of the phone but can al ...
but with
hexadecimal In mathematics and computing, the hexadecimal (also base-16 or simply hex) numeral system is a positional numeral system that represents numbers using a radix (base) of 16. Unlike the decimal system representing numbers using 10 symbols, hexa ...
digits. An MEID is 56
bit The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
s long (14 hexadecimal digits). It consists of three fields, including an 8-bit regional code (RR), a 24-bit manufacturer code, and a 24-bit manufacturer-assigned serial number. The check digit (CD) is not considered part of the MEID. The MEID was created to replace electronic serial numbers (ESNs), whose virgin form was exhausted in November 2008. As of TIA/EIA/IS-41 Revision D and TIA/EIA/IS-2000 Rev C, the ESN is still a required field in many messages—for compatibility, devices with an MEID can use a pseudo-ESN (pESN), which is a manufacturer code of 0x80 (formerly reserved) followed by the least significant 24 bits of the
SHA-1 In cryptography, SHA-1 (Secure Hash Algorithm 1) is a cryptographically broken but still widely used hash function which takes an input and produces a 160-bit (20-byte) hash value known as a message digest – typically rendered as 40 hexadecima ...
hash of the MEID. MEIDs are used on CDMA mobile phones. GSM phones do not have ESN or MIN, only an International Mobile Station Equipment Identity (IMEI) number.


Obtaining the MEID

Commonly, opening the phone's dialler and typing *#06# will display its MEID.


Administration

The separation between international mobile equipment identifiers (IMEIs) used by GSM/UMTS and MEIDs is based on the number ranges. There are two administrators: the global decimal administrator (GDA) for IMEIs and the global hexadecimal administrator (GHA). As of August 2006, the TIA acts as the GHA to assign MEID code prefixes (0xA0 and up), and the GSM Association acts as the global decimal administrator. http://www.babt.com/gsm-imei-number-allocation.asp723889TIA also allocates IMEI codes, specifically destined for dual-technology phones, out of the RR=99 range. Other administrators working under GSMA may also allocate any IMEI for use in dual-technology phones. Every IMEI can also be used as an MEID in CDMA2000 devices (as well as in single-mode devices designed with GSM or other 3GPP protocols) but MEID codes may also contain hexadecimal digits and this class of MEID codes cannot be used as an IMEI.


Display formats

There are two standard formats for MEIDs, and both can include an optional check-digit. This is defined b
3GPP2 standard X.S0008
The hexadecimal form is specified to be 14 digits grouped together and applies whether all digits are in the decimal range or whether some are in the range 'A'–'F'. In the first case, all digits are in the range '0'–'9', the check-digit is calculated using the normal base 10
Luhn The Luhn algorithm or Luhn formula, also known as the " modulus 10" or "mod 10" algorithm, named after its creator, IBM scientist Hans Peter Luhn, is a simple checksum formula used to validate a variety of identification numbers, such as credit ca ...
algorithm, but if at least one digit is in the range 'A'–'F' this check digit algorithm uses base 16 arithmetic. The check-digit is never transmitted or stored. It is intended to detect most (but not all) input errors, it is not intended to be a checksum or CRC to detect transmission errors. Consequently, it may be printed on phones or their packaging in case of manual entry of an MEID (e.g. because there is no
bar code A barcode or bar code is a method of representing data in a visual, machine-readable form. Initially, barcodes represented data by varying the widths, spacings and sizes of parallel lines. These barcodes, now commonly referred to as linear or o ...
or the bar code is unreadable). The decimal form is specified to be 18 digits grouped in a 5–5–4–4 pattern and is calculated by converting the manufacturer code portion (32 bits) to decimal and padding on the left with '0' digits to 10 digits and separately converting the serial number portion to decimal and padding on the left to 8 digits. A check-digit can be calculated from the 18 digit result using the standard base 10
Luhn The Luhn algorithm or Luhn formula, also known as the " modulus 10" or "mod 10" algorithm, named after its creator, IBM scientist Hans Peter Luhn, is a simple checksum formula used to validate a variety of identification numbers, such as credit ca ...
algorithm and appended to the end. Note that to produce this form the MEID digits are treated as base 16 numbers even if all of them are in the range '0'–9'.


pESN conflicts

Because the pESN is formed by a hash on the MEID there is the potential for hash collisions. These will cause an extremely rare condition known as a 'collision' on a pure ESN-only network as the ESN is used for the calculation of the Public Long Code Mask (PLCM) used for communication with the base-station. Two mobiles using the same pESN within the same base-station area (operating on the same frequency) can result in call setup and page failures. The probability of a collision has been carefully examined.Pellegrino G, Quick F. White Paper on Pseudo-ESN Collisions. TIA. 26 May 2005.
/ref> Roughly, it is estimated that even on a heavily loaded network the frequency of this situation is closer to 1 out of 1 million calls than to 1 out of 100 000. 3GPP2 specificatio
C.S0072
provides a solution to this problem by allowing the PLCM to be established by the base station. It is easy for the base station to ensure that all PLCM codes are unique when this is done. This specification also allows the PLCM to be based on the MEID or IMSI. A different problem occurs when ESN codes are stored in a database (such as for
OTASP Over-the-air programming (OTA programming) refers to various methods of distributing new software, configuration settings, and even updating encryption keys to devices like mobile phones, set-top boxes, electric cars or secure voice communication ...
). In this situation, the risk of at least two phones having the same pseudo-ESN can be calculated using the
birthday paradox In probability theory, the birthday problem asks for the probability that, in a set of randomly chosen people, at least two will share a birthday. The birthday paradox is that, counterintuitively, the probability of a shared birthday exceeds 5 ...
and works out to about a 50 per cent probability in a database with 4,800 pseudo-ESN entries. 3GPP2 specification
C.S0016
(Revision C or higher) an
C.S0066
have been modified to allow the replacement MEID identifier to be transmitted, resolving this problem. Another problem is that messages delivered on the forward paging channel using the pESN as an address could be delivered to multiple mobiles seemingly randomly. This problem can be avoided by using
mobile identification number The mobile identification number (MIN) or mobile subscription identification number (MSIN) refers to the 10- digit unique number that a wireless carrier uses to identify a mobile phone, which is the last part of the international mobile subscriber ...
(MIN) or IMSI based addressing instead.


Code to convert

This short
Python Python may refer to: Snakes * Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia ** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia * Python (mythology), a mythical serpent Computing * Python (pro ...
script will convert an MEID to a pESN. import hashlib meid = input("Enter a MEID: ").upper() bytes = bytearray.fromhex(meid) s = hashlib.sha1(bytes) # Decode the hex MEID (convert it to binary!) pesn = "80" + s.hexdigest() 6:upper() # Put the last 6 digits of the hash after 80 print("pESN: " + pesn) The CDG also provides
javascript calculator with more conversion options
This C# method will convert an MEID from HEX to DEC format (or return empty for an invalid MEID HEX value) public static string HexToDecimal(string input)


References

{{reflist


External links


Official TIA Resource Page for MEID

PhoneScoop MEID article

CDMA Development Group MEID resource page

Random IMEI Generator
Mobile technology Wireless Identification