stringtranslate.com

Identificador de equipo móvil

Un identificador de equipo móvil (MEID) es un número único a nivel mundial que identifica un equipo físico de una estación móvil CDMA2000 . El formato del número está definido en el informe 3GPP2 S.R0048, pero en la práctica puede considerarse como un IMEI pero con dígitos hexadecimales .

Un MEID tiene una longitud de 56 bits (14 dígitos hexadecimales). Consta de tres campos, que incluyen un código regional (RR) de 8 bits, un código de fabricante de 24 bits y un número de serie asignado por el fabricante de 24 bits. El dígito de control (CD) no se considera parte del MEID.

El MEID fue creado para reemplazar a los números de serie electrónicos (ESN), cuya forma original se agotó en noviembre de 2008. [1] A partir de la revisión D de TIA/EIA/IS-41 y la revisión C de TIA/EIA/IS-2000, el ESN sigue siendo un campo obligatorio en muchos mensajes; por compatibilidad, los dispositivos con un MEID pueden utilizar un pseudo-ESN (pESN), que es un código de fabricante de 0x80 (antes reservado) seguido de los 24 bits menos significativos del hash SHA-1 del MEID. [2] Los MEID se utilizan en los teléfonos móviles CDMA. Los teléfonos GSM no tienen ESN ni MIN, solo un número de identidad internacional de equipo de estación móvil (IMEI).

Obtención del MEID

Normalmente, al abrir el marcador del teléfono y escribir *#06# se mostrará su MEID. [3]

Administración

La separación entre los identificadores internacionales de equipos móviles (IMEI) utilizados por GSM/UMTS y los MEID se basa en los rangos de números. Existen dos administradores: el administrador decimal global (GDA) para IMEI y el administrador hexadecimal global (GHA).

A partir de agosto de 2006, la TIA actúa como la GHA para asignar prefijos de código MEID (0xA0 y superiores), y la Asociación GSM actúa como administrador decimal global. La TIA también asigna códigos IMEI, destinados específicamente a teléfonos de tecnología dual, fuera del rango RR=99. Este rango se utiliza comúnmente (pero no exclusivamente) para teléfonos con capacidad LTE con soporte CDMA. Otros administradores que trabajan bajo la GSMA también pueden asignar cualquier IMEI para su uso en teléfonos de tecnología dual. Por ejemplo, Apple y LG utilizan RR=35, que es asignado por BABT, mientras que las marcas chinas como Huawei utilizan dos IMEI RR=86 asignados por TAF para redes 3GPP y un MEID hexadecimal RR=99 o RR=A0 distinto para redes 3GPP2. Cada IMEI también se puede utilizar como MEID en dispositivos CDMA (así como en dispositivos monomodo diseñados con GSM u otros protocolos 3GPP), pero los MEID también pueden contener dígitos hexadecimales y esta variante de MEID no se puede utilizar como IMEI.

Formatos de visualización

Existen dos formatos estándar para los MEID y ambos pueden incluir un dígito de control opcional, tal como se define en el estándar 3GPP2 X.S0008.

La forma hexadecimal se especifica como 14 dígitos agrupados y se aplica ya sea que todos los dígitos estén en el rango decimal o que algunos estén en el rango 'A'–'F'. En el primer caso, todos los dígitos están en el rango '0'–'9', el dígito de control se calcula utilizando el algoritmo de Luhn de base 10 normal , pero si al menos un dígito está en el rango 'A'–'F' este algoritmo de dígito de control utiliza aritmética de base 16. El dígito de control nunca se transmite ni se almacena. Está destinado a detectar la mayoría (pero no todos) de los errores de entrada, no está destinado a ser una suma de comprobación o CRC para detectar errores de transmisión. En consecuencia, puede imprimirse en teléfonos o sus empaques en caso de entrada manual de un MEID (por ejemplo, porque no hay código de barras o el código de barras es ilegible).

La forma decimal se especifica como 18 dígitos agrupados en un patrón 5–5–4–4 y se calcula convirtiendo la parte del código del fabricante (32 bits) a decimal y rellenando a la izquierda con dígitos '0' hasta 10 dígitos y convirtiendo por separado la parte del número de serie a decimal y rellenando a la izquierda hasta 8 dígitos. Se puede calcular un dígito de control a partir del resultado de 18 dígitos utilizando el algoritmo estándar de Luhn en base 10 y anexarlo al final. Tenga en cuenta que para producir esta forma, los dígitos MEID se tratan como números en base 16 incluso si todos ellos están en el rango '0'–9'.

