पासपॉइंट (हॉटस्पॉट 2.0)

पासपॉइंट एक वाई-फ़ाई एलायंस (डब्ल्यूएफ़ए) प्रोटोकॉल है. इसकी मदद से, मोबाइल डिवाइस इंटरनेट का ऐक्सेस देने वाले वाई-फ़ाई हॉटस्पॉट का पता लगाकर, उन्हें पुष्टि कर सकते हैं.

डिवाइस से जुड़ी सहायता

पासपॉइंट की सुविधा इस्तेमाल करने के लिए, डिवाइस बनाने वाली कंपनियों को अनुपूरक इंटरफ़ेस को लागू करना होगा. Android 13 और उसके बाद के वर्शन में, HAL डेफ़िनिशन के लिए इंटरफ़ेस में AIDL का इस्तेमाल किया जाता है. Android 13 से पहले की रिलीज़ के लिए, इंटरफ़ेस और वेंडर पार्टिशन में HIDL का इस्तेमाल किया जाता है. HIDL फ़ाइलें hardware/interfaces/supplicant/1.x में हैं और AIDL फ़ाइलें hardware/interfaces/supplicant/aidl में हैं. यह सप्लिकंट, 802.11u स्टैंडर्ड, खास तौर पर, नेटवर्क डिस्कवरी और जेनरिक ऐडवर्टाइज़मेंट सर्विस (जीएएस) और ऐक्सेस नेटवर्क क्वेरी प्रोटोकॉल (एएनक्यूपी) जैसी चुनने से जुड़ी सुविधाओं के लिए सहायता उपलब्ध कराता है.

लागू करने का तरीका

Android 11 या इसके बाद वाला वर्शन होना चाहिए

Android 11 या उसके बाद के वर्शन वाले डिवाइसों पर पासपॉइंट की सुविधा देने के लिए, डिवाइस बनाने वाली कंपनियों को 802.11u के लिए फ़र्मवेयर की सुविधा देनी होगी. एओएसपी में पासपॉइंट से जुड़ी अन्य सभी ज़रूरी शर्तें शामिल हैं.

Android 10 या इससे पहले के वर्शन के लिए

Android 10 या इससे पहले के वर्शन वाले डिवाइसों के लिए, डिवाइस बनाने वाली कंपनियों को फ़्रेमवर्क और एचएएल/फ़र्मवेयर, दोनों से जुड़ी सहायता देनी होगी:

  • फ़्रेमवर्क: पासपॉइंट चालू करें (फ़ीचर फ़्लैग ज़रूरी है)
  • फ़र्मवेयर: 802.11u के लिए सहायता

पासपॉइंट की सुविधा इस्तेमाल करने के लिए, वाई-फ़ाई एचएएल लागू करें और पासपॉइंट के लिए फ़ीचर फ़्लैग को चालू करें. device/<oem>/<device> में मौजूद device.mk में, पासपॉइंट की सुविधा के साथ काम करने के लिए, PRODUCT_COPY_FILES एनवायरमेंट वैरिएबल में बदलाव करें:

PRODUCT_COPY_FILES +=
frameworks/native/data/etc/android.hardware.wifi.passpoint.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.passpoint.xml

एओएसपी में पासपॉइंट से जुड़ी अन्य सभी ज़रूरी शर्तें शामिल हैं.

पुष्टि करें

पासपॉइंट की सुविधा लागू करने की पुष्टि करने के लिए, Android Comms Test Suite (ACTS) में दिए गए यूनिट टेस्ट और इंटिग्रेशन टेस्ट के सेट का इस्तेमाल करें.

यूनिट टेस्ट

यहां दिए गए पासपॉइंट पैकेज की यूनिट की जांच करें.

सर्विस टेस्ट:

atest com.android.server.wifi.hotspot2

मैनेजर टेस्ट:

atest android.net.wifi.hotspot2

इंटिग्रेशन की जांच (एसीटीएस)

tools/test/connectivity/acts_tests/tests/google/wifi/WifiPasspointTest.py में मौजूद ACTS पासपॉइंट टेस्ट सुइट, फ़ंक्शनल टेस्ट का एक सेट लागू करता है.

पासपॉइंट R1 का प्रॉविज़निंग

