¿Qué es una consulta HLR?

Una consulta HLR pregunta a la red móvil responsable de un número qué información tiene sobre ese número, como qué red lo atiende y si puede recibir tráfico en el momento de la consulta.

El término describe de dónde viene la respuesta, no lo que obtienes. Una red móvil mantiene un registro de sus propios abonados. Una consulta es una pregunta dirigida a ese registro, a través de un servicio con acceso a él. Lo que el registro responda varía según la red.

¿Qué es el HLR en sí?

El registro de abonados dentro de una red móvil.

GSM es el estándar móvil sobre el que se construyeron la mayoría de las redes antes de los núcleos basados en paquetes. En él, el Home Location Register guarda el registro de cada abonado que pertenece a esa red, incluyendo qué elemento de red lo atiende. La arquitectura posterior trasladó la misma función al Home Subscriber Server. Los dos nombres describen el mismo trabajo en distintas generaciones de red.

Ninguno es un directorio público. No existe un único registro global al que consultar. Ninguna consulta devuelve un nombre ni una dirección de un abonado. Lo que una consulta puede obtener es información de enrutamiento y estado que la red que atiende el número esté dispuesta a proporcionar.

¿Qué puede decirte realmente una consulta?

Qué red tiene el número actualmente, qué tipo de línea es y si está activa.

Qué preguntasQué obtienesQué no establece
Consulta basePaís, red que atiende y red que emitió, tipo de línea, si el número se ha portadoSi alguien lo está usando
presenceSi el número está registrado y puede recibir tráfico en este momentoQuién tiene el teléfono
roamingSi está en roaming y en qué redDónde está la persona
sim_swapCuándo se cambió la SIM por última vezPor qué se cambió
portingCuándo el número cambió de red por última vez y su registroNada sobre el abonado
classificationEl servicio asignado exacto del rango, donde la consulta base da categorías ampliasPor qué el rango se asignó de esa forma
scoreUna puntuación de credibilidad de 0 a 100Cómo se compuso, algo que las demás propiedades no pueden darte

Una consulta base ya distingue la red que atiende un número de la red que lo emitió. Así es como un número portado es visible: las dos difieren, y una marca ported lo indica.

¿Es una verificación en vivo prueba de algo?

Es prueba de que la red respondió, y nada más.

Un resultado de presencia refleja una consulta en tiempo real a la red donde el número está registrado. Así que reachable: true significa que esa red reportó que el número podía recibir tráfico en ese momento. No identifica al titular. No es consentimiento. El FAQ de libphonenumber de Google dice lo mismo sobre establecer quién tiene un número:

Do not rely on libphonenumber to determine whether numbers are currently assigned to a specific user and reachable.

Tampoco un número alcanzable garantiza que un mensaje llegará. La entrega depende del remitente, la ruta y el filtrado del destino, nada de lo cual consulta una consulta HLR.

¿Cómo interpreto una respuesta que nadie pudo dar?

Por el estado de la propiedad, que distingue tres resultados.

Cada propiedad que solicitas reporta su propio status:

  • ok: la propiedad fue respondida y su valor está presente.
  • unavailable: no llegó respuesta, así que el bloque es null.
  • inconclusive: llegó una respuesta que no resuelve la propiedad.

Solo ok lleva un valor, y solo ok se factura. Eso deja la distinción que importa en un flujo de registro. Un bloque de presencia con status: unavailable significa que nadie pudo informarte. Uno con status: ok y reachable: false significa que la red dijo que el número no puede recibir tráfico. Tratar lo primero como lo segundo convierte una pregunta sin respuesta en un cliente rechazado.

¿Cómo ejecuto una en Bird?

Envía el número indicando las propiedades que quieres.

POST /v1/lookup/phone-number recibe un phone_number y un array opcional type que admite cualquiera de classification, porting, presence, roaming, sim_swap y score. Omite type para obtener solo la consulta base. Cada propiedad que añades se factura por separado y solo cuando se entrega. Solicita presence cuando necesites una verificación en vivo, no por defecto.

Ramifica según ok. Trata cualquier otro estado como no respondido. El vocabulario de estados es un enum abierto, así que un valor no reconocido es un estado futuro, no un error. Ramificar de esta forma sigue siendo correcto a medida que el vocabulario crece. La guía de consulta cubre el flujo. Qué verifican las comprobaciones de números de teléfono cubre qué preguntas puede resolver cada tipo de comprobación.

En resumen

  1. HLR es un nombre de la arquitectura de red, no una base de datos pública.

    El Home Location Register es el registro de abonados en las redes móviles antiguas; el Home Subscriber Server cumple la misma función en las más recientes.

  2. Un resultado de alcanzable no es una persona.

    Que la red responda que un número puede recibir tráfico no dice nada sobre quién tiene el teléfono ni si consintió que le contactaras.

  3. Cada respuesta lleva su propio estado.

    Bird reporta cada propiedad solicitada como ok, unavailable o inconclusive, y solo ok lleva un valor.

  4. Unavailable y unreachable son respuestas distintas.

    Una significa que nadie pudo informarte. La otra significa que la red te dijo que el número no puede recibir tráfico en este momento.

Construye sobre la misma red.

Obtén una clave API de prueba de inmediato. El acceso a producción se desbloquea cuando añades un método de pago y verificas un remitente.

Tu próxima idea. Lista para conectar.