HLR लुकअप क्या है?

HLR लुकअप किसी नंबर के लिए ज़िम्मेदार मोबाइल नेटवर्क से पूछता है कि उसके पास उस नंबर के बारे में क्या जानकारी है, जैसे कौन-सा नेटवर्क उसे सेवा देता है और क्या क्वेरी के समय वह ट्रैफ़िक प्राप्त कर सकता है।

यह शब्द बताता है कि उत्तर कहाँ से आता है, यह नहीं कि आपको क्या मिलता है। हर मोबाइल नेटवर्क अपने सब्सक्राइबरों का एक रजिस्टर रखता है। लुकअप उस रजिस्टर से पूछा गया एक प्रश्न है, जो उस तक पहुँच रखने वाली किसी सेवा के ज़रिए जाता है। रजिस्टर क्या बताएगा, यह हर नेटवर्क में अलग होता है।

HLR असल में क्या है?

मोबाइल नेटवर्क के अंदर का सब्सक्राइबर रजिस्टर।

GSM वह मोबाइल मानक है जिस पर पैकेट-आधारित कोर से पहले ज़्यादातर नेटवर्क बने थे। इसमें Home Location Register उस नेटवर्क के हर सब्सक्राइबर का रिकॉर्ड रखता है, जिसमें यह भी शामिल है कि कौन-सा नेटवर्क एलिमेंट उन्हें सेवा दे रहा है। बाद के आर्किटेक्चर में यही भूमिका Home Subscriber Server को मिली। दोनों नाम नेटवर्क की अलग-अलग पीढ़ियों में एक ही काम को दर्शाते हैं।

इनमें से कोई भी सार्वजनिक डायरेक्टरी नहीं है। क्वेरी करने के लिए कोई एक वैश्विक रजिस्टर नहीं है। कोई भी लुकअप किसी सब्सक्राइबर का नाम या पता नहीं लौटाता। लुकअप से केवल वही रूटिंग और स्थिति की जानकारी मिल सकती है, जो सेवा देने वाला नेटवर्क बताने को तैयार हो।

लुकअप से असल में आपको क्या पता चल सकता है?

नंबर अभी किस नेटवर्क के पास है, लाइन किस प्रकार की है, और वह सक्रिय है या नहीं।

आप क्या पूछते हैंजवाब में क्या मिलता हैइससे क्या साबित नहीं होता
बेसिक लुकअपदेश, सेवा देने वाला और नंबर जारी करने वाला नेटवर्क, लाइन का प्रकार, नंबर पोर्ट हुआ है या नहींकोई उसका इस्तेमाल कर रहा है या नहीं
presenceक्या नंबर इस समय पंजीकृत है और ट्रैफ़िक प्राप्त कर सकता हैहैंडसेट किसके पास है
roamingक्या नंबर रोमिंग में है, और किस नेटवर्क परव्यक्ति कहाँ है
sim_swapSIM पिछली बार कब बदली गईवह क्यों बदली गई
portingनंबर ने पिछली बार कब नेटवर्क बदला, और उसका रिकॉर्डसब्सक्राइबर के बारे में कोई भी जानकारी
classificationरेंज की सटीक आवंटित सेवा, जबकि बेस लुकअप केवल व्यापक श्रेणियाँ देता हैरेंज को उस तरह क्यों आवंटित किया गया
score0 से 100 तक का विश्वसनीयता स्कोरयह स्कोर कैसे बना, जो अन्य प्रॉपर्टी आपको नहीं बता सकतीं

बेस लुकअप ही नंबर को सेवा देने वाले नेटवर्क और उसे जारी करने वाले नेटवर्क में अंतर कर देता है। पोर्ट किया गया नंबर इसी तरह दिखाई देता है: दोनों नेटवर्क अलग होते हैं, और ported फ़्लैग यही बताता है।

क्या लाइव जाँच किसी बात का प्रमाण है?

यह केवल इस बात का प्रमाण है कि नेटवर्क ने जवाब दिया, इससे ज़्यादा कुछ नहीं।

प्रेज़ेंस परिणाम उस नेटवर्क से की गई रियल-टाइम क्वेरी को दर्शाता है जहाँ नंबर पंजीकृत है। इसलिए reachable: true का अर्थ है कि उस नेटवर्क ने बताया कि नंबर उस समय ट्रैफ़िक प्राप्त कर सकता था। इससे धारक की पहचान नहीं होती। यह सहमति भी नहीं है। नंबर का धारक कौन है, यह स्थापित करने के बारे में Google का libphonenumber FAQ भी यही कहता है:

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

