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é preguntas | Qué obtienes | Qué no establece |
|---|---|---|
| Consulta base | País, red que atiende y red que emitió, tipo de línea, si el número se ha portado | Si alguien lo está usando |
presence | Si el número está registrado y puede recibir tráfico en este momento | Quién tiene el teléfono |
roaming | Si está en roaming y en qué red | Dónde está la persona |
sim_swap | Cuándo se cambió la SIM por última vez | Por qué se cambió |
porting | Cuándo el número cambió de red por última vez y su registro | Nada sobre el abonado |
classification | El servicio asignado exacto del rango, donde la consulta base da categorías amplias | Por qué el rango se asignó de esa forma |
score | Una puntuación de credibilidad de 0 a 100 | Có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 esnull.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
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.
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.
Cada respuesta lleva su propio estado.
Bird reporta cada propiedad solicitada como ok, unavailable o inconclusive, y solo ok lleva un valor.
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.