UIMID
# UIMID

A UIMID (user identity module identifier) is a 32-bit Electronic Serial Number (ESN) stored in a R-UIM or CSIM ('smart card') used for TDMA or CDMA2000 phones (mainly the latter). 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 (based on setting bit 1 of the 'UsgInd' field to '1' in the card). 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

mobility management protocol insist on a static association between these identifiers for subscription validation. The HLR will store the MIN or IMSI alongside the ESN in each record, and if an ANSI-41 message is received containing a different pair it will be rejected as invalid.

UIMID codes are allocated by the TIA using industry-defined guidelines and with codes that have been transferred from the ESN administrator (also the TIA).

ESN and UIMID codes were exhausted by late 2008 at which point only reclaimed codes could be assigned to manufacturers including portions of blocks assigned to manufacturers but never used and portions used for technologies other than CDMA2000. The TIA stopped accepting applications for UIMID blocks on June 30, 2010. Only one assignment has been made since 2010.

The replacement identifier for UIMID is EUIMID although for backwards compatibility a pseudo-UIMID (pUIMID) is still retained in cards. The pUIMID is composed of the prefix 0x80 to make it distinct from unique UIMID codes and a 24-bit SHA-1 hash of the EUIMID. pUIMID codes are not unique as there are only $2^{24}$ of them and many times more EUIMID codes. The pUIMID can usually be used in place of a unique UIMID, except when uniqueness is important.

