A mobile equipment identifier (MEID) is a globally unique number identifying a physical piece of CDMA2000 mobile station equipment. The number format is defined by the 3GPP2 report S.R0048 but in practical terms, it can be seen as an IMEI but with hexadecimal digits.
Regional code | Manufacturer code | Serial number | CD | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
R | R | X | X | X | X | X | X | Z | Z | Z | Z | Z | Z | C |
An MEID is 56 bits 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. [1] 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 hash of the MEID. [2] MEIDs are used on CDMA mobile phones. GSM phones do not have ESN or MIN, only an International Mobile Station Equipment Identity (IMEI) number.
Commonly, opening the phone's dialler and typing *#06# will display its MEID. [3]
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. TIA also allocates IMEI codes, specifically destined for dual-technology phones, out of the RR=99 range. This range is commonly (but not exclusively) used for LTE-capable handsets with CDMA support. Other administrators working under GSMA may also allocate any IMEI for use in dual-technology phones. For instance, Apple and LG normally use RR=35 which is allocated by BABT while Chinese brands such as Huawei use two RR=86 IMEIs allocated by TAF for 3GPP networks alongside a distinct RR=99 decimal or RR=A0 hexadecimal MEID for 3GPP2 networks. Every IMEI can also be used as an MEID in CDMA devices (as well as in single-mode devices designed with GSM or other 3GPP protocols) but MEIDs can also contain hexadecimal digits and this MEID variant cannot be used as an IMEI.
There are two standard formats for MEIDs, and both can include an optional check-digit. This is defined by 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 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 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 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'.
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. [4] 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 specification 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). In this situation, the risk of at least two phones having the same pseudo-ESN can be calculated using the birthday paradox and works out to about a 50 per cent probability in a database with 4,800 pseudo-ESN entries. 3GPP2 specifications C.S0016 (Revision C or higher) and 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 (MIN) or IMSI based addressing instead.
This short Python script will convert an MEID to a pESN.
importhashlibmeid=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 80print("pESN: "+pesn)
The CDG also provides a 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)
publicstaticstringHexToDecimal(stringinput){if(input.Length!=14){return"";// Not a valid hex MEID.}stringhexPart1=input.Substring(0,8);stringhexPart2=input.Substring(8,6);try{stringdecPart1=int.Parse(hexPart1,System.Globalization.NumberStyles.HexNumber).ToString().PadLeft(10,'0');stringdecPart2=int.Parse(hexPart2,System.Globalization.NumberStyles.HexNumber).ToString().PadLeft(8,'0');returndecPart1+decPart2;}catch(System.FormatExceptionex){return"";// Hex parse failed, not a valid hex MEID.}}
Hexadecimal is a positional numeral system that represents numbers using a radix (base) of sixteen. Unlike the decimal system representing numbers using ten symbols, hexadecimal uses sixteen distinct symbols, most often the symbols "0"–"9" to represent values 0 to 9 and "A"–"F" to represent values from ten to fifteen.
Short Message Peer-to-Peer (SMPP) in the telecommunications industry is an open, industry standard protocol designed to provide a flexible data communication interface for the transfer of short message data between External Short Messaging Entities (ESMEs), Routing Entities (REs) and SMSC.
A computer number format is the internal representation of numeric values in digital device hardware and software, such as in programmable computers and calculators. Numerical values are stored as groupings of bits, such as bytes and words. The encoding between numerical values and bit patterns is chosen for convenience of the operation of the computer; the encoding used by the computer's instruction set generally requires conversion for external use, such as for printing and display. Different types of processors may have different internal representations of numerical values and different conventions are used for integer and real numbers. Most calculations are carried out with number formats that fit into a processor register, but some software systems allow representation of arbitrarily large numbers using multiple words of memory.
The international mobile subscriber identity is a number that uniquely identifies every user of a cellular network. It is stored as a 64-bit field and is sent by the mobile device to the network. It is also used for acquiring other details of the mobile in the home location register (HLR) or as locally copied in the visitor location register. To prevent eavesdroppers from identifying and tracking the subscriber on the radio interface, the IMSI is sent as rarely as possible and a randomly-generated TMSI is sent instead.
A SIMcard is an integrated circuit (IC) intended to securely store an international mobile subscriber identity (IMSI) number and its related key, which are used to identify and authenticate subscribers on mobile telephone devices. SIMs are also able to store address book contacts information, and may be protected using a PIN code to prevent unauthorized use.
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 also be displayed on-screen on most phones by entering the MMI Supplementary Service code *#06#
on the dialpad, or alongside other system information in the settings menu on smartphone operating systems.
The 3rd Generation Partnership Project 2 (3GPP2) was a collaboration between telecommunications associations to make a globally applicable third generation (3G) mobile phone system specification within the scope of the ITU's IMT-2000 project. In practice, 3GPP2 was the standardization group for CDMA2000, the set of 3G standards based on the earlier cdmaOne 2G CDMA technology.
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 identity (IMSI). The MIN is a number that uniquely identifies a mobile phone working under TIA standards for cellular and PCS technologies. MIN usage became prevalent for mobile number portability to switch providers. It can also be called the MSID or IMSI_S.
The Reporting Body Identifier is the first two digits of a Global System for Mobile Communications (GSM) Type Allocation Code, and indicates the GSMA-approved organization that registered a given mobile device, and allocated the model a unique code.
Electronic serial numbers (ESNs) were created by the U.S. Federal Communications Commission (FCC) to uniquely identify mobile devices, from the days of AMPS in the United States starting in the early 1980s. The administrative role was taken over by the Telecommunications Industry Association in 1997 and is still maintained by them. ESNs are currently mainly used with CDMA phones, compared to International Mobile Equipment Identity (IMEI) numbers used by all GSM phones.
Removable User Identity Module is a card developed for cdmaOne/CDMA2000 ("CDMA") handsets that extends the GSM SIM card to CDMA phones and networks. To work in CDMA networks, the R-UIM contains an early version of the CSIM application. The card also contains SIM (GSM) application, so it can work on both networks. It is physically compatible with GSM SIMs and can fit into existing GSM phones as it is an extension of the GSM 11.11 standard.
Phone cloning is the copying of identity from one cellular device to another.
A Central Equipment Identity Register (CEIR) is a database of mobile equipment identifiers. Such an identifier is assigned to each SIM slot of the mobile device.
CAVE-based authentication is a security protocol used to verify access in CDMA2000 1X, a type of third-generation (3G) mobile network system. The term "CAVE" stands for Cellular Authentication and Voice Encryption, which is the algorithm used to perform the authentication process. This system helps to confirm that a user is authorized to connect to the mobile network.
Unicode input is method to add a specific Unicode character to a computer file; it is a common way to input characters not directly supported by a physical keyboard. Characters can be entered either by selecting them from a display, by typing a certain sequence of keys on a physical keyboard, or by drawing the symbol by hand on touch-sensitive screen. In contrast to ASCII's 96 element character set, Unicode encodes hundreds of thousands of graphemes (characters) from almost all of the world's written languages and many other signs and symbols besides.
A UIMID is a 32-bit Electronic Serial Number (ESN) stored in a R-UIM or CSIM used for TDMA or CDMA2000 phones. It is given a different name to avoid confusion with the hardware ESN stored in the phone. In all known systems the UIMID displaces the ESN in signaling. Because the UIMID is allocated from the same numbering space as ESN its existence is transparent to the network. The reason the UIMID is transmitted instead of the ESN is because the card contains the MIN or IMSI and devices such as the HLR running the Asbi
EUIMID is a unique identifier for an R-UIM or CSIM card in CDMA2000 cellular systems that replaces the older UIMID identifier. There are two forms of EUIMID, known as Short Form (SF_EUIMID) and Long Form (LF_EUIMID). Both produce a 32-bit pseudo-UIMID (pUIMID) with 0x80 in the upper 8 bits and the least significant 24 bits of the SHA-1 hash of the entire SF_EUIMID or the entire ICCID EF in the lower 24 bits.
A CDMA subscriber identity module (CSIM) is an application to support CDMA2000 phones that runs on a UICC, with a file structure derived from the R-UIM card. By porting the application to the UICC, a card with CSIM, SIM, and USIM can operate with all major cellular technologies worldwide. The CSIM application allows users to change phones by simply removing the smart card from one mobile phone and inserting it into another mobile phone or broadband telephony device supporting the CDMA2000 radio interface.
Cellular frequencies are the sets of frequency ranges within the ultra high frequency band that have been assigned for cellular-compatible mobile devices, such as mobile phones, to connect to cellular networks. Most mobile networks worldwide use portions of the radio frequency spectrum, allocated to the mobile service, for the transmission and reception of their signals. The particular bands may also be shared with other radiocommunication services, e.g. broadcasting service, and fixed service operation.