Android, Android 6.0 और इसके बाद के वर्शन के साथ काम करता है. इससे पासपॉइंट R1 (रिलीज़ 1) के क्रेडेंशियल का प्रावधान किया जा सकता है. खास फ़ाइल को वेब पर डाउनलोड करके, पासपॉइंट R1 के क्रेडेंशियल को डाउनलोड किया जा सकता है. इसमें प्रोफ़ाइल और क्रेडेंशियल की जानकारी शामिल होती है. क्लाइंट, वाई-फ़ाई की जानकारी के लिए एक खास इंस्टॉलर अपने-आप लॉन्च करता है. साथ ही, उपयोगकर्ता को कॉन्टेंट स्वीकार या अस्वीकार करने से पहले, जानकारी के कुछ हिस्से देखने की अनुमति देता है.

फ़ाइल में मौजूद प्रोफ़ाइल की जानकारी का इस्तेमाल, पासपॉइंट की सुविधा वाले ऐक्सेस पॉइंट से हासिल किए गए डेटा से मैच करने के लिए किया जाता है. साथ ही, मैच होने वाले किसी भी नेटवर्क के लिए, क्रेडेंशियल अपने-आप लागू हो जाते हैं.

Android के लिए, रेफ़रंस को लागू करने की प्रोसेस, EAN-टीटीएलएस, ईएपी-टीएलएस, ईएपी-सिम, ईएपी-अके,, और ईएपी-अकेए' पर काम करती है.

डाउनलोड करने का तरीका

पासपॉइंट कॉन्फ़िगरेशन फ़ाइल को वेब सर्वर पर होस्ट किया जाना चाहिए और उसे TLS (एचटीटीपीएस) से सुरक्षित किया जाना चाहिए. ऐसा इसलिए, क्योंकि इसमें साफ़ टेक्स्ट पासवर्ड या निजी पासकोड का डेटा हो सकता है. कॉन्टेंट, रैप किए गए एक से ज़्यादा हिस्सों वाले MIME टेक्स्ट से बना होता है. इसे UTF-8 में दिखाया जाता है. साथ ही, इसे आरएफ़सी-2045 के सेक्शन 6.8 के मुताबिक, base64 एन्कोडिंग में एन्कोड किया जाता है.

क्लाइंट, डिवाइस पर वाई-फ़ाई इंस्टॉलर को अपने-आप लॉन्च करने के लिए, इन एचटीटीपी हेडर फ़ील्ड का इस्तेमाल करता है:

  • Content-Type को application/x-wifi-config पर सेट किया जाना चाहिए.
  • Content-Transfer-Encoding को base64 पर सेट किया जाना चाहिए.
  • Content-Disposition सेट नहीं होना चाहिए.

फ़ाइल को वापस पाने के लिए इस्तेमाल किया गया एचटीटीपी तरीका, GET होना चाहिए. जब भी ब्राउज़र से किसी एचटीटीपी GET को इन MIME हेडर के साथ रिस्पॉन्स मिलता है, तो इंस्टॉलेशन ऐप्लिकेशन शुरू हो जाता है. डाउनलोड को, बटन जैसे एचटीएमएल एलिमेंट पर टैप करने से ट्रिगर होना चाहिए (डाउनलोड करने वाले यूआरएल पर अपने-आप रीडायरेक्ट करने की सुविधा काम नहीं करती). यह व्यवहार खास तौर पर Google Chrome के लिए होता है. हो सकता है कि दूसरे वेब ब्राउज़र इस तरह की सुविधाएं दें और नहीं भी.

फ़ाइल कंपोज़िशन

Base64 से कोड में बदले गए कॉन्टेंट में, MIME एक से ज़्यादा हिस्सों वाला ऐसा कॉन्टेंट होना चाहिए जिसमें multipart/mixed का Content-Type हो. अलग-अलग हिस्सों में कई हिस्सों में शामिल कॉन्टेंट के अलग-अलग हिस्से होते हैं.

हिस्सा कॉन्टेंट का टाइप (कम कोट) ज़रूरी है Description
प्रोफ़ाइल application/x-passpoint-profile हमेशा OMA-DM SyncML फ़ॉर्मैट वाला पेलोड, जिसमें पासपॉइंट R1 PerProviderSubscription और HomeSP और Credential के लिए फ़ॉर्मैट किया गया एमओ है.
ट्रस्ट सर्टिफ़िकेट application/x-x509-ca-cert ईएपी-टीएलएस और ईएपी-टीटीएल के लिए ज़रूरी है X.509v3 base64-एन्कोडेड सर्टिफ़िकेट पेलोड.
ईएपी-टीएलएस कुंजी application/x-pkcs12 ईएपी-टीएलएस के लिए ज़रूरी है base64 कोड में बदली गई PKCS #12 ASN.1 संरचना, जिसमें क्लाइंट सर्टिफ़िकेट की चेन है. इसमें कम से कम क्लाइंट सर्टिफ़िकेट और उससे जुड़ी निजी कुंजी है. PKCS 12 कंटेनर के साथ-साथ निजी कुंजी और सर्टिफ़िकेट बिना पासवर्ड वाले साफ़ टेक्स्ट में होने चाहिए.

