Android 12 से, Android में TS.43 Service Entitlement Configuration के लिए सहायता शामिल है. यह GSMA की एक खास जानकारी है, जो वॉइस-ओवर-वाई-फ़ाई (VoWiFi), वॉइस-ओवर-एलटीई (VoLTE), एसएमएस ओवर आईपी (SMSoIP), eSIM वाले कंपैनियन डिवाइसों के लिए ऑन-डिवाइस सेवा चालू करने की सुविधा (ODSA) (अनुरोध करने वाले डिवाइस से जुड़े), और डेटा प्लान की जानकारी जैसी सेवाओं को चालू करने के लिए, एनटाइटलमेंट की पुष्टि करने के चरण के बारे में बताती है.
इस स्पेसिफ़िकेशन के लिए, Android में आईएमएस सेवा के अधिकार की सुविधा उपलब्ध है. इससे सेवा देने वाला व्यक्ति या कंपनी, मोबाइल डिवाइसों को आईपी मल्टीमीडिया सबसिस्टम (आईएमएस) नेटवर्क सेवाओं की स्थिति के बारे में सूचना दे सकती है. इस एनटाइटलमेंट सुविधा की मदद से डिवाइस, जीएसएमए टीएस.43 स्पेसिफ़िकेशन के मुताबिक, कैरियर एनटाइटलमेंट सर्वर से क्वेरी कर सकता है. इससे आईएमएस एनटाइटलमेंट की स्थिति के बारे में पता चलता है. इसके लिए, ईएपी-एकेए प्रमाणीकरण का इस्तेमाल किया जाता है. इसमें उपयोगकर्ताओं को मैन्युअल तरीके से कोई क्रेडेंशियल डालने की ज़रूरत नहीं होती.
आईएमएस के एनटाइटलमेंट सर्वर वाले कैरियर, सेवा उपलब्ध कराने के लिए आईएमएस सेवा के एनटाइटलमेंट की सुविधा का इस्तेमाल कर सकते हैं. इस सुविधा को अपनाने से ये फ़ायदे मिलते हैं:
- इस सुविधा का इस्तेमाल कई प्रॉडक्ट और ओईएम के लिए किया जा सकता है. इसलिए, इससे कैरियर के लिए टेस्टिंग और सर्टिफ़िकेशन की लागत कम हो जाती है.
- यह डिवाइस बनाने वाली कंपनियों के लिए, डेवलपमेंट के खर्च को कम करता है. इसके लिए, यह स्टैंडर्ड Android ऐप्लिकेशन का इस्तेमाल करता है.
- इस सुविधा के लिए, डिवाइस बनाने वाली कंपनियां और मोबाइल और इंटरनेट सेवा देने वाली कंपनियां कोड में योगदान दे सकती हैं, क्योंकि यह सुविधा ओपन सोर्स है.
- यह उत्तरी अमेरिका में मोबाइल और इंटरनेट सेवाएं देने वाली कंपनियों के लिए, आपातकालीन पते को मैनेज करने की सुविधा देता है.
वास्तुकला
इस इमेज में, आईएमएस सेवा के एनटाइटलमेंट की सुविधा के आर्किटेक्चर और उसके काम करने के तरीके के बारे में बताया गया है.
पहली इमेज. TS.43 एनटाइटलमेंट फ़ीचर का आर्किटेक्चर
पहली इमेज में दिखाए गए IMS सेवा के एनटाइटलमेंट की सुविधा के आर्किटेक्चर में ये कॉम्पोनेंट शामिल हैं:
service_entitlementTS.43 Service API स्टैटिक लाइब्रेरी: यह लाइब्रेरी, TS.43 स्पेसिफ़िकेशन को लागू करती है. यह कैरियर के एनटाइटलमेंट सर्वर के साथ इंटरैक्ट करती है. साथ ही, TS.43 के हर इस्तेमाल के उदाहरण के लिए, ऐप्लिकेशन के लिए उपलब्ध एपीआई को दिखाती है.ImsServiceEntitlementक्लाइंट ऐप्लिकेशन: यह ऐप्लिकेशन TS.43 Service API का इस्तेमाल करता है. यह ऐप्लिकेशन, यूज़र इंटरफ़ेस (यूआई) एलिमेंट लागू करता है. इनमें वेबव्यू भी शामिल हैं. इनकी मदद से, उपयोगकर्ताओं के लिए कैरियर के सेवा पोर्टल को रेंडर किया जाता है, ताकि वे सेवाओं को चालू कर सकें. साथ ही, यह ऐप्लिकेशन अन्य Android कॉम्पोनेंट के साथ इंटरैक्ट करता है, ताकि उपयोगकर्ता के अनुभव को पूरी तरह से मैनेज किया जा सके.किसी कैरियर के TS.43 पर आधारित एनटाइटलमेंट सर्वर के साथ काम करने के लिए, Android को कॉन्फ़िगर करने के बारे में ज़्यादा जानने के लिए, ImsServiceEntitlement ऐप्लिकेशन देखें.
पहली इमेज में नंबर वाली लाइनों से पता चलता है कि आईएमएस सेवा की एनटाइटलमेंट सुविधा के कॉम्पोनेंट, एक-दूसरे से कैसे कम्यूनिकेट करते हैं. यहां दिए गए हर चरण के बारे में बताया गया है:
(1) क्लाइंट ऐप्लिकेशन, सेवा के एनटाइटलमेंट का अनुरोध शुरू करने के लिए, TS.43 सेवा वाले एपीआई को शुरू करता है.
(2) TS.43 सेवा का एपीआई, कैरियर के एनटाइटलमेंट सर्वर को एचटीटीपी अनुरोध भेजता है, ताकि EAP-AKA चैलेंज शुरू किया जा सके.
(3) TS.43 सेवा का एपीआई, टेलीफ़ोनी एपीआई (उदाहरण के लिए, getIccAuthentication) को कॉल करता है, ताकि EAP-AKA चैलेंज-रिस्पॉन्स को पूरा किया जा सके.
(4) EAP-AKA रिस्पॉन्स की पुष्टि हो जाने के बाद, TS.43 सेवा को कैरियर के एनटाइटलमेंट सर्वर से सेवा के एनटाइटलमेंट या कॉन्फ़िगरेशन का डेटा मिलता है.
(5) TS.43 सेवा, क्लाइंट ऐप्लिकेशन को सेवा के एनटाइटलमेंट या कॉन्फ़िगरेशन का डेटा भेजती है.
(6) क्लाइंट ऐप्लिकेशन, डेटा को मैनेज करता है. साथ ही, उपयोगकर्ता के लिए कैरियर के सेवा पोर्टल को रेंडर करता है, ताकि उपयोगकर्ता सेवा को चालू कर सके. हालांकि, ऐसा करना ज़रूरी नहीं है.
इंटिग्रेशन
इस सेक्शन में, service_entitlement लाइब्रेरी और ImsServiceEntitlement ऐप्लिकेशन को इंटिग्रेट करने की प्रोसेस के बारे में बताया गया है.
Android 12 API पर निर्भरता न होने की वजह से, service_entitlement
लाइब्रेरी और ImsServiceEntitlement ऐप्लिकेशन को Android के पुराने वर्शन पर वापस लाया जा सकता है.
service_entitlement लाइब्रेरी
service_entitlement लाइब्रेरी को ImsServiceEntitlement ऐप्लिकेशन में स्टैटिक तौर पर लिंक किया जाता है. इसलिए, लाइब्रेरी को ImsServiceEntitlement ऐप्लिकेशन में इंटिग्रेट करने के लिए, कोई अतिरिक्त कार्रवाई करने की ज़रूरत नहीं होती.
service_entitlement लाइब्रेरी को TS.43 के इस्तेमाल के उदाहरणों के लिए, अपने ऐप्लिकेशन के साथ इंटिग्रेट किया जा सकता है. जैसे, डेटा प्लान और ओडीएसए. इस लाइब्रेरी को, ईएपी-एकेए प्रोटोकॉल पर आधारित TS.43 के अलावा अन्य एनटाइटलमेंट के इस्तेमाल के उदाहरणों के लिए, किसी ऐप्लिकेशन में भी इंटिग्रेट किया जा सकता है.
यहां इस्तेमाल के ऐसे उदाहरणों के लिए, एपीआई के बारे में बताया गया है:
- TS.43 एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाला TS.43 ऐप्लिकेशन, लाइब्रेरी में लागू किया गया है:
ServiceEntitlementक्लास में मौजूद एपीआई का इस्तेमाल करें. - लाइब्रेरी में लागू किए गए EAP-AKA प्रोटोकॉल का इस्तेमाल करने वाला नॉन-टीएस.43 ऐप्लिकेशन:
EapAkaHelperक्लास में दिखाए गए एपीआई का इस्तेमाल करें.
ImsServiceEntitlement ऐप्लिकेशन
डिफ़ॉल्ट रूप से, Android, प्रॉडक्ट पार्टीशन में इंस्टॉल किए गए ImsServiceEntitlement ऐप्लिकेशन को खास ऐप्लिकेशन के तौर पर शामिल करता है. ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, CarrierConfig की इन कुंजियों का इस्तेमाल करें:
| कुंजी | मान |
|---|---|
KEY_ENTITLEMENT_SERVER_URL_STRING |
कैरियर के एनटाइटलमेंट सर्वर का यूआरएल. https:// प्रीफ़िक्स शामिल होना चाहिए. |
KEY_FCM_SENDER_ID_STRING |
मोबाइल और इंटरनेट सेवा देने वाली कंपनी का FCM सेंडर आईडी. अगर कैरियर को FCM की ज़रूरत नहीं है, तो यह वैल्यू सेट न करें. |
KEY_SHOW_VOWIFI_WEBVIEW_BOOL |
अगर कैरियर को VoWiFi सेवा के लिए साइन अप करने वाले उपयोगकर्ताओं के लिए, वेब पोर्टल यूज़र इंटरफ़ेस (यूआई) की ज़रूरत है, तो इसे true पर सेट करें. उदाहरण के लिए, शर्तों और नियमों को स्वीकार करना या आपातकालीन स्थिति में इस्तेमाल होने वाला पता डालना.आम तौर पर, यह उत्तर अमेरिका में कैरियर के लिए ज़रूरी होता है. |
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING |
अगर KEY_SHOW_VOWIFI_WEBVIEW_BOOL true है, तो इसे com.android.imsserviceentitlement/.WfcActivationActivity पर सेट करें. |
KEY_IMS_PROVISIONING_BOOL |
अगर कैरियर को बैकग्राउंड में आईएमएस (VoLTE/VoWiFi/SMSoIP) सेवाओं के लिए नेटवर्क प्रोविज़निंग की ज़रूरत है, तो इस फ़ील्ड को true पर सेट करें.यूरोप में मोबाइल और इंटरनेट सेवा देने वाली कुछ कंपनियों के लिए यह ज़रूरी है. |
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL |
अगर KEY_IMS_PROVISIONING_BOOL, true है, तो इसे true पर सेट करें. |
कैरियर के एनटाइटलमेंट सर्वर और वेब पोर्टल पर एचटीटीपी ट्रैफ़िक, डिफ़ॉल्ट नेटवर्क से जाता है. उदाहरण के लिए, डिफ़ॉल्ट मोबाइल डेटा या वाई-फ़ाई.
GMS पार्टनर: Android 12 में TS.43 एनटाइटलमेंट ऐप्लिकेशन के साथ ये कैरियर काम करते हैं. ये कैरियर, TS.43 v5.0 की खास बातों के मुताबिक काम करते हैं:
- अमेरिका: CSpire, US Cellular, Cellcom
- फ़्रांस: Orange
आईएमएस प्रोविज़निंग के लिए अतिरिक्त सिस्टम यूज़र इंटरफ़ेस (यूआई)
इस सेक्शन में बताया गया है कि ओईएम, आईएमएस सेवा के प्रावधान से जुड़े सिस्टम यूज़र इंटरफ़ेस (यूआई) के अतिरिक्त एलिमेंट को कैसे सपोर्ट कर सकते हैं. उदाहरण के लिए, VoWiFi की सुविधा चालू होने पर सूचना दिखाना.
ImsServiceEntitlement ऐप्लिकेशन, ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value) सिस्टम एपीआई का इस्तेमाल करके, VoWiFi की सुविधा चालू करने की स्थिति को प्लैटफ़ॉर्म पर सेट करता है. इस एपीआई का इस्तेमाल VoLTE (KEY_VOLTE_PROVISIONING_STATUS के साथ) और SMSoIP (KEY_SMS_OVER_IP_ENABLED के साथ) के लिए भी किया जाता है.
इसके बाद, सिस्टम यूज़र इंटरफ़ेस (यूआई), getProvisioningIntValue का इस्तेमाल करके या registerProvisioningChangedCallback के ज़रिए, डिवाइस चालू करने की स्थिति में बदलाव की निगरानी करने के लिए कॉलबैक रजिस्टर करके, डिवाइस चालू करने की स्थिति को पढ़ सकता है.
टेस्टिंग के लिए कॉन्फ़िगरेशन बदलना
जांच के लिए, ImsServiceEntitlement
ऐप्लिकेशन के व्यवहार में कुछ समय के लिए बदलाव करने के लिए, यहां दिया गया तरीका अपनाएं. कैरियर के कॉन्फ़िगरेशन को बदलने के तरीके के बारे में जानने के लिए, कैरियर के कॉन्फ़िगरेशन को बदलना लेख पढ़ें.
VoWiFi के लिए साइन-अप करने की प्रोसेस छोड़ें
VoWiFi के लिए साइन-अप करने की प्रोसेस को स्किप करने के लिए, कैरियर कॉन्फ़िगरेशन KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING को बदलें और उसकी वैल्यू को खाली स्ट्रिंग पर सेट करें. इससे VoWiFi को सीधे तौर पर चालू किया जा सकेगा.
आईएमएस की सुविधा चालू करने की प्रोसेस छोड़ें
आईएमएस की सुविधा अपने-आप चालू होने की प्रोसेस को स्किप करने के लिए, कैरियर कॉन्फ़िगरेशन KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL को ओवरराइड करें और उसकी वैल्यू को false पर सेट करें. इससे आईएमएस की सेवाएं उपलब्ध हो जाएंगी और उपयोगकर्ता, नेटवर्क की सुविधा अपने-आप चालू होने की प्रोसेस के बिना इन सेवाओं को चालू कर पाएंगे.
एनटाइटलमेंट सर्वर का यूआरएल बदलना
एनटाइटलमेंट सर्वर का यूआरएल बदलने के लिए, कैरियर कॉन्फ़िगरेशन KEY_ENTITLEMENT_SERVER_URL_STRING को बदलें और इसकी वैल्यू को यूआरएल स्ट्रिंग के तौर पर सेट करें. आपको https:// प्रीफ़िक्स शामिल करना होगा.
मोबाइल और इंटरनेट सेवा देने वाली कंपनी के कॉन्फ़िगरेशन को बदलना
Android 11 से, कैरियर कॉन्फ़िगरेशन को बदलने वाली कमांड पहले से मौजूद होती हैं. साथ ही, ये रूट ऐक्सेस के साथ उपलब्ध होती हैं.
यहां दी गई कमांड, कैरियर कॉन्फ़िगरेशन की carrier_volte_provisioning_required_bool को बदलने और उसकी वैल्यू को false पर सेट करने का एक उदाहरण है. एक से ज़्यादा कॉन्फ़िगरेशन को बदलने के लिए, इस कमांड को कई बार चलाया जा सकता है.
adb rootadb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false
सभी ओवरराइड हटाने के लिए, इस निर्देश का इस्तेमाल करें:
adb shell cmd phone cc clear-valuesज़्यादा जानकारी पाने के लिए, यह कमांड चलाएं:
adb shell cmd phone cc