Conflictos de pESN

Debido a que el pESN se forma mediante un hash en el MEID, existe la posibilidad de colisiones de hash. Esto provocará una condición extremadamente rara conocida como "colisión" en una red que solo utiliza ESN, ya que el ESN se utiliza para el cálculo de la máscara de código largo público (PLCM) utilizada para la comunicación con la estación base. Dos móviles que utilizan el mismo pESN dentro de la misma área de la estación base (que operan en la misma frecuencia) pueden provocar fallas en el establecimiento de la llamada y en la búsqueda.

Se ha examinado cuidadosamente la probabilidad de una colisión. [4] Aproximadamente, se estima que incluso en una red muy cargada la frecuencia de esta situación está más cerca de 1 de cada millón de llamadas que de 1 de cada 100 000.

La especificación 3GPP2 C.S0072 ofrece una solución a este problema al permitir que la estación base establezca el PLCM. De esta manera, la estación base puede asegurarse fácilmente de que todos los códigos PLCM sean únicos. Esta especificación también permite que el PLCM se base en el MEID o IMSI .

Un problema diferente ocurre cuando los códigos ESN se almacenan en una base de datos (como en el caso de OTASP ). En esta situación, el riesgo de que al menos dos teléfonos tengan el mismo pseudo-ESN se puede calcular utilizando la paradoja del cumpleaños y resulta en una probabilidad de alrededor del 50 por ciento en una base de datos con 4.800 entradas de pseudo-ESN. Las especificaciones 3GPP2 C.S0016 (Revisión C o superior) y C.S0066 se han modificado para permitir la transmisión del identificador MEID de reemplazo, lo que resuelve este problema.

Otro problema es que los mensajes entregados en el canal de búsqueda de reenvío utilizando el pESN como dirección podrían ser entregados a múltiples móviles aparentemente de forma aleatoria. Este problema puede evitarse utilizando en su lugar un número de identificación móvil (MIN) o una dirección basada en IMSI.

Código para convertir

Este breve script de Python convertirá un MEID en un pESN.

importar  hashlibmeid  =  input ( "Ingrese un MEID: " ) .upper ( )bytes  =  bytearray .fromhex ( meid ) s = hashlib .sha1 ( bytes ) # Decodifica el MEID hexadecimal ( ¡ conviértelo a binario!)  pesn  =  "80"  +  s . hexdigest ()[ - 6 :] . upper () # Coloca los últimos 6 dígitos del hash después de 80imprimir ( "pESN: "  +  pesn )

El CDG también proporciona una calculadora de JavaScript con más opciones de conversión.

Este método C# convertirá un MEID de formato HEX a DEC (o devolverá un valor vacío para un valor HEX de MEID no válido)

public static string HexToDecimal ( string input ) { if ( input.Longitud ! = 14 ) { return " " ; // No es un MEID hexadecimal válido . } string hexPart1 = input.Substring ( 0,8 ) ; string hexPart2 = input.Substring ( 8,6 ) ; try { string decPart1 = int.Parse ( hexPart1 , System.Globalization.NumberStyles.HexNumber ) .ToString ( ) . PadLeft ( 10 , ' 0 ' ) ; string decPart2 = int.Parse ( hexPart2 , System.Globalization.NumberStyles.HexNumber ) .ToString ( ) . PadLeft ( 8 , ' 0 ' ) ; return decPart1 + decPart2 ; } catch ( System.FormatException ex ) { return " " ;// Error en el análisis hexadecimal, no es un MEID hexadecimal válido. } }                                                  

Referencias

  1. ^ "Migración de ESN a MEID: hitos y cronograma", The Telecommunications Industry Association (TIA), 30 de noviembre de 2011
  2. ^ "Dispositivos: MEID y EUIMID". CDG . Consultado el 29 de mayo de 2018 .
  3. ^ Bader, Daniel (21 de marzo de 2017). "Cómo asegurarse de que su teléfono funciona con un operador alternativo de prepago". iMore . Consultado el 24 de octubre de 2017 .
  4. ^ Pellegrino G, Quick F. Libro blanco sobre colisiones de pseudo-ESN. TIA. 26 de mayo de 2005.

Enlaces externos