प्रोफ़ाइल सेक्शन को base64-एन्कोडेड, UTF-8-एन्कोडेड एक्सएमएल टेक्स्ट के रूप में ट्रांसफ़र किया जाना चाहिए जो पासपॉइंट R2 तकनीकी स्पेसिफ़िकेशन वर्शन 1.0.0 के सेक्शन 9.1 में HomeSP और Credential सबट्री के हिस्सों के बारे में बताता है.

टॉप-लेवल नोड MgmtTree होना चाहिए और तुरंत वाले सबनोड PerProviderSubscription होने चाहिए. उदाहरण के लिए, एक एक्सएमएल फ़ाइल उदाहरण प्रोफ़ाइल OMA-DM एक्सएमएल में दिखती है.

इन सबट्री नोड का इस्तेमाल HomeSP में किया जाता है:

  • FriendlyName: सेट होना चाहिए; डिसप्ले टेक्स्ट के तौर पर इस्तेमाल किया जा सकता है
  • FQDN: ज़रूरी है
  • RoamingConsortiumOI

इन सबट्री नोड का इस्तेमाल Credential में किया जाता है:

  • Realm: स्ट्रिंग खाली नहीं होनी चाहिए
  • UsernamePassword: नीचे दिए गए नोड सेट वाले EAN-TTLS के लिए ज़रूरी है:

    • Username: ऐसी स्ट्रिंग जिसमें उपयोगकर्ता नाम शामिल है
    • Password: Base64 कोड में बदली गई स्ट्रिंग (cGFzc3dvcmQ= पर सेट की गई है. यह "password" के लिए base64 कोड में बदली गई स्ट्रिंग है, जिसका उदाहरण नीचे दिया गया है)
    • EAPMethod/EAPType: 21 पर सेट होना चाहिए
    • EAPMethod/InnerMethod: PAP, CHAP, MS-CHAP या MS-CHAP-V2 में से किसी एक पर सेट होना चाहिए
  • DigitalCertificate: EAN-TLS के लिए ज़रूरी है. नीचे दिए गए नोड सेट होने चाहिए:

    • CertificateType, x509v3 पर सेट है
    • ईएपी-टीएलएस कुंजी MIME सेक्शन में CertSHA256Fingerprint को क्लाइंट सर्टिफ़िकेट के सही SHA-256 डाइजेस्ट पर सेट किया गया है
  • SIM: ईएपी-सिम, ईएपी-अकेए, और ईएपी-अकेए के लिए ज़रूरी'. EAPType फ़ील्ड को सही ईएपी टाइप पर सेट किया जाना चाहिए. साथ ही, IMSI को प्रावधान करते समय डिवाइस में इंस्टॉल किए गए किसी एक सिम कार्ड के IMSI से मेल खाना चाहिए. IMSI स्ट्रिंग में या तो पूरी तरह से मिलान करने के लिए पूरी तरह से दशमलव अंक हो सकते हैं या पांच या छह दशमलव अंक हो सकते हैं. इसके बाद तारे का निशान (*) हो सकता है कि सिर्फ़ एमसीसी/एमएनसी से मेल खाने वाले IMSI में फ़र्क़ हो. उदाहरण के लिए, IMSI स्ट्रिंग 123456* ऐसे किसी भी सिम कार्ड से मैच करती है जिसका एमसीसी 123 और एमएनसी 456 के तौर पर है.

Android 11 में ऐसी सुविधाएं मिलती हैं जिनकी मदद से, Passpoint R1 के प्रावधान को ज़्यादा आसान बनाया जा सकता है.

पुष्टि करने, अनुमति देने, और अकाउंटिंग (AAA) डोमेन नेम को अलग करने का तरीका

