Termin opisuje skąd pochodzi odpowiedź, a nie co otrzymujesz. Sieć komórkowa prowadzi rejestr własnych abonentów. Wyszukiwanie to zapytanie skierowane do tego rejestru za pośrednictwem usługi, która ma do niego dostęp. Co rejestr odpowie, zależy od sieci.
Czym jest sam HLR?
Rejestrem abonentów wewnątrz sieci komórkowej.
GSM to standard komórkowy, na którym zbudowano większość sieci przed przejściem na rdzenie pakietowe. W tym standardzie Home Location Register przechowuje rekord każdego abonenta należącego do danej sieci, w tym informację o tym, który element sieci go aktualnie obsługuje. Późniejsza architektura przeniosła tę samą rolę do Home Subscriber Server. Obie nazwy opisują to samo zadanie w różnych generacjach sieci.
Żaden z nich nie jest publicznym katalogiem. Nie istnieje jeden globalny rejestr do odpytania. Żadne wyszukiwanie nie zwraca nazwiska ani adresu abonenta. Wyszukiwanie może uzyskać informacje o routingu i statusie, które obsługująca sieć jest skłonna udostępnić.
Co wyszukiwanie może ci powiedzieć?
Która sieć obsługuje numer, jaki to rodzaj linii i czy numer jest aktywny.
| O co pytasz | Co dostajesz w odpowiedzi | Czego to nie ustala |
|---|---|---|
| Wyszukiwanie podstawowe | Kraj, sieć obsługująca i wydająca, typ linii, czy numer został przeniesiony | Czy ktokolwiek z niego korzysta |
presence | Czy numer jest zarejestrowany i może odbierać ruch w tej chwili | Kto trzyma telefon |
roaming | Czy numer jest w roamingu i w jakiej sieci | Gdzie znajduje się dana osoba |
sim_swap | Kiedy ostatnio zmieniono kartę SIM | Dlaczego ją zmieniono |
porting | Kiedy numer ostatnio zmienił sieć i jego rekord | Cokolwiek o abonencie |
classification | Dokładna przydzielona usługa zakresu, podczas gdy wyszukiwanie podstawowe daje szerokie kategorie | Dlaczego zakres został przydzielony w ten sposób |
score | Wynik wiarygodności od 0 do 100 | Jak został obliczony, czego pozostałe właściwości ci nie powiedzą |
Wyszukiwanie podstawowe już rozróżnia sieć obsługującą numer od sieci, która go wydała. Tak właśnie widoczny jest przeniesiony numer: te dwie sieci się różnią, a flaga ported to potwierdza.
Czy sprawdzenie aktywności cokolwiek dowodzi?
Dowodzi, że sieć odpowiedziała, i nic ponadto.
Wynik obecności odzwierciedla zapytanie w czasie rzeczywistym do sieci, w której numer jest zarejestrowany. reachable: true oznacza więc, że sieć zgłosiła zdolność numeru do odbierania ruchu w danym momencie. Nie identyfikuje posiadacza. Nie stanowi zgody. FAQ libphonenumber od Google mówi to samo o ustalaniu, kto jest właścicielem numeru:
Do not rely on libphonenumber to determine whether numbers are currently assigned to a specific user and reachable.
Osiągalny numer nie oznacza też, że wiadomość dotrze. Dostarczenie zależy od nadawcy, trasy i filtrowania po stronie odbiorcy, a żadnego z tych elementów wyszukiwanie nie sprawdza.
Jak odczytać odpowiedź, której nikt nie mógł udzielić?
Po statusie właściwości, który rozróżnia trzy wyniki.
Każda żądana właściwość raportuje własny status:
ok: właściwość uzyskała odpowiedź i jej wartość jest obecna.unavailable: odpowiedź nie dotarła, więc blok jestnull.inconclusive: odpowiedź dotarła, ale nie rozstrzyga właściwości.
Tylko ok niesie wartość i tylko ok jest rozliczane. To pozostawia rozróżnienie istotne w procesie rejestracji. Blok obecności ze statusem status: unavailable oznacza, że nikt nie był w stanie ci odpowiedzieć. Blok ze statusem status: ok i wartością reachable: false oznacza, że sieć powiedziała, iż numer nie może odbierać ruchu. Potraktowanie pierwszego jak drugiego zamienia pytanie bez odpowiedzi w odrzuconego klienta.
Jak uruchomić wyszukiwanie w Bird?
Wyślij numer, podając właściwości, które chcesz uzyskać.
POST /v1/lookup/phone-number przyjmuje phone_number oraz opcjonalną tablicę type zawierającą dowolne z classification, porting, presence, roaming, sim_swap i score. Pomiń type, aby wykonać samo wyszukiwanie podstawowe. Każda dodana właściwość jest rozliczana osobno i tylko wtedy, gdy zostanie dostarczona. Żądaj presence, gdy potrzebujesz sprawdzenia aktywności, a nie domyślnie.
Rozgałęziaj logikę na podstawie ok. Każdy inny status traktuj jako brak odpowiedzi. Słownik statusów jest otwartym enumem, więc nierozpoznana wartość to przyszły status, a nie błąd. Takie podejście pozostaje poprawne w miarę rozrastania się słownika. Przewodnik po wyszukiwaniu opisuje cały przepływ. Jakie sprawdzenia walidują numer telefonu opisuje, które pytania rozstrzyga każdy rodzaj sprawdzenia.
W skrócie
HLR to nazwa z architektury sieci, nie publiczna baza danych.
Home Location Register to rejestr abonentów w starszych sieciach komórkowych. W nowszych generacjach tę samą rolę pełni Home Subscriber Server.
Wynik „osiągalny
Odpowiedź sieci, że numer może odbierać ruch, nie mówi nic o tym, kto trzyma telefon ani czy ta osoba wyraziła zgodę na kontakt.
Każda odpowiedź ma własny status.
Bird raportuje każdą żądaną właściwość jako ok, unavailable lub inconclusive, a tylko ok niesie wartość.
Unavailable i unreachable to różne odpowiedzi.
Jedna oznacza, że nikt nie był w stanie ci odpowiedzieć. Druga oznacza, że sieć powiedziała, iż numer nie może teraz odbierać ruchu.