Android 12 या इसके बाद के वर्शन पर काम करने वाले डिवाइसों के लिए, Android 5G नेटवर्क स्लाइसिंग की सुविधा देता है. इसमें नेटवर्क वर्चुअलाइज़ेशन का इस्तेमाल करके, नेटवर्क कनेक्शन को कई अलग-अलग वर्चुअल कनेक्शन में बांटा जाता है. इससे अलग-अलग तरह के ट्रैफ़िक को अलग-अलग मात्रा में संसाधन मिलते हैं. 5G नेटवर्क स्लाइसिंग की मदद से, नेटवर्क ऑपरेटर नेटवर्क के एक हिस्से को ग्राहकों के किसी खास सेगमेंट के लिए, कुछ खास सुविधाएं उपलब्ध कराने के लिए इस्तेमाल कर सकते हैं. Android 12 में, 5G एंटरप्राइज़ नेटवर्क स्लाइसिंग की ये सुविधाएं उपलब्ध हैं. नेटवर्क ऑपरेटर, अपने एंटरप्राइज़ क्लाइंट को ये सुविधाएं दे सकते हैं:
पूरी तरह से मैनेज किए जा रहे डिवाइसों के लिए, एंटरप्राइज़ डिवाइस स्लाइसिंग की सुविधा
जो कंपनियां अपने कर्मचारियों को पूरी तरह से मैनेज किए गए कंपनी डिवाइस उपलब्ध कराती हैं उनके लिए, नेटवर्क सेवा देने वाली कंपनियां एक या उससे ज़्यादा चालू एंटरप्राइज़ नेटवर्क स्लाइस उपलब्ध करा सकती हैं. इन स्लाइस पर, कंपनी के डिवाइसों से आने वाले ट्रैफ़िक को रूट किया जाता है. Android 12 से, Android, APN के ज़रिए स्लाइस सेट अप करने के बजाय, URSP नियमों के ज़रिए कैरियर को एंटरप्राइज़ स्लाइस उपलब्ध कराने की अनुमति देता है.
वर्क प्रोफ़ाइल वाले डिवाइसों के लिए, एंटरप्राइज़ कारोबार के ऐप्लिकेशन को स्लाइस करना
वर्क प्रोफ़ाइल का इस्तेमाल करने वाली कंपनियों के लिए, Android 12 की मदद से डिवाइस, वर्क प्रोफ़ाइल में मौजूद सभी ऐप्लिकेशन से मिले ट्रैफ़िक को एंटरप्राइज़ नेटवर्क स्लाइस पर भेज सकते हैं. एंटरप्राइज़, डिवाइस नीति कंट्रोलर (डीपीसी) के ज़रिए इस सुविधा को चालू कर सकते हैं.
वर्क प्रोफ़ाइल सलूशन, पुष्टि करने की प्रोसेस को अपने-आप पूरा करता है. साथ ही, ऐक्सेस कंट्रोल की सुविधा देता है. इससे कंपनियां यह पक्का कर पाती हैं कि वर्क प्रोफ़ाइल में मौजूद एंटरप्राइज़ ऐप्लिकेशन से आने वाला ट्रैफ़िक ही एंटरप्राइज़ नेटवर्क स्लाइस पर भेजा जाए. वर्क प्रोफ़ाइल में मौजूद ऐप्लिकेशन को, एंटरप्राइज़ नेटवर्क स्लाइस का अनुरोध करने के लिए साफ़ तौर पर बदलाव करने की ज़रूरत नहीं होती.
AOSP में 5G नेटवर्क स्लाइसिंग कैसे काम करती है
Android 12 में, 5G नेटवर्क स्लाइसिंग की सुविधा जोड़ी गई है. इसके लिए, AOSP में टेलीफ़ोनी कोडबेस और टेथरिंग मॉड्यूल में बदलाव किए गए हैं. इससे कनेक्टिविटी के मौजूदा एपीआई को शामिल किया जा सकेगा, जो नेटवर्क स्लाइसिंग के लिए ज़रूरी हैं.
Android टेलीफ़ोनी प्लैटफ़ॉर्म, एचएएल और टेलीफ़ोनी एपीआई उपलब्ध कराता है. इनकी मदद से, नेटवर्क के अनुरोधों के आधार पर स्लाइसिंग की जा सकती है. ये अनुरोध, कोर नेटवर्किंग कोड और मॉडम में मौजूद 5G स्लाइसिंग की सुविधाओं के ज़रिए किए जाते हैं. पहली इमेज में, 5G नेटवर्क स्लाइसिंग की सुविधा के कॉम्पोनेंट के बारे में बताया गया है.
पहली इमेज. AOSP में 5G नेटवर्क स्लाइसिंग आर्किटेक्चर.
टेलीफ़ोनी और कनेक्टिविटी प्लैटफ़ॉर्म इन सुविधाओं के साथ काम करता है:
- स्लाइस कैटगरी के लिए नेटवर्क अनुरोधों को ट्रैफ़िक डिस्क्रिप्टर में बदलना. इसके बाद, इन्हें मॉडेम को भेजा जाता है, ताकि यूआरएसपी ट्रैफ़िक मैचिंग और रूट चुनने की प्रोसेस पूरी की जा सके
- अगर एंटरप्राइज़ नेटवर्क स्लाइस उपलब्ध नहीं है, तो डिफ़ॉल्ट नेटवर्क पर वापस जाना
- वर्क प्रोफ़ाइल में मौजूद सभी ऐप्लिकेशन से आने वाले ट्रैफ़िक को, उससे जुड़े कनेक्शन पर रूट करना
एंटरप्राइज़ स्लाइसिंग की सुविधा
- डिवाइस पर वर्क प्रोफ़ाइल की मौजूदगी का पता लगाना
- संगठन के आईटी एडमिन की ओर से इस्तेमाल किए गए डीपीसी से मिली अनुमतियों या रास्तों की जानकारी की जांच करना
कोर नेटवर्किंग सेवा में, Android 12 में टेदरिंग मॉड्यूल के लिए ये बदलाव शामिल हैं:
- यह
android.net.*
की ज़्यादातर सार्वजनिक या सिस्टम एपीआई क्लास को Tethering मॉड्यूल में जोड़ता है टेथरिंग मॉड्यूल की सीमाओं को इन तक बढ़ाता है:
f/b/core/java/android/net/…
f/b/services/net/…
f/b/services/core/java/com/android/server/connectivity/…
f/b/services/core/java/com/android/server/ConnectivityService.java
f/b/services/core/java/com/android/server/TestNetworkService.java
वीपीएन कोड को टेदरिंग मॉड्यूल से बाहर ले जाता है
Android 12, इन सुविधाओं वाले कोड को टेदरिंग मॉड्यूल में ले जाता है:
- ऐप्लिकेशन से नेटवर्क कनेक्शन के अनुरोध पाना
- सिस्टम से अनुरोध पाना (उदाहरण के लिए, "इन ऐप्लिकेशन को एंटरप्राइज़ स्लाइस पर रखें"; यह सुविधा Android 12 में लॉन्च की गई थी)
- सिस्टम से टेलीफ़ोनी कोड को अनुरोध भेजना. यह कोड, HAL API और मॉडेम का इस्तेमाल करके नेटवर्क या स्लाइस सेट अप करने की कोशिश करता है
- netd को यह जानकारी देना कि हर ऐप्लिकेशन के हिसाब से ट्रैफ़िक को कैसे रूट किया जाए (Android 12 में यह सुविधा जोड़ी गई है)
- ऐप्लिकेशन को यह जानकारी देना कि उनके नेटवर्क ट्रैफ़िक के साथ क्या हो रहा है. इसके लिए,
ConnectivityManager
एपीआई का इस्तेमाल किया जाता है. जैसे,NetworkCallback
,getActiveNetwork
,getNetworkCapabilities
.
लागू करना
किसी डिवाइस पर 5G स्लाइसिंग की सुविधा काम करने के लिए, डिवाइस में ऐसा मॉडम होना चाहिए जो IRadio 1.6 HAL के साथ काम करता हो. इसमें setupDataCall_1_6
API होता है. यह एपीआई, डेटा कनेक्शन सेट अप करता है. साथ ही, इसमें 5G स्लाइसिंग के लिए ये पैरामीटर शामिल होते हैं:
trafficDescriptor
: इससे मॉडम को भेजे गए ट्रैफ़िक डिस्क्रिप्टर के बारे में पता चलता हैsliceInfo
: EPDG से 5G पर हैंडओवर करने के मामले में, इस्तेमाल किए जाने वाले नेटवर्क स्लाइस की जानकारी देता हैmatchAllRuleAllowed
: इससे यह तय किया जाता है कि सभी से मैच करने वाले डिफ़ॉल्ट यूआरएसपी नियम का इस्तेमाल किया जा सकता है या नहीं. टेलीफ़ोनी, इसे डिफ़ॉल्ट नेटवर्क के लिए सही पर सेट करती है, लेकिन स्लाइस के लिए नहीं. 'सभी से मिलान करें' नियम, डिफ़ॉल्ट नेटवर्क पर लागू होता है. जब कोई ऐप्लिकेशन किसी ऐसी स्लाइस का अनुरोध करता है जो उपलब्ध नहीं है, तो उस स्लाइस को 'उपलब्ध नहीं है' के तौर पर रिपोर्ट किया जाता है. एंटरप्राइज़ ऐप्लिकेशन के लिए, अगर एंटरप्राइज़ नेटवर्क उपलब्ध नहीं है, तो टेलीफ़ोनी फ़्रेमवर्क डिफ़ॉल्ट नेटवर्क पर वापस आ सकता है.
मॉडेम को getSlicingConfig
एपीआई लागू करना होगा. हालांकि, अगर getHalDeviceCapabilities
एपीआई के ज़रिए यह बताया जाता है कि मॉडेम में यह एपीआई काम नहीं करता, तो इसे लागू करने की ज़रूरत नहीं है.
एंटरप्राइज़ के लिए ज़रूरी शर्तें
यहां Android Enterprise की मदद से डिप्लॉय किए गए डिवाइसों पर, 5G नेटवर्क स्लाइसिंग का इस्तेमाल करने के लिए ज़रूरी शर्तें बताई गई हैं.
- पक्का करें कि पूरी तरह से मैनेज किए गए डिवाइस या कर्मचारी के डिवाइस, 5G SA की सुविधा के साथ काम करते हों. साथ ही, उनमें ऐसे मॉडेम हों जो
setupDataCall_1_6
API के साथ काम करते हों. - स्लाइस सेट अप करने और उसकी परफ़ॉर्मेंस या एसएलए की विशेषताओं के लिए, कैरियर पार्टनर के साथ काम करें.
वर्क प्रोफ़ाइल के साथ सेट अप किए गए डिवाइसों पर 5G स्लाइसिंग की सुविधा चालू करना
वर्क प्रोफ़ाइल के साथ सेट अप किए गए डिवाइसों के लिए, AOSP में 5G नेटवर्क स्लाइसिंग की सुविधा डिफ़ॉल्ट रूप से बंद होती है. नेटवर्क स्लाइसिंग की सुविधा चालू करने के लिए, एंटरप्राइज़ के आईटी एडमिन, EMM DPC के ज़रिए हर कर्मचारी के हिसाब से, काम की प्रोफ़ाइल वाले ऐप्लिकेशन के ट्रैफ़िक को एंटरप्राइज़ नेटवर्क स्लाइस पर रूट करने की सुविधा चालू या बंद कर सकते हैं. इसके लिए, वे DevicePolicyManager
(DPM) API में setPreferentialNetworkServiceEnabled
तरीके का इस्तेमाल करते हैं. यह API, Android 12 में लॉन्च किया गया था.
कस्टम डीपीआई वाले ईएमएम वेंडर को, एंटरप्राइज़ क्लाइंट की सहायता के लिए DevicePolicyManager
API को इंटिग्रेट करना होगा.
URSP के नियम
इस सेक्शन में, मोबाइल और इंटरनेट सेवा देने वाली कंपनियों के लिए यह जानकारी शामिल है कि वे अलग-अलग स्लाइस कैटगरी के लिए, यूआरएसपी के नियमों को कैसे कॉन्फ़िगर करें. इनमें एंटरप्राइज़, सीबीएस, कम लेटेंसी, और ज़्यादा बैंडविड्थ वाला ट्रैफ़िक शामिल है. अलग-अलग स्लाइस कैटगरी के लिए URSP के नियम कॉन्फ़िगर करते समय, कैरियर को Android के लिए खास तौर पर तैयार की गई इन वैल्यू का इस्तेमाल करना होगा.
ID | वैल्यू | ब्यौरा |
---|---|---|
OSId | 97a498e3-fc92-5c94-8986-0333d06e4e47 |
Android के लिए OSId, वर्शन 5 का यूयूआईडी है. इसे नेमस्पेस ISO OID और "Android" नाम से जनरेट किया जाता है. |
कैरियर को हर स्लाइस ट्रैफ़िक के लिए, यूआरएसपी के नियमों को कॉन्फ़िगर करना होगा. इसके लिए, ट्रैफ़िक डिस्क्रिप्टर कॉम्पोनेंट को "ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप" के तौर पर सेट करना होगा. उदाहरण के लिए, "ENTERPRISE"
स्लाइस के लिए, 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345
की वैल्यू देना ज़रूरी है.
यह वैल्यू, OSId, OSAppId की लंबाई (0x0A
), और OSAppId को जोड़कर बनाई जाती है.
ट्रैफ़िक डिस्क्रिप्टर कॉम्पोनेंट टाइप के बारे में ज़्यादा जानकारी के लिए, 3GPP TS 24.526 टेबल 5.2.1 देखें.
यहां दी गई टेबल में, स्लाइस की अलग-अलग कैटगरी के लिए OSAppId वैल्यू के बारे में बताया गया है.
स्लाइस की कैटगरी | OSAppId | ब्यौरा |
---|---|---|
ENTERPRISE | 0x454E5445525052495345 |
OSAppId, "ENTERPRISE" स्ट्रिंग का बाइट कलेक्शन होता है |
ENTERPRISE2 | 0x454E544552505249534532 |
OSAppId, "ENTERPRISE2" स्ट्रिंग का बाइट ऐरे वर्शन है |
ENTERPRISE3 | 0x454E544552505249534533 |
OSAppId, "ENTERPRISE3" स्ट्रिंग का बाइट ऐरे वर्शन है |
ENTERPRISE4 | 0x454E544552505249534534 |
OSAppId, "ENTERPRISE4" स्ट्रिंग का बाइट ऐरे वर्शन है |
ENTERPRISE5 | 0x454E544552505249534535 |
OSAppId, "ENTERPRISE5" स्ट्रिंग का बाइट ऐरे वर्शन है |
CBS | 0x434253 |
OSAppId, "CBS" स्ट्रिंग का बाइट ऐरे वर्शन है |
PRIORITIZE_LATENCY | 0x5052494f524954495a455f4c4154454e4359 |
OSAppId, "PRIORITIZE_LATENCY" स्ट्रिंग का बाइट ऐरे वर्शन है |
PRIORITIZE_BANDWIDTH | 0x5052494f524954495a455f42414e445749445448 |
OSAppId, "PRIORITIZE_BANDWIDTH" स्ट्रिंग का बाइट ऐरे वर्शन है |
यूआरएसपी के नियमों के उदाहरण
यहां दी गई टेबल में, एंटरप्राइज़, सीबीएस, कम लेटेंसी, ज़्यादा बैंडविथ, और डिफ़ॉल्ट ट्रैफ़िक के लिए, URSP के नियमों के उदाहरण दिए गए हैं.
Enterprise 1
Enterprise 1 के लिए सहायता, Android 12 और उसके बाद के वर्शन में उपलब्ध है. यहां ENTERPRISE1 के ट्रैफ़िक के लिए, URSP के नियम का उदाहरण दिया गया है:
URSP नियम #1 (enterprise1) | |
---|---|
प्राथमिकता | 1 (0x01) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 0x97A498E3FC925C9489860333D06E4E470A454E5445525052495345 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | एंटरप्राइज़ |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | एंटरप्राइज़ |
Enterprise 2
Enterprise 2 के लिए सहायता, Android 13 और उसके बाद के वर्शन में उपलब्ध है. यहां ENTERPRISE2 ट्रैफ़िक के लिए, URSP के नियम का उदाहरण दिया गया है:
यूआरएसपी का नियम #2 (enterprise2) | |
---|---|
प्राथमिकता | 2 (0x02) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534532 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | enterprise2 |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | enterprise2 |
Enterprise 3
Enterprise 3 के लिए सहायता, Android 13 और उसके बाद के वर्शन में उपलब्ध है. यहां ENTERPRISE3 ट्रैफ़िक के लिए, URSP के नियम का उदाहरण दिया गया है:
URSP का नियम #3 (enterprise3) | |
---|---|
प्राथमिकता | 3 (0x03) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534533 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | enterprise3 |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | enterprise3 |
Enterprise 4
Enterprise 4 के लिए सहायता, Android 13 और उसके बाद के वर्शन में उपलब्ध है. यहां ENTERPRISE4 ट्रैफ़िक के लिए, URSP के नियम का उदाहरण दिया गया है:
URSP नियम #4 (enterprise4) | |
---|---|
प्राथमिकता | 4 (0x04) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534534 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | enterprise4 |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | enterprise4 |
Enterprise 5
Enterprise 5 के लिए सहायता, Android 13 और उसके बाद के वर्शन में उपलब्ध है. यहां ENTERPRISE5 ट्रैफ़िक के लिए, URSP के नियम का उदाहरण दिया गया है:
URSP का नियम #5 (enterprise5) | |
---|---|
प्राथमिकता | 5 (0x05) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 0x97A498E3FC925C9489860333D06E4E470B454E544552505249534535 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | enterprise5 |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | enterprise5 |
CBS
सीबीएस की सुविधा, Android 13 और उसके बाद के वर्शन में उपलब्ध है. सीबीएस ट्रैफ़िक के लिए, यहां URSP नियम का एक उदाहरण दिया गया है:
URSP नियम #6 (CBS) | |
---|---|
प्राथमिकता | 6 (0x06) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 0x97A498E3FC925C9489860333D06E4E4703434253 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | cbs |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | cbs |
लाइव स्ट्रीमिंग करने और उसके दिखने के बीच इंतज़ार का समय कम रखना
कम समय में प्रोसेस होने वाले डेटा की सुविधा, Android 13 और इसके बाद के वर्शन में उपलब्ध है. यहां LOW_LATENCY ट्रैफ़िक के लिए, URSP के नियम का उदाहरण दिया गया है:
URSP नियम #7 (कम इंतज़ार का समय) | |
---|---|
प्राथमिकता | 7 (0x07) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 0x97A498E3FC925C9489860333D06E4E47125052494f524954495a455f4c4154454e4359 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | प्रतीक्षा अवधि |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | प्रतीक्षा अवधि |
ज़्यादा बैंडविथ
ज़्यादा बैंडविड्थ की सुविधा, Android 13 और उसके बाद के वर्शन में उपलब्ध है. यहां ज़्यादा बैंडविथ वाले ट्रैफ़िक के लिए, यूआरएसपी के नियम का उदाहरण दिया गया है:
यूआरएसपी नियम #8 (हाई बैंडविड्थ) | |
---|---|
प्राथमिकता | 8 (0x08) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
ओएस आईडी + ओएस ऐप्लिकेशन आईडी टाइप | 97A498E3FC925C9489860333D06E4E47145052494f524954495a455f42414e445749445448 |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
कॉम्पोनेंट #2: डीएनएन | बैंडविथ |
रास्ता चुनने का डिस्क्रिप्टर #2 | |
प्राथमिकता | 2 (0x02) |
कॉम्पोनेंट #1: DNN | बैंडविथ |
डिफ़ॉल्ट
यूआरएसपी का नियम #9 (डिफ़ॉल्ट) | |
---|---|
प्राथमिकता | 9 (0x09) |
ट्रैफ़िक डिस्क्रिप्टर #1 | |
match-all | लागू नहीं |
रास्ता चुनने के बारे में जानकारी देने वाला पहला डिसक्रिप्टर | |
प्राथमिकता | 1 (0x01) |
कॉम्पोनेंट #1: एस-एनएसएसएआई | SST:XX SD:YYYYYY |
टेस्ट करना
5G नेटवर्क स्लाइसिंग की जांच करने के लिए, मैन्युअल टेस्ट का इस्तेमाल करें.
टेस्टिंग के लिए डिवाइस सेट अप करने के लिए, यह तरीका अपनाएं:
पक्का करें कि यूआरएसपी नीति को ऐसे गैर-डिफ़ॉल्ट नियम के साथ कॉन्फ़िगर किया गया हो जो एंटरप्राइज़ कैटगरी से मेल खाता हो. साथ ही, उससे जुड़ा रूट-सिलेक्शन डिस्क्रिप्टर, एंटरप्राइज़ कैटगरी को एंटरप्राइज़ स्लाइस पर मैप करता हो. इसके अलावा, एक डिफ़ॉल्ट नियम, ट्रैफ़िक को डिफ़ॉल्ट इंटरनेट स्लाइस पर रीडायरेक्ट करता हो.
पक्का करें कि डिवाइस पर वर्क प्रोफ़ाइल कॉन्फ़िगर की गई हो.
डीपीसी के ज़रिए नेटवर्क स्लाइसिंग का इस्तेमाल करने के लिए ऑप्ट इन करें
5G नेटवर्क स्लाइसिंग की सुविधा की जांच करने के लिए, यह तरीका अपनाएं:
- पुष्टि करें कि एंटरप्राइज़ स्लाइस के साथ पीडीयू सेशन सेट अप किया गया हो. उदाहरण के लिए, किसी खास आईपी पते का इस्तेमाल करके. साथ ही, यह भी पुष्टि करें कि वर्क प्रोफ़ाइल में मौजूद ऐप्लिकेशन, उस पीडीयू सेशन का इस्तेमाल करते हों.
- पुष्टि करें कि डिफ़ॉल्ट इंटरनेट स्लाइस के साथ एक अलग पीडीयू सेशन बनाया गया हो और निजी प्रोफ़ाइल में मौजूद ऐप्लिकेशन, पीडीयू सेशन का इस्तेमाल करते हों.
5G स्लाइसिंग अपसेल
5G स्लाइसिंग अपसेल की सुविधा, Android 14-QPR1 से उपलब्ध है. इसकी मदद से मोबाइल और इंटरनेट सेवा देने वाली कंपनियां, 5G नेटवर्क स्लाइसिंग के ज़रिए अपने उपयोगकर्ताओं को बेहतर नेटवर्क सुविधाएं (लेटेंसी और बैंडविड्थ) दे सकती हैं.
5G स्लाइसिंग अपसेल की सुविधा, खरीदारी के फ़्लो को आगे बढ़ाने के लिए, कैरियर के एनटाइटलमेंट सर्वर से मिले TS.43 रिस्पॉन्स का इस्तेमाल करती है. कैरियर, इस जवाब का इस्तेमाल इन कामों के लिए कर सकते हैं: कैरियर के खरीदारी वाले वेबव्यू के लिए यूआरएल तय करना, वेबव्यू को अतिरिक्त डेटा भेजना, और यह बताना कि स्लाइस को चालू कर दिया गया है और यह कैरियर नेटवर्क पर उपलब्ध है या नहीं.
कैरियर, 5G स्लाइसिंग अपसेल सुविधा के व्यवहार को अपनी पसंद के मुताबिक बना सकते हैं. इसके लिए, उन्हें कैरियर कॉन्फ़िगरेशन का इस्तेमाल करना होगा. इससे यह कंट्रोल किया जा सकता है कि खरीदारी के अनुरोध कब किए जा सकते हैं, ऐप्लिकेशन को प्रीमियम सुविधाएं कब ऐक्सेस करने की अनुमति दी जाती है, और टेलीफ़ोनी फ़्रेमवर्क, उपयोगकर्ता या नेटवर्क से जवाब मिलने का इंतज़ार कब तक करता है.
5G स्लाइसिंग अपसेल सुविधा, DataBoostWebServiceFlow
नाम का एक इंटरफ़ेस उपलब्ध कराती है. इसकी मदद से, Android और कैरियर वेबव्यू के बीच कम्यूनिकेशन किया जा सकता है.
दूसरी इमेज में, 5G स्लाइसिंग के अपसेल की खरीदारी का फ़्लो दिखाया गया है:
दूसरी इमेज. 5G स्लाइसिंग के अपसेल का परचेज़ फ़्लो.
TS.43 एनटाइटलमेंट प्रोसेस
जब कोई उपयोगकर्ता बेहतर नेटवर्क सुविधाओं का अनुरोध करता है, तो Telephony फ़्रेमवर्क, अनुरोध की गई प्रीमियम सुविधा के लिए सेवा के एनटाइटलमेंट कॉन्फ़िगरेशन का अनुरोध करता है. अगर TS.43 रिस्पॉन्स मान्य है, तो Telephony फ़्रेमवर्क, खरीदारी के अनुरोध को पूरा करने के लिए एचटीटीपी रिस्पॉन्स से मिले फ़ील्ड का इस्तेमाल करता है.
खरीदारी के फ़ील्ड को स्लाइस करना
TS.43 के एनटाइटलमेंट कॉन्फ़िगरेशन में, स्लाइस खरीदने के लिए ये फ़ील्ड शामिल हैं:
- पात्रता स्थिति
बटन:
EntitlementStatus
शेड्यूल किस तरह का है:
int
इस्तेमाल की जा सकने वाली वैल्यू:
0
(बंद है),1
(चालू है),2
(काम नहीं करता),3
(प्रोविज़निंग),4
(शामिल है)- प्रावधान स्थिति
बटन:
ProvStatus
शेड्यूल किस तरह का है:
int
इस्तेमाल की जा सकने वाली वैल्यू:
0
(provisioned नहीं किया गया),1
(provisioned किया गया),2
(उपलब्ध नहीं है),3
(प्रोसेस जारी है)
टेलीफ़ोनी फ़्रेमवर्क, एनटाइटलमेंट स्टेटस और प्रोविज़निंग स्टेटस के कॉम्बिनेशन का इस्तेमाल करता है. इससे स्लाइस खरीदने की मौजूदा स्थिति का पता चलता है. नतीजा इनमें से कोई एक हो सकता है:
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_PURCHASED
PURCHASE_PREMIUM_CAPABILITY_RESULT_ALREADY_IN_PROGRESS
PURCHASE_PREMIUM_CAPABILITY_RESULT_ENTITLEMENT_CHECK_FAILED
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_ERROR
अगर एनटाइटलमेंट की स्थिति 1
(चालू है) और प्रोविज़निंग की स्थिति 0
(प्रोविज़न नहीं किया गया) है, तो टेलीफ़ोनी फ़्रेमवर्क, उपयोगकर्ता को अपसेल सूचना दिखाता है. इससे उपयोगकर्ता, कैरियर वेबव्यू के ज़रिए बूस्ट खरीद सकता है. यहां दी गई टेबल में, टेलीफ़ोनी फ़्रेमवर्क के व्यवहार के बारे में बताया गया है. यह व्यवहार, प्रोविज़निंग और एनटाइटलमेंट स्टेटस की वैल्यू के अलग-अलग कॉम्बिनेशन के हिसाब से तय होता है.
प्रोविज़निंग की स्थिति | |||||
---|---|---|---|---|---|
प्रोविज़न नहीं किया गया (0 ) |
प्रोविज़न किया गया (1 |
उपलब्ध नहीं है (2 ) |
जारी है (3 ) |
||
एनटाइटलमेंट का स्टेटस | बंद है (0 ) |
काम नहीं हुआ | काम नहीं हुआ | काम नहीं हुआ | काम नहीं हुआ |
चालू है (1 ) |
वेबव्यू दिखाएं | पहले से खरीदा गया | पहले से खरीदा गया | जारी है | |
काम नहीं करता (2 ) |
काम नहीं हुआ | काम नहीं हुआ | काम नहीं हुआ | काम नहीं हुआ | |
प्रोविज़निंग (3 ) |
कैरियर से जुड़ी गड़बड़ी | कैरियर से जुड़ी गड़बड़ी | जारी है | जारी है | |
शामिल है (4 ) |
कैरियर से जुड़ी गड़बड़ी | पहले से खरीदा गया | पहले से खरीदा गया | कैरियर से जुड़ी गड़बड़ी |
सेवा के फ़्लो वाले फ़ील्ड
TS.43 रिस्पॉन्स में यूआरएल, उपयोगकर्ता डेटा, और कॉन्टेंट टाइप के बारे में जानकारी दी जाती है. इससे, कैरियर की खरीदारी वाली वेबव्यू सुविधा के व्यवहार को पसंद के मुताबिक बनाया जा सकता है. अगर कॉन्टेंट का टाइप नहीं बताया गया है, तो यूआरएल को GET अनुरोध के तौर पर लोड किया जाता है. अगर उपयोगकर्ता का डेटा मौजूद है, तो इसे यूआरएल में क्वेरी पैरामीटर के तौर पर जोड़ा जाता है. उदाहरण के लिए, https://www.android.com?encodedValue=Base64EncodedUserData
. अगर यह डेटा मौजूद नहीं है, तो यूआरएल का इस्तेमाल वैसे ही किया जाता है. उदाहरण के लिए, https://www.android.com
.
अगर कॉन्टेंट का टाइप JSON या XML फ़ॉर्मैट में तय किया गया है, तो यूआरएल को POST अनुरोध के तौर पर लोड किया जाता है. साथ ही, उपयोगकर्ता के डेटा को POST अनुरोध के डेटा के तौर पर भेजा जाता है. अगर डेटा को Base 64 में कोड किया गया है, तो उसे डिकोड किया जाता है.
- यूआरएल
बटन:
ServiceFlow_URL
शेड्यूल किस तरह का है:
String
उदाहरण:
"https://www.android.com"
- उपयोगकर्ता का डेटा
बटन:
ServiceFlow_UserData
शेड्यूल किस तरह का है:
String
उदाहरण:
"encodedValue=Base64EncodedUserData"
- कॉन्टेंट का टाइप
बटन:
ServiceFlow_ContentsType
शेड्यूल किस तरह का है:
String
इस्तेमाल की जा सकने वाली वैल्यू:
0
(unspecified),1
(JSON),2
(XML)
मोबाइल और इंटरनेट सेवा देने वाली कंपनी के कॉन्फ़िगरेशन
5G स्लाइसिंग के अपसेल की सुविधा के व्यवहार को पसंद के मुताबिक बनाने के लिए, ये कैरियर कॉन्फ़िगरेशन उपलब्ध हैं.
KEY_SUPPORTED_PREMIUM_CAPABILITIES_INT_ARRAY
प्रीमियम सुविधाओं की सूची, जो काम करती हैं. यह
TelephonyManager.PremiumCapability
का इंट ऐरे है. इन प्रीमियम सुविधाओं की वैल्यू, उनसे जुड़ीNetworkCapabilities.NetCapability
क्लास की वैल्यू के बराबर होती है. अगर किसी प्रीमियम सुविधा का अनुरोध किया जाता है और वह इस कॉन्फ़िगरेशन में शामिल नहीं है, तो खरीदारी का अनुरोध पूरा नहीं होगा. साथ ही,CARRIER_DISABLED
नतीजे के साथ गड़बड़ी का मैसेज दिखेगा.Android 14 में, सिर्फ़
PREMIUM_CAPABILITY_PRIORITIZE_LATENCY
का इस्तेमाल किया जा सकता है.KEY_PREMIUM_CAPABILITY_MAXIMUM_DAILY_NOTIFICATION_COUNT_INT
खरीदारी के अपसेल की सूचना, उपयोगकर्ता को हर दिन ज़्यादा से ज़्यादा कितनी बार दिखाई जाती है. अगर हर दिन के लिए तय की गई सीमा पूरी हो जाती है, तो अपसेल की सूचना नहीं दिखाई जाती. साथ ही, खरीदारी के अनुरोधों (इसमें एनटाइटलमेंट सर्वर के अनुरोध भी शामिल हैं) को अगले दिन आधी रात तक थ्रॉटल कर दिया जाता है. हर दिन के लिए तय की गई सीमा पूरी होने के बाद किए गए खरीदारी के अनुरोध पूरे नहीं होते. इसके लिए,
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
नतीजा दिखता है.KEY_PREMIUM_CAPABILITY_MAXIMUM_MONTHLY_NOTIFICATION_COUNT_INT
खरीदारी के अपसेल की सूचना, उपयोगकर्ता को महीने में ज़्यादा से ज़्यादा इतनी बार दिखाई जाती है. अगर महीने के लिए तय की गई सीमा पूरी हो जाती है, तो अपसेल की सूचना नहीं दिखाई जाती. साथ ही, खरीदारी के अनुरोधों (इसमें एनटाइटलमेंट सर्वर के अनुरोध भी शामिल हैं) को अगले महीने के पहले दिन तक सीमित कर दिया जाता है. हर महीने की तय सीमा पूरी होने के बाद, खरीदारी के अनुरोधों को
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
गड़बड़ी के साथ अस्वीकार कर दिया जाता है.KEY_PREMIUM_CAPABILITY_PURCHASE_URL_STRING
यह बैकअप कैरियर का खरीदारी वाला यूआरएल है. यह तब दिखता है, जब उपयोगकर्ता अपसेल की सूचना पर क्लिक करता है. अगर एनटाइटलमेंट सर्वर से मिले TS.43 रिस्पॉन्स में खरीदारी का यूआरएल नहीं मिलता है, तो इस वैल्यू का इस्तेमाल किया जाता है. अगर TS.43 रिस्पॉन्स या कैरियर कॉन्फ़िगरेशन से मिला यूआरएल मान्य नहीं है, तो खरीदारी का अनुरोध
PURCHASE_PREMIUM_CAPABILITY_RESULT_CARRIER_DISABLED
नतीजे के साथ पूरा नहीं होगा.KEY_PREMIUM_CAPABILITY_SUPPORTED_ON_LTE_BOOL
यह तय करना कि डिवाइस के Long-Term Evolution (एलटीई) से कनेक्ट होने पर, प्रीमियम सुविधाएं खरीदने की अनुमति दी जाए या नहीं. अगर
true
, तो एलटीई और न्यू रेडियो (एनआर), दोनों पर खरीदारी के अनुरोध किए जा सकते हैं. अगरfalse
, तो खरीदारी के अनुरोध सिर्फ़ एनआर पर किए जा सकते हैं. साथ ही, एलटीई पर किए गए अनुरोधPURCHASE_PREMIUM_CAPABILITY_RESULT_NETWORK_NOT_AVAILABLE
नतीजे के साथ पूरे नहीं किए जा सकते.KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
खरीदारी के दौरान अपसेल की सूचना को उपयोगकर्ता को कितने समय तक दिखाया जाए. इसके बाद, यह सूचना अपने-आप रद्द हो जाती है. सूचना रद्द होने पर, बाद के अनुरोधों को थ्रॉटल कर दिया जाता है और वे
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
नतीजे के साथ फ़ेल हो जाते हैं.KEY_PREMIUM_CAPABILITY_NOTIFICATION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
टाइम आउट या उपयोगकर्ता के रद्द करने की वजह से खरीदारी का अनुरोध पूरा न होने के बाद, खरीदारी के अगले अनुरोधों को कितने समय तक थ्रॉटल किया जाना चाहिए. अगर उपयोगकर्ता,
KEY_PREMIUM_CAPABILITY_NOTIFICATION_DISPLAY_TIMEOUT_MILLIS_LONG
के तय किए गए टाइम आउट के अंदर, खरीदारी के लिए अपसेल वाली सूचना पर क्लिक नहीं करता है या सूचना को रद्द कर देता है या खारिज कर देता है, तो यह बैकऑफ़ टाइमर शुरू हो जाता है. टाइमर चालू होने पर, खरीदारी के अनुरोध पूरे नहीं किए जा सकते. इसके लिए,PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
नतीजा दिखता है.KEY_PREMIUM_CAPABILITY_PURCHASE_CONDITION_BACKOFF_HYSTERESIS_TIME_MILLIS_LONG
मोबाइल और इंटरनेट सेवा देने वाली कंपनी या नेटवर्क की वजह से खरीदारी पूरी न होने पर, खरीदारी के अगले अनुरोधों को कितने समय तक थ्रॉटल किया जाना चाहिए. अगर एनटाइटलमेंट की जांच नहीं हो पाती है, यूआरएल उपलब्ध नहीं है या कैरियर के खरीदारी वाले यूआरएल से पता चलता है कि खरीदारी नहीं हो पाई, तो यह बैकऑफ़ टाइमर शुरू हो जाता है. यह टाइमर चालू होने पर, खरीदारी के अनुरोध पूरे नहीं किए जा सकते. ऐसा
PURCHASE_PREMIUM_CAPABILITY_RESULT_THROTTLED
की वजह से होता है.KEY_PREMIUM_CAPABILITY_NETWORK_SETUP_TIME_MILLIS_LONG
वह समय जिसमें नेटवर्क को, खरीदारी के लिए प्रीमियम सुविधा के लिए स्लाइसिंग कॉन्फ़िगरेशन सेट अप करना होगा. इस अवधि के दौरान, खरीदारी के बाद के अनुरोध ब्लॉक कर दिए जाते हैं और
PURCHASE_PREMIUM_CAPABILITY_RESULT_PENDING_NETWORK_SETUP
नतीजा मिलता है. अगर नेटवर्क, स्लाइसिंग कॉन्फ़िगरेशन को समय पर सेट अप नहीं कर पाता है, तो ऐप्लिकेशन फिर से प्रीमियम सुविधाएं खरीदने का अनुरोध कर सकते हैं. Telephony, खरीदारी को तब तक पूरा नहीं मानता, जब तक स्लाइसिंग का कॉन्फ़िगरेशन नहीं भेजा जाता. भले ही, उपयोगकर्ता ने कैरियर को पेमेंट किया हो या नहीं.
JavaScript इंटरफ़ेस
जब कोई उपयोगकर्ता नेटवर्क बूस्ट की सूचना पर क्लिक करता है, तो उसे WebView
ऑब्जेक्ट दिखता है. इसमें कैरियर के प्रॉडक्ट खरीदने का यूआरएल होता है. कैरियर, DataBoostWebServiceFlow
JavaScript इंटरफ़ेस में दिए गए एपीआई का इस्तेमाल कर सकते हैं. इससे वे खरीदारी के लिए उपलब्ध अपनी वेबसाइट पर, स्लाइस खरीदने वाले ऐप्लिकेशन से कम्यूनिकेट कर पाएंगे.
मोबाइल और इंटरनेट सेवा देने वाली कंपनी की वेबसाइट, getRequestedCapability()
तरीके से प्रीमियम सुविधा का अनुरोध कर सकती है.
अगर खरीदारी पूरी हो जाती है, तो कैरियर की वेबसाइट को स्लाइस खरीदने वाले ऐप्लिकेशन को notifyPurchaseSuccessful()
या notifyPurchaseSuccessful(duration)
के ज़रिए सूचना देनी होगी. यहां duration
एक ज़रूरी पैरामीटर नहीं है. यह स्लाइस की अवधि के बारे में बताता है.
अगर खरीदारी पूरी नहीं होती है, तो कैरियर की वेबसाइट को स्लाइस खरीदारी वाले ऐप्लिकेशन को notifyPurchaseFailed(code, reason)
तरीके से इसकी सूचना देनी होगी. इसमें code
, खरीदारी पूरी न होने की वजह बताने वाला कोड है और reason
, खरीदारी पूरी न होने की वजह है. अगर कोड की जानकारी नहीं है, तो इसकी वजह को आम बोलचाल की भाषा में बताया जाता है.
अगर इनमें से किसी भी तरीके का इस्तेमाल नहीं किया जाता है, तो खरीदारी को पूरा नहीं माना जाएगा. साथ ही, खरीदारी का अनुरोध आखिर में टाइम आउट हो जाएगा.
खरीदारी पूरी न होने पर, ये मान्य कोड, कैरियर की वेबसाइट से मिल सकते हैं:
FAILURE_CODE_UNKNOWN
FAILURE_CODE_CARRIER_URL_UNAVAILABLE
FAILURE_CODE_AUTHENTICATION_FAILED
FAILURE_CODE_PAYMENT_FAILED
FAILURE_CODE_NO_USER_DATA
खरीदारी पूरी होने के बाद, कैरियर को उपयोगकर्ता के डिवाइस पर PRIORITIZE_LATENCY
स्लाइस के साथ यूआरएसपी के नियम अपडेट करने होंगे.