जिन पासपॉइंट नेटवर्क के एडमिन को ऐक्सेस नेटवर्क क्वेरी प्रोटोकॉल (एएनक्यूपी) की मदद से नेटवर्क की ओर से विज्ञापन दिए गए, पूरी तरह क्वालिफ़ाइड डोमेन नेम (एफ़क्यूडीएन) से अलग एएए डोमेन नेम की ज़रूरत होती है वे Extension सबट्री में नए नोड में सेमीकॉलन-डीलिमिटेड सूची बना सकते हैं. यह एक वैकल्पिक नोड है और Android के 10 या उससे पहले के वर्शन वाले डिवाइस इस नोड को अनदेखा करते हैं.

  • Android: Android एक्सटेंशन सबट्री

    • AAAServerTrustedNames: नीचे दिए गए नोड सेट वाले AAA सर्वर के भरोसेमंद नामों के लिए ज़रूरी है:

      • FQDN: ऐसी स्ट्रिंग जिसमें AAA सर्वर के भरोसेमंद नाम होते हैं. भरोसेमंद नामों को अलग करने के लिए, सेमीकोलन का इस्तेमाल करें. उदाहरण के लिए, example.org;example.com.
खुद हस्ताक्षर किए हुए निजी रूट CA सर्टिफ़िकेट
पासपॉइंट नेटवर्क के एडमिन, जो अपने सर्टिफ़िकेट को अंदरूनी तौर पर मैनेज करते हैं वे एएए की पुष्टि करने के लिए, खुद ही हस्ताक्षर किए गए निजी सीए की मदद से प्रोफ़ाइलों का प्रावधान कर सकते हैं.
रूट सीए सर्टिफ़िकेट के बिना प्रोफ़ाइलें इंस्टॉल करने की अनुमति दें
प्रोफ़ाइल से जुड़े रूट सीए सर्टिफ़िकेट का इस्तेमाल, एएए सर्वर की पुष्टि करने के लिए किया जाता है. पासपॉइंट नेटवर्क के ऐसे एडमिन जो एएए सर्वर की पुष्टि करने के लिए, सार्वजनिक तौर पर भरोसेमंद रूट सीए पर भरोसा करना चाहते हैं, वे रूट सीए सर्टिफ़िकेट के बिना प्रोफ़ाइलों का प्रावधान कर सकते हैं. इस मामले में सिस्टम, एएए सर्वर सर्टिफ़िकेट की पुष्टि, ट्रस्ट स्टोर में इंस्टॉल किए गए सार्वजनिक रूट सीए सर्टिफ़िकेट के साथ करता है.

पासपॉइंट R2 का प्रॉविज़निंग

Android 10 पर, Passpoint R2 की सुविधाएं इस्तेमाल की जा सकती हैं. पासपॉइंट R2 में, ऑनलाइन साइन अप (ओएसयू) को लागू किया जाता है. यह नए पासपॉइंट प्रोफ़ाइलें बनाने का एक स्टैंडर्ड तरीका है. Android 10 और उसके बाद के वर्शन, ओपन ओएसयू ईएसएस पर एसओएपी-एक्सएमएल प्रोटोकॉल का इस्तेमाल करके, ईएपी-टीटीएलएस प्रोफ़ाइलों के प्रावधान के साथ काम करते हैं.

साथ काम करने वाले पासपॉइंट R2 की सुविधाओं के लिए, सिर्फ़ एओएसपी रेफ़रंस कोड की ज़रूरत होती है (किसी अतिरिक्त ड्राइवर या फ़र्मवेयर की सुविधा की ज़रूरत नहीं होती). एओएसपी रेफ़रंस कोड में, सेटिंग ऐप्लिकेशन में पासपॉइंट R2 यूज़र इंटरफ़ेस (यूआई) को डिफ़ॉल्ट रूप से लागू करने की सुविधा भी शामिल है.

जब Android को किसी पासपॉइंट R2 ऐक्सेस पॉइंट का पता चलता है, तो यह Android फ़्रेमवर्क:

  1. AP की ओर से वाई-फ़ाई पिकर में सेवा देने वाली उन कंपनियों की सूची दिखाता है जिनका विज्ञापन दिखाया जाता है. इसके लिए, SSID को भी दिखाया जा सकता है.
  2. इसमें उपयोगकर्ता से कहा जाता है कि वह पासपॉइंट प्रोफ़ाइल सेट अप करने के लिए, सेवा देने वाली किसी कंपनी पर टैप करे.
  3. यह उपयोगकर्ता को पासपॉइंट प्रोफ़ाइल के सेटअप फ़्लो की जानकारी देता है.
  4. यह प्रक्रिया पूरी होने पर, पासपॉइंट की प्रोफ़ाइल इंस्टॉल होती है.
  5. प्रावधान किए गए नए पासपॉइंट प्रोफ़ाइल का इस्तेमाल करके, पासपॉइंट नेटवर्क से जुड़ा होता है.