पहुँच योग्य नंबर का यह अर्थ भी नहीं कि संदेश पहुँचेगा। डिलीवरी भेजने वाले, रूट और गंतव्य की फ़िल्टरिंग पर निर्भर करती है, और लुकअप इनमें से किसी की जाँच नहीं करता।

जिस सवाल का जवाब कोई नहीं दे सका, उसके परिणाम को मैं कैसे समझूँ?

प्रॉपर्टी पर दिए गए स्टेटस से, जो तीन परिणामों में अंतर करता है।

आप जो भी प्रॉपर्टी माँगते हैं, वह अपना अलग status बताती है:

  • ok: प्रॉपर्टी का उत्तर मिला और उसका मान मौजूद है।
  • unavailable: कोई उत्तर नहीं आया, इसलिए ब्लॉक null है।
  • inconclusive: उत्तर आया, लेकिन उससे प्रॉपर्टी तय नहीं होती।

केवल ok में मान होता है, और केवल ok का बिल लगता है। साइनअप फ़्लो के लिए असली अंतर यहीं है। status: unavailable वाले प्रेज़ेंस ब्लॉक का अर्थ है कि कोई आपको उत्तर नहीं दे सका। status: ok और reachable: false वाले ब्लॉक का अर्थ है कि नेटवर्क ने बताया कि नंबर ट्रैफ़िक प्राप्त नहीं कर सकता। पहले को दूसरा मान लेने से अनुत्तरित प्रश्न एक अस्वीकार किया गया ग्राहक बन जाता है।

Bird पर लुकअप कैसे चलाएँ?

नंबर भेजें और बताएँ कि आपको कौन-सी प्रॉपर्टी चाहिए।

POST /v1/lookup/phone-number एक phone_number और एक वैकल्पिक type ऐरे लेता है, जिसमें classification, porting, presence, roaming, sim_swap और score में से कोई भी हो सकता है। केवल बेस लुकअप के लिए type छोड़ दें। आप जो भी प्रॉपर्टी जोड़ते हैं, उसका बिल अलग से और केवल डिलीवर होने पर लगता है। presence को डिफ़ॉल्ट रूप से नहीं, बल्कि तभी माँगें जब आपको लाइव जाँच चाहिए।

ok के आधार पर ब्रांच करें। बाकी हर स्टेटस को अनुत्तरित मानें। स्टेटस की शब्दावली एक खुला enum है, इसलिए अपरिचित मान कोई त्रुटि नहीं, बल्कि भविष्य का स्टेटस है। इस तरह ब्रांच करने से शब्दावली बढ़ने पर भी आपका कोड सही रहता है। लुकअप गाइड में पूरा फ़्लो दिया गया है। फ़ोन नंबर सत्यापन क्या जाँचता है में बताया गया है कि हर तरह की जाँच किन प्रश्नों का उत्तर दे सकती है।

संक्षेप में

  1. HLR नेटवर्क आर्किटेक्चर का एक नाम है, कोई सार्वजनिक डेटाबेस नहीं।

    Home Location Register पुराने मोबाइल नेटवर्क में सब्सक्राइबर रजिस्टर है, और बाद के नेटवर्क में यही भूमिका Home Subscriber Server निभाता है।

  2. पहुँच योग्य होने का परिणाम किसी व्यक्ति की पुष्टि नहीं है।

    नेटवर्क का यह उत्तर कि कोई नंबर ट्रैफ़िक प्राप्त कर सकता है, यह नहीं बताता कि हैंडसेट किसके पास है या उन्होंने आपसे संदेश पाने की सहमति दी है या नहीं।

  3. हर उत्तर की अपनी स्थिति होती है।

    Bird अनुरोध की गई हर प्रॉपर्टी को ok, unavailable या inconclusive के रूप में रिपोर्ट करता है, और केवल ok में ही मान होता है।

  4. Unavailable और unreachable अलग-अलग उत्तर हैं।

    पहले का अर्थ है कि कोई भी आपको उत्तर नहीं दे सका। दूसरे का अर्थ है कि नेटवर्क ने आपको बताया कि नंबर अभी ट्रैफ़िक प्राप्त नहीं कर सकता।

व्यवहार में लाएँ।

इस विषय के लिए दस्तावेज़, गाइड और उदाहरणों के साथ आगे बढ़ें।

इम्प्लीमेंटेशन ब्रीफ़ पाएँ

उसी नेटवर्क पर बनाएँ।

एक टेस्ट API key आपको तुरंत मिल जाती है। भुगतान विधि जोड़ने और सेंडर सत्यापित करने पर प्रोडक्शन अनलॉक होता है।

आपका अगला आइडिया। जुड़ने के लिए तैयार।