Le terme décrit d'où vient la réponse, pas ce que vous obtenez. Un réseau mobile tient un registre de ses propres abonnés. Un lookup est une question posée à ce registre, via un service qui y a accès. Ce que le registre accepte de dire varie selon le réseau.
Qu'est-ce que le HLR lui-même ?
Le registre des abonnés à l'intérieur d'un réseau mobile.
GSM est le standard mobile sur lequel la plupart des réseaux ont été construits avant les cœurs de réseau en mode paquet. Le Home Location Register y conserve la fiche de chaque abonné rattaché à ce réseau, y compris l'élément réseau qui le dessert. L'architecture ultérieure a transféré ce rôle au Home Subscriber Server. Les deux noms désignent la même fonction dans des générations de réseau différentes.
Aucun des deux n'est un annuaire public. Il n'existe pas de registre mondial unique à interroger. Aucun lookup ne renvoie un nom ou une adresse d'abonné. Ce qu'un lookup peut obtenir, ce sont des informations de routage et de statut que le réseau desservant le numéro accepte de fournir.
Que peut réellement vous apprendre un lookup ?
Quel réseau détient le numéro actuellement, quel type de ligne c'est, et si elle est active.
| Ce que vous demandez | Ce qui revient | Ce que cela n'établit pas |
|---|---|---|
| Lookup de base | Pays, réseau desservant et réseau émetteur, type de ligne, portabilité éventuelle du numéro | Si quelqu'un l'utilise |
presence | Si le numéro est enregistré et capable de recevoir du trafic en ce moment | Qui tient le combiné |
roaming | Si le numéro est en itinérance, et sur quel réseau | Où se trouve la personne |
sim_swap | Quand la SIM a été changée pour la dernière fois | Pourquoi elle a changé |
porting | Quand le numéro a changé de réseau pour la dernière fois, et son historique | Quoi que ce soit sur l'abonné |
classification | Le service précis alloué à la plage, là où le lookup de base donne des catégories larges | Pourquoi la plage a été allouée ainsi |
score | Un score de crédibilité de 0 à 100 | Comment il a été composé, ce que les autres propriétés ne peuvent pas vous donner |
Un lookup de base distingue déjà le réseau qui dessert un numéro de celui qui l'a émis. C'est ainsi qu'un numéro porté est visible : les deux diffèrent, et un indicateur ported le signale.
Une vérification en direct prouve-t-elle quelque chose ?
Elle prouve que le réseau a répondu, et rien de plus.
Un résultat de présence reflète une requête en temps réel au réseau où le numéro est enregistré. Ainsi, reachable: true signifie que ce réseau a déclaré le numéro capable de recevoir du trafic à cet instant. Cela n'identifie pas le titulaire. Ce n'est pas un consentement. La FAQ libphonenumber de Google dit la même chose sur l'identification du titulaire d'un numéro :
Do not rely on libphonenumber to determine whether numbers are currently assigned to a specific user and reachable.
Un numéro joignable ne garantit pas non plus qu'un message arrivera. La livraison dépend de l'expéditeur, de la route et du filtrage côté destinataire, qu'un lookup ne consulte pas.
Comment lire une réponse que personne n'a pu fournir ?
Par le statut de la propriété, qui distingue trois issues.
Chaque propriété que vous demandez signale son propre status :
ok: la propriété a reçu une réponse et sa valeur est présente.unavailable: aucune réponse n'est arrivée, le bloc est doncnull.inconclusive: une réponse est arrivée mais ne résout pas la propriété.
Seul ok porte une valeur, et seul ok est facturé. Reste la distinction qui compte pour un flux d'inscription. Un bloc de présence avec status: unavailable signifie que personne n'a pu vous répondre. Un bloc avec status: ok et reachable: false signifie que le réseau a indiqué que le numéro ne peut pas recevoir de trafic. Traiter le premier comme le second transforme une question sans réponse en un client rejeté.
Comment en lancer un sur Bird ?
Envoyez le numéro en nommant les propriétés souhaitées.
POST /v1/lookup/phone-number prend un phone_number et un tableau optionnel type contenant n'importe lequel parmi classification, porting, presence, roaming, sim_swap et score. Omettez type pour le lookup de base seul. Chaque propriété ajoutée est facturée séparément et uniquement lorsqu'elle est livrée. Ne demandez presence que lorsque vous avez besoin d'une vérification en direct.
Branchez sur ok. Traitez tout autre statut comme non répondu. Le vocabulaire de statuts est un enum ouvert : une valeur non reconnue est un futur statut, pas une erreur. Brancher ainsi reste correct à mesure que le vocabulaire s'enrichit. Le guide de lookup couvre le flux. Quelles vérifications de validation de numéro de téléphone couvre les questions que chaque type de vérification peut trancher.
En bref
HLR est un nom issu de l'architecture réseau, pas une base de données publique.
Le Home Location Register est le registre des abonnés dans les anciens réseaux mobiles, le Home Subscriber Server remplissant le même rôle dans les générations suivantes.
Un résultat « joignable » n'est pas une personne.
Le réseau qui répond qu'un numéro peut recevoir du trafic ne dit rien sur qui tient le combiné ni si cette personne a consenti à recevoir vos messages.
Chaque réponse porte son propre statut.
Bird signale chaque propriété demandée comme ok, unavailable ou inconclusive, et seul ok porte une valeur.
Unavailable et unreachable sont des réponses différentes.
L'une signifie que personne n'a pu vous répondre. L'autre signifie que le réseau vous a indiqué que le numéro ne peut pas recevoir de trafic en ce moment.