पासपॉइंट R3 की सुविधाएं

Android 12 में ये पासपॉइंट R3 की सुविधाएं मिलती हैं. इनसे उपयोगकर्ता अनुभव को बेहतर बनाने और नेटवर्क को स्थानीय कानूनों का पालन करने में मदद मिलती है:

नियम और शर्तें

नेटवर्क का ऐक्सेस देने के लिए कुछ जगहों और रास्तों पर, नियमों और शर्तों को स्वीकार करना कानूनी तौर पर ज़रूरी है. इस सुविधा की मदद से, नेटवर्क डिप्लॉयमेंट को ओपन नेटवर्क का इस्तेमाल करने वाले असुरक्षित कैप्टिव पोर्टल की जगह एक सुरक्षित पासपॉइंट नेटवर्क से बदला जा सकता है. जब नियम और शर्तों को स्वीकार करना ज़रूरी होता है, तब उपयोगकर्ता को एक सूचना दिखाई जाती है.

नियमों और शर्तों का यूआरएल, एचटीटीपीएस का इस्तेमाल करने वाली किसी सुरक्षित वेबसाइट पर ले जाना चाहिए. अगर यूआरएल किसी असुरक्षित वेबसाइट पर ले जाता है, तो फ़्रेमवर्क तुरंत डिसकनेक्ट हो जाता है और नेटवर्क को ब्लॉक कर देता है.

इवेंट की जगह की जानकारी का यूआरएल

इसकी मदद से, नेटवर्क ऑपरेटर और जगहों को उपयोगकर्ता को ज़्यादा जानकारी देने की अनुमति मिलती है. जैसे, जगह के मैप, डायरेक्ट्री, प्रमोशन, और कूपन. नेटवर्क कनेक्ट होने पर, उपयोगकर्ता को एक सूचना दिखती है.

यह ज़रूरी है कि इवेंट की जगह की जानकारी का यूआरएल, एचटीटीपीएस का इस्तेमाल करके किसी सुरक्षित वेबसाइट पर ले जाए. अगर यूआरएल किसी असुरक्षित वेबसाइट पर ले जाता है, तो फ़्रेमवर्क यूआरएल को अनदेखा कर देता है और कोई सूचना नहीं दिखाता है.

पासपॉइंट से जुड़ी अन्य सुविधाएं

Android 11 में यहां दिए गए पासपॉइंट की सुविधाएं मिलती हैं. इनसे उपयोगकर्ता अनुभव, बैटरी के इस्तेमाल, और डिप्लॉयमेंट की सुविधा को बेहतर बनाने में मदद मिलती है.

खत्म होने की तारीख के हिसाब से नीति उल्लंघन ठीक करने का तरीका और सूचना
प्रोफ़ाइलों पर समयसीमा खत्म होने की तारीख लागू करने से, फ़्रेमवर्क को ऐसे क्रेडेंशियल वाले पॉइंट के लिए अपने-आप कनेक्ट होने से रोका जा सकता है जिनकी समयसीमा खत्म हो चुकी है. ऐसा हो सकता है कि क्रेडेंशियल कभी काम न करें. इससे एयरटाइम का इस्तेमाल नहीं होता है और बैटरी और बैकएंड बैंडविथ कम हो जाता है. जब उपयोगकर्ता की प्रोफ़ाइल से मेल खाने वाला कोई नेटवर्क रेंज में होता है और प्रोफ़ाइल की समयसीमा खत्म हो जाती है, तो उसे यह फ़्रेमवर्क उपयोगकर्ता को सूचना देता है.
एक जैसी एफ़क्यूडीएन वाली कई प्रोफ़ाइलें
मोबाइल और इंटरनेट सेवा देने वाली ऐसी कंपनियां जो पासपॉइंट नेटवर्क डिप्लॉय करती हैं और कई पब्लिक लैंड मोबाइल नेटवर्क (पीएलएमएन) आईडी का इस्तेमाल करती हैं वे एक ही एफ़क्यूडीएन के साथ कई पासपॉइंट प्रोफ़ाइल जोड़ सकती हैं. हर पीएलएमएन आईडी के लिए, एक पासपॉइंट प्रोफ़ाइल का प्रावधान किया जा सकता है. यह आईडी, इंस्टॉल किए गए सिम कार्ड से अपने-आप मैच होता है और इसे नेटवर्क से कनेक्ट करने के लिए इस्तेमाल किया जाता है.

