Mobile equipment identifier

Last updated

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.

Contents

Regional codeManufacturer codeSerial numberCD
RRXXXXXXZZZZZZC

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.

Obtaining the MEID

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

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. 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 use RR=35, which is allocated by BABT. 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.

Display formats

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'.

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. [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.

Code to convert

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.}}

Related Research Articles

In mathematics and computing, the hexadecimal numeral system 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.

<span class="mw-page-title-main">SIM card</span> Integrated circuit card for a mobile device

A SIM card 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. Technically the actual physical card is known as a universal integrated circuit card (UICC); this smart card is usually made of PVC with embedded contacts and semiconductors, with the SIM as its primary component. In practice the term "SIM card" is still used to refer to the entire unit and not simply the IC.

<span class="mw-page-title-main">International Mobile Equipment Identity</span> Cellphone identification code

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.

<span class="mw-page-title-main">Comparison of mobile phone standards</span>

This is a comparison of standards of wireless networking technologies for devices such as mobile phones. A new generation of cellular standards has appeared approximately every tenth year since 1G systems were introduced in 1979 and the early to mid-1980s.

<span class="mw-page-title-main">Removable User Identity Module</span>

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 an access authentication protocol used in CDMA/1xRTT computer network systems.

<span class="mw-page-title-main">Unicode input</span> Input characters using their Unicode code points

Unicode input is the insertion of a specific Unicode character on a computer by a user; it is a common way to input characters not directly supported by a physical keyboard. Unicode characters can be produced either by selecting them from a display or by typing a certain sequence of keys on a physical keyboard. In addition, a character produced by one of these methods in one web page or document can be copied into another. 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.

References

  1. "ESN Migration to MEID – Milestones & Timeline", The Telecommunications Industry Association (TIA), 30 November 2011
  2. "Devices: MEID & EUIMID". CDG. Retrieved 29 May 2018.
  3. Bader, Daniel (21 March 2017). "How to make sure your phone works on a prepaid alternative carrier". iMore . Retrieved 24 October 2017.
  4. Pellegrino G, Quick F. White Paper on Pseudo-ESN Collisions. TIA. 26 May 2005.