De term beschrijft waar het antwoord vandaan komt, niet wat je terugkrijgt. Een mobiel netwerk houdt een register bij van zijn eigen abonnees. Een lookup is een vraag aan dat register, via een dienst die er toegang toe heeft. Wat het register antwoordt, verschilt per netwerk.
Wat is het HLR zelf?
Het abonneeregister in een mobiel netwerk.
GSM is de mobiele standaard waarop de meeste netwerken zijn gebouwd vóór pakketgeschakelde cores. Daarin houdt het Home Location Register het record bij van elke abonnee die bij dat netwerk hoort, inclusief welk netwerkelement hen bedient. Latere architectuur verplaatste dezelfde rol naar de Home Subscriber Server. De twee namen beschrijven dezelfde functie in verschillende generaties netwerk.
Geen van beide is een publieke gids. Er is geen enkel globaal register om te bevragen. Geen lookup retourneert een naam of adres van een abonnee. Wat een lookup wel kan opleveren, is routerings- en statusinformatie die het bedienende netwerk bereid is te geven.
Wat kan een lookup je daadwerkelijk vertellen?
Welk netwerk het nummer nu heeft, wat voor soort lijn het is en of het actief is.
| Wat je vraagt | Wat je terugkrijgt | Wat het niet vaststelt |
|---|---|---|
| Basis-lookup | Land, bedienend en uitgevend netwerk, lijntype, of het nummer is geporteerd | Of iemand het gebruikt |
presence | Of het nummer geregistreerd is en op dit moment verkeer kan ontvangen | Wie het toestel vasthoudt |
roaming | Of het roamt, en op welk netwerk | Waar de persoon is |
sim_swap | Wanneer de SIM voor het laatst is gewisseld | Waarom die is gewisseld |
porting | Wanneer het nummer voor het laatst van netwerk is gewisseld, en het bijbehorende record | Iets over de abonnee |
classification | De exacte toegewezen dienst van het nummerbereik, waar de basis-lookup brede categorieën geeft | Waarom het bereik zo is toegewezen |
score | Een geloofwaardigheidsscore van 0 tot 100 | Hoe die is samengesteld, wat de andere eigenschappen je niet kunnen vertellen |
Een basis-lookup maakt al onderscheid tussen het netwerk dat een nummer bedient en het netwerk dat het heeft uitgegeven. Zo is een geporteerd nummer überhaupt zichtbaar: de twee verschillen, en een ported-vlag geeft dat aan.
Is een live check ergens het bewijs van?
Het is het bewijs dat het netwerk heeft geantwoord, en verder niets.
Een presence-resultaat weerspiegelt een realtime-query aan het netwerk waar het nummer is geregistreerd. reachable: true betekent dus dat dat netwerk meldde dat het nummer op dat moment verkeer kon ontvangen. Het identificeert niet de houder. Het is geen toestemming. De libphonenumber-FAQ van Google zegt hetzelfde over het vaststellen wie een nummer heeft:
Do not rely on libphonenumber to determine whether numbers are currently assigned to a specific user and reachable.
Een bereikbaar nummer betekent ook niet dat een bericht aankomt. Aflevering hangt af van de afzender, de route en de filtering van de bestemming, en een lookup raadpleegt geen van alle.
Hoe lees je een antwoord dat niemand kon geven?
Aan de status op de eigenschap, die drie uitkomsten onderscheidt.
Elke eigenschap die je opvraagt rapporteert een eigen status:
ok: de eigenschap is beantwoord en de waarde is aanwezig.unavailable: er is geen antwoord binnengekomen, dus het blok isnull.inconclusive: er is een antwoord binnengekomen dat de eigenschap niet oplost.
Alleen ok bevat een waarde, en alleen ok wordt gefactureerd. Dat laat het onderscheid over dat ertoe doet bij een registratieflow. Een presence-blok met status: unavailable betekent dat niemand het je kon vertellen. Een blok met status: ok en reachable: false betekent dat het netwerk zei dat het nummer geen verkeer kan ontvangen. Het eerste als het tweede behandelen verandert een onbeantwoorde vraag in een afgewezen klant.
Hoe voer je er een uit op Bird?
Stuur het nummer en benoem de eigenschappen die je wilt.
POST /v1/lookup/phone-number neemt een phone_number en een optionele type-array met een combinatie van classification, porting, presence, roaming, sim_swap en score. Laat type weg voor alleen de basis-lookup. Elke eigenschap die je toevoegt wordt apart gefactureerd en alleen wanneer die wordt geleverd. Vraag presence alleen op wanneer je een live check nodig hebt, niet standaard.
Branch op ok. Behandel elke andere status als niet beantwoord. Het statuswoordenboek is een open enum, dus een niet-herkende waarde is een toekomstige status, geen fout. Op die manier branchen blijft correct naarmate het woordenboek groeit. De lookup-gids behandelt de flow. Wat telefoonnummervalidatiechecks controleren behandelt welke vragen elk type check kan beantwoorden.
Kort gezegd
HLR is een naam uit netwerkarchitectuur, geen publieke database.
Het Home Location Register is het abonneeregister in oudere mobiele netwerken; in nieuwere netwerken vervult de Home Subscriber Server dezelfde rol.
Een bereikbaar resultaat is geen persoon.
Dat het netwerk antwoordt dat een nummer verkeer kan ontvangen, zegt niets over wie het toestel vasthoudt of dat diegene toestemming heeft gegeven om van je te horen.
Elk antwoord heeft een eigen status.
Bird rapporteert elke opgevraagde eigenschap als ok, unavailable of inconclusive, en alleen ok bevat een waarde.
Unavailable en onbereikbaar zijn verschillende antwoorden.
Het ene betekent dat niemand het je kon vertellen. Het andere betekent dat het netwerk je vertelde dat het nummer op dit moment geen verkeer kan ontvangen.