Android 12 में ये पासपॉइंट की सुविधाएं मिलती हैं. इनसे उपयोगकर्ता अनुभव, बैटरी के इस्तेमाल, और डिप्लॉयमेंट को ज़्यादा आसान बनाने में मदद मिलती है:

डेकोरेट की गई पहचान का प्रीफ़िक्स
सर्वत्रिक सजावट वाले नेटवर्क की पुष्टि करते समय, सजाए गए आइडेंटिटी प्रीफ़िक्स की मदद से नेटवर्क ऑपरेटर, नेटवर्क ऐक्सेस आइडेंटिफ़ायर (एनएआई) को अपडेट कर सकते हैं. इससे एएए नेटवर्क में एक से ज़्यादा प्रॉक्सी के ज़रिए, साफ़ तौर पर रूटिंग की जा सकती है (आरएफ़सी 7542 देखें). Android 12, इस सुविधा को PPS-MO एक्सटेंशन के लिए WBA की शर्तों के मुताबिक लागू करता है.
आने वाले समय में, पुष्टि के बाद की सेवा को मैनेज करना
इसकी मदद से, नेटवर्क ऑपरेटर किसी ऐसे डिवाइस को सिग्नल भेज सकते हैं जो एक तय अवधि तक नेटवर्क की पुष्टि करने के लिए इस्तेमाल किए जाने वाले क्रेडेंशियल के लिए उपलब्ध नहीं है. यह जानकारी, टाइम आउट को खत्म करने के समय के हिसाब से दी जाती है. यह सिग्नल मिलने के बाद, डिवाइस एक ही क्रेडेंशियल के साथ नेटवर्क से फिर से कनेक्ट करने की कोशिश तब तक नहीं करेंगे, जब तक टाइम आउट की समयसीमा खत्म नहीं हो जाती. इसके उलट, ऐसा हो सकता है कि इस सुविधा का इस्तेमाल नहीं करने वाले डिवाइस, नेटवर्क से बार-बार कनेक्ट करने की कोशिश करें.

OMA-DM PerProviderSubscription-MO एक्सएमएल प्रोफ़ाइल के उदाहरण

उपयोगकर्ता नाम/पासवर्ड के क्रेडेंशियल वाली प्रोफ़ाइल (ईएपी-टीटीएलएस)

नीचे दिए गए उदाहरण में, ऐसे नेटवर्क की प्रोफ़ाइल दिखाई गई है जिसमें:

  • नेटवर्क के अनुकूल नाम Example Network पर सेट किया गया
  • FQDN को hotspot.example.net पर सेट किया गया
  • रोमिंग कंसोर्शियम ओआई (रोमिंग के लिए)
  • उपयोगकर्ता नाम user वाले क्रेडेंशियल, Base64 की मदद से कोड password, और रेल्म को example.net पर सेट किया गया है
  • ईएपी तरीका 21 (EAN-टीटीएलएस) पर सेट किया गया
  • फ़ेज़-2 के इनर मेथड को MS-CHAP-V2 पर सेट किया गया
  • वैकल्पिक AAA डोमेन नाम trusted.com और trusted.net पर सेट किए गए
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Example Network</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>hotspot.example.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>112233,445566</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>example.net</Value>
        </Node>
        <Node>
          <NodeName>UsernamePassword</NodeName>
          <Node>
            <NodeName>Username</NodeName>
            <Value>user</Value>
          </Node>
          <Node>
            <NodeName>Password</NodeName>
            <Value>cGFzc3dvcmQ=</Value>
          </Node>
          <Node>
            <NodeName>EAPMethod</NodeName>
            <Node>
              <NodeName>EAPType</NodeName>
              <Value>21</Value>
            </Node>
            <Node>
              <NodeName>InnerMethod</NodeName>
              <Value>MS-CHAP-V2</Value>
            </Node>
          </Node>
        </Node>
      </Node>
      <Node>
        <NodeName>Extension</NodeName>
        <Node>
            <NodeName>Android</NodeName>
            <Node>
                <NodeName>AAAServerTrustedNames</NodeName>
                <Node>
                    <NodeName>FQDN</NodeName>
                    <Value>trusted.com;trusted.net</Value>
                </Node>
            </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

डिजिटल सर्टिफ़िकेट क्रेडेंशियल (ईएपी-TLS) वाली प्रोफ़ाइल

नीचे दिए गए उदाहरण में, ऐसे नेटवर्क की प्रोफ़ाइल दिखाई गई है जिसमें:

  • नेटवर्क के अनुकूल नाम GlobalRoaming पर सेट किया गया
  • FQDN को globalroaming.net पर सेट किया गया
  • रोमिंग कंसोर्टियम ओआई (रोमिंग के लिए)
  • रेल्म को users.globalroaming.net पर सेट किया गया
  • डिजिटल सर्टिफ़िकेट वाला क्रेडेंशियल, जिसमें तय किया गया फ़िंगरप्रिंट मौजूद हो
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>GlobalRoaming</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>RoamingConsortiumOI</NodeName>
          <Value>FFEEDDCC0,FFEEDDCC1,009999,008888</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>users.globalroaming.net</Value>
        </Node>
        <Node>
          <NodeName>DigitalCertificate</NodeName>
          <Node>
            <NodeName>CertificateType</NodeName>
            <Value>x509v3</Value>
          </Node>
          <Node>
            <NodeName>CertSHA256Fingerprint</NodeName>
            <Value>0ef08a3d2118700474ca51fa25dc5e6d3d63d779aaad8238b608a853761da533</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

सिम क्रेडेंशियल वाली प्रोफ़ाइल (ईएपी-एकेए)

नीचे दिए गए उदाहरण में, ऐसे नेटवर्क की प्रोफ़ाइल दिखाई गई है जिसमें:

  • नेटवर्क के अनुकूल नाम Purple Passpoint पर सेट किया गया
  • FQDN को wlan.mnc888.mcc999.3gppnetwork.org पर सेट किया गया
  • 999888 के PLMN आईडी वाला सिम क्रेडेंशियल
  • ईएपी का तरीका 23 (EAN-AKA) पर सेट किया गया
<MgmtTree xmlns="syncml:dmddf1.2">
  <VerDTD>1.2</VerDTD>
  <Node>
    <NodeName>PerProviderSubscription</NodeName>
    <RTProperties>
      <Type>
        <DDFName>urn:wfa:mo:hotspot2dot0-perprovidersubscription:1.0</DDFName>
      </Type>
    </RTProperties>
    <Node>
      <NodeName>i001</NodeName>
      <Node>
        <NodeName>HomeSP</NodeName>
        <Node>
          <NodeName>FriendlyName</NodeName>
          <Value>Purple Passpoint</Value>
        </Node>
        <Node>
          <NodeName>FQDN</NodeName>
          <Value>purplewifi.com</Value>
        </Node>
      </Node>
      <Node>
        <NodeName>Credential</NodeName>
        <Node>
          <NodeName>Realm</NodeName>
          <Value>wlan.mnc888.mcc999.3gppnetwork.org</Value>
        </Node>
        <Node>
          <NodeName>SIM</NodeName>
          <Node>
            <NodeName>IMSI</NodeName>
            <Value>999888*</Value>
          </Node>
          <Node>
            <NodeName>EAPType</NodeName>
            <Value>23</Value>
          </Node>
        </Node>
      </Node>
    </Node>
  </Node>
</MgmtTree>

आधिकारिक सूचना

पासपॉइंट R1 ईएपी-सिम, ईएपी-अकेए या ईएपी-अका' प्रोफ़ाइल वाले Android 8.x या Android 9 वर्शन वाले डिवाइस, पासपॉइंट नेटवर्क से अपने-आप कनेक्ट नहीं होंगे. इस समस्या से वाई-फ़ाई का लोड कम हो जाता है, जिससे उपयोगकर्ताओं, मोबाइल और इंटरनेट सेवा देने वाली कंपनियों, और सेवाओं पर असर पड़ता है.

सेगमेंट असर असर का असर
मोबाइल और इंटरनेट सेवा देने वाली कंपनियां और पासपॉइंट की सेवा देने वाली कंपनियां मोबाइल नेटवर्क पर लोड ज़्यादा. पासपॉइंट R1 का इस्तेमाल करने वाली, मोबाइल और इंटरनेट सेवा देने वाली कोई भी कंपनी.
उपयोगकर्ता मोबाइल और इंटरनेट सेवा देने वाली कंपनी के वाई-फ़ाई के ऐक्सेस पॉइंट (एपी) से अपने-आप कनेक्ट होने का मौका खो गया. इससे डेटा खर्च बढ़ जाएगा. अगर किसी उपयोगकर्ता के पास ऐसा डिवाइस है जो पासपॉइंट R1 के साथ काम करने वाली मोबाइल और इंटरनेट सेवा देने वाली कंपनी के नेटवर्क पर काम करता है.

गड़बड़ी की वजह

पासपॉइंट एक ऐसा तरीका बताता है जिसका इस्तेमाल, सेवा देने वाली किसी कंपनी (एएनक्यूपी) को डिवाइस पर इंस्टॉल की गई प्रोफ़ाइल से करने के लिए किया जाता है. ईएपी-सिम, ईएपी-एकेए, और ईएपी-आकेए' के लिए नीचे दिए गए मैचिंग नियम, ईएपी-सिम/अके/अकेए' के अपडेट नहीं होने पर फ़ोकस करने वाले नियमों के कुछ सेट हैं:

If the FQDN (Fully Qualified Domain Name) matches
    then the service is a Home Service Provider.
Else: If the PLMN ID (3GPP Network) matches
    then the service is a Roaming Service Provider.

दूसरे मानदंड को Android 8.0 में बदला गया था:

Else: If the PLMN ID (3GPP Network) matches AND the NAI Realm matches
    then the service is a Roaming Service Provider.

इस बदलाव के बाद, सिस्टम को पहले से काम कर रही सेवा देने वाली कंपनियों से कोई मैच नहीं मिला. इस वजह से, पासपॉइंट डिवाइस अपने-आप कनेक्ट नहीं हो सके.

समाधान

मैच करने की शर्तों में हुए बदलाव से जुड़ी समस्या हल करने के लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनियों और सेवा देने वाली कंपनियों को पासपॉइंट एपी की ओर से पब्लिश की गई जानकारी में, नेटवर्क ऐक्सेस आइडेंटिफ़ायर (एनएआई) वाला रेल्म जोड़ना होगा.

हमारा सुझाव है कि नेटवर्क की सेवा देने वाली कंपनियां, नेटवर्क-साइड से जुड़ी कोई सुविधा लागू करें, ताकि डिप्लॉयमेंट में कम से कम समय लगे. डिवाइस का समाधान इस बात पर निर्भर करता है कि OEM, एओएसपी से चेंजलिस्ट (CL) चुनता है और फिर फ़ील्ड में डिवाइसों को अपडेट करता है.

मोबाइल और इंटरनेट सेवा देने वाली कंपनियों और पासपॉइंट की सेवा देने वाली कंपनियों के लिए, नेटवर्क से जुड़ी गड़बड़ी ठीक की गई

नेटवर्क-साइड समाधान के लिए, नेटवर्क को फिर से कॉन्फ़िगर करना ज़रूरी है, ताकि नीचे बताए गए तरीके से NAI रेल्म ANQP एलिमेंट जोड़ा जा सके. पासपॉइंट की खास बातों में NAI रेल्म ANQP एलिमेंट की ज़रूरत नहीं होती. हालांकि, इस प्रॉपर्टी को जोड़ने से पासपॉइंट की ज़रूरी शर्तों का पालन होता है. इसलिए, निर्देशों का पालन करने वाले क्लाइंट लागू किए गए तरीके में कोई गड़बड़ी नहीं होनी चाहिए.

  1. NAI रेल्म ANQP एलिमेंट जोड़ें.
  2. NAI रेल्म सबफ़ील्ड को इस तरह सेट करें कि वह डिवाइस पर इंस्टॉल की गई प्रोफ़ाइल के Realm से मेल खाए.
  3. हर ईएपी टाइप के आधार पर, यहां दी गई जानकारी सेट करें:

    • ईएपी-टीटीएलएस: EAPMethod(21) और काम करने वाले इनर ऑथ टाइप (PAP, CHAP, MS-CHAP या MS-CHAP-V2) सेट करें
    • ईएपी-टीएलएस: EAPMethod(13) सेट करें
    • ईएपी-सिम: EAPMethod(18) सेट करें
    • ईएपी-अका: EAPMethod(23) सेट करें
    • API-AKA': EAPMethod(50) सेट करें

OEM के लिए डिवाइस/AOSP तय करें

डिवाइस-साइड समाधान लागू करने के लिए, OEM को पैच CL aosp/718508 चुनना होगा. इस पैच को इन रिलीज़ पर लागू किया जा सकता है (Android 10 या इसके बाद वाले वर्शन पर लागू नहीं होता):

  • Android 9
  • Android 8.x

पैच चुनने के बाद, OEM को फ़ील्ड में डिवाइसों को अपडेट करना होगा.