Android 12 में, TS.43 सेवा एनटाइटलमेंट कॉन्फ़िगरेशन के लिए सहायता शामिल है. यह GSMA का एक स्पेसिफ़िकेशन है, जो सेवाओं को चालू करने के लिए एनटाइटलमेंट की पुष्टि करने के चरण के बारे में बताता है. इन सेवाओं में, वॉइस-ओवर-वाई-फ़ाई (VoWiFi), वॉइस-ओवर-एलटीई (VoLTE), एसएमएस ओवर आईपी (SMSoIP), ई-सिम वाले साथी डिवाइसों (अनुरोध करने वाले डिवाइस से जुड़े) के लिए डिवाइस पर सेवा चालू करने (ODSA) की सुविधा, और डेटा प्लान की जानकारी शामिल है.
इस स्पेसिफ़िकेशन के साथ काम करने के लिए, Android में IMS सेवा एनटाइटलमेंट की सुविधा उपलब्ध है. इसकी मदद से, सेवा देने वाली कंपनी मोबाइल डिवाइसों को आईपी मल्टीमीडिया सबसिस्टम (आईएमएस) नेटवर्क सेवाओं की स्थिति की जानकारी दे सकती है. एनटाइटलमेंट की इस सुविधा की मदद से, डिवाइस को कैरियर एनटाइटलमेंट सर्वर से क्वेरी करने की अनुमति मिलती है. यह क्वेरी, ईएपी-एकेए पुष्टि का इस्तेमाल करके की जाती है. यह क्वेरी, जीएसएमए टीएस.43 के मुताबिक, आईएमएस एनटाइटलमेंट की स्थिति के लिए की जाती है. इसके लिए, उपयोगकर्ताओं को मैन्युअल तौर पर कोई क्रेडेंशियल डालने की ज़रूरत नहीं होती.
जिन कैरियर के पास IMS एनटाइटलमेंट सर्वर हैं वे सेवा देने के लिए, IMS सेवा एनटाइटलमेंट की सुविधा का इस्तेमाल कर सकते हैं. इस सुविधा का इस्तेमाल करने से ये फ़ायदे मिलते हैं:
- इससे कैरियर के लिए, टेस्टिंग और सर्टिफ़िकेट की लागत कम हो जाती है. ऐसा इसलिए, क्योंकि एनटाइटलमेंट की इस सुविधा का इस्तेमाल कई प्रॉडक्ट और OEM के लिए किया जा सकता है.
- डिवाइस बनाने वाली कंपनियों के लिए, स्टैंडर्ड Android ऐप्लिकेशन की मदद से, डेवलपमेंट में लगने वाला समय कम हो जाता है.
- डिवाइस बनाने वाली कंपनियों और मोबाइल और इंटरनेट सेवा देने वाली कंपनियों को इस सुविधा के लिए कोड बनाने की अनुमति मिलती है, क्योंकि यह सुविधा ओपन सोर्स है.
- यह उत्तरी अमेरिका के कैरियर के लिए, आपातकालीन पते को मैनेज करने की सुविधा देता है.
भवन निर्माण
इस इलस्ट्रेशन में, IMS सेवा के एनटाइटलमेंट की सुविधा के आर्किटेक्चर और काम करने के तरीके के बारे में बताया गया है.
पहली इमेज. TS.43 एनटाइटलमेंट की सुविधा का आर्किटेक्चर
जैसा कि पहली इमेज में दिखाया गया है, IMS सेवा एनटाइटलमेंट की सुविधा के आर्किटेक्चर में ये कॉम्पोनेंट शामिल हैं:
service_entitlement
TS.43 Service API की स्टैटिक लाइब्रेरी: यह लाइब्रेरी, TS.43 स्पेसिफ़िकेशन को लागू करती है. साथ ही, यह कैरियर के एनटाइटलमेंट सर्वर के साथ इंटरैक्ट करती है और TS.43 के हर इस्तेमाल के उदाहरण के लिए, ऐप्लिकेशन के लिए उपलब्ध एपीआई दिखाती है.ImsServiceEntitlement
क्लाइंट ऐप्लिकेशन: यह ऐप्लिकेशन, TS.43 Service API का इस्तेमाल करता है. यह ऐप्लिकेशन, यूज़र इंटरफ़ेस (यूआई) एलिमेंट लागू करता है. इनमें वेबव्यू भी शामिल हैं, ताकि उपयोगकर्ता सेवाओं को चालू कर सकें. साथ ही, यह ऐप्लिकेशन Android के दूसरे कॉम्पोनेंट के साथ इंटरैक्ट करता है, ताकि उपयोगकर्ताओं को बेहतर अनुभव दिया जा सके.Android को कैरियर के TS.43 पर आधारित एनटाइटलमेंट सर्वर के साथ काम करने के लिए कॉन्फ़िगर करने के तरीके के बारे में ज़्यादा जानने के लिए, ImsServiceEntitlement ऐप्लिकेशन देखें.
पहली इमेज में नंबर वाली लाइनों से पता चलता है कि IMS सेवा के एनटाइटलमेंट की सुविधा के कॉम्पोनेंट, एक-दूसरे के साथ कैसे इंटरैक्ट करते हैं. यहां हर चरण के बारे में बताया गया है, जैसा कि लेबल किया गया है:
(1) सेवा एनटाइटलमेंट का अनुरोध शुरू करने के लिए, क्लाइंट ऐप्लिकेशन TS.43 सेवा एपीआई को कॉल करता है.
(2) TS.43 सेवा एपीआई, ईएपी-एकेए चैलेंज शुरू करने के लिए, कैरियर के एनटाइटलमेंट सर्वर को एचटीटीपी अनुरोध भेजता है.
(3) EAP-AKA चैलेंज-रिस्पॉन्स को पूरा करने के लिए, TS.43 सेवा एपीआई, टेलीफ़ोनी एपीआई (उदाहरण के लिए,
getIccAuthentication
) को कॉल करता है.
(4) EAP-AKA रिस्पॉन्स की पुष्टि होने के बाद, TS.43 सेवा को कैरियर के एनटाइटलमेंट सर्वर से सेवा एनटाइटलमेंट या कॉन्फ़िगरेशन डेटा मिलता है.
(5) TS.43 सेवा, क्लाइंट ऐप्लिकेशन को सेवा का एनटाइटलमेंट या कॉन्फ़िगरेशन डेटा दिखाती है.
(6) क्लाइंट ऐप्लिकेशन, डेटा को मैनेज करता है. साथ ही, उपयोगकर्ता के लिए सेवा चालू करने की प्रोसेस पूरी करने के लिए, कैरियर के सेवा पोर्टल को रेंडर करता है.
SDK टूल इंटिग्रेशन
इस सेक्शन में, service_entitlement
लाइब्रेरी और ImsServiceEntitlement
ऐप्लिकेशन को इंटिग्रेट करने की प्रोसेस के बारे में बताया गया है.
इसमें Android 12 एपीआई की कोई डिपेंडेंसी नहीं है. इसलिए, service_entitlement
लाइब्रेरी और ImsServiceEntitlement
ऐप्लिकेशन को Android के पुराने प्लैटफ़ॉर्म पर बैकपोर्ट किया जा सकता है.
service_entitlement लाइब्रेरी
service_entitlement
लाइब्रेरी को ImsServiceEntitlement app
में स्टैटिक तौर पर लिंक किया गया है. इसलिए, लाइब्रेरी को ImsServiceEntitlement
ऐप्लिकेशन में इंटिग्रेट करने के लिए, कोई और चरण पूरा करने की ज़रूरत नहीं है.
service_entitlement
लाइब्रेरी को अपने ऐप्लिकेशन के साथ इंटिग्रेट किया जा सकता है, ताकि TS.43 के इस्तेमाल के उदाहरणों, जैसे कि डेटा प्लान और ओडीएसए के लिए इसका इस्तेमाल किया जा सके. लाइब्रेरी को EAP-AKA प्रोटोकॉल के आधार पर, TS.43 एनटाइटलमेंट के इस्तेमाल के उदाहरणों के लिए, ऐप्लिकेशन में भी इंटिग्रेट किया जा सकता है.
यहां ऐसे इस्तेमाल के उदाहरणों के लिए इस्तेमाल किए जाने वाले एपीआई के बारे में बताया गया है:
- लाइब्रेरी में लागू किए गए TS.43 एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाला TS.43 ऐप्लिकेशन:
ServiceEntitlement
क्लास में एपीआई का इस्तेमाल करें - लाइब्रेरी में लागू किए गए EAP-AKA प्रोटोकॉल का इस्तेमाल करने वाला ऐसा ऐप्लिकेशन जो TS.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 |
अगर मोबाइल और इंटरनेट सेवा देने वाली कंपनी को बैकग्राउंड में IMS (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
IMS प्रोवाइज़निंग के लिए अतिरिक्त सिस्टम यूज़र इंटरफ़ेस (यूआई)
इस सेक्शन में बताया गया है कि OEM, IMS सेवा की प्रोवाइडिंग से जुड़े अन्य सिस्टम यूज़र इंटरफ़ेस (यूआई) एलिमेंट के साथ कैसे काम कर सकते हैं. उदाहरण के लिए, VoWiFi की सुविधा चालू होने पर सूचना दिखाते समय.
ImsServiceEntitlement
ऐप्लिकेशन, ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE,
value)
सिस्टम एपीआई का इस्तेमाल करके, प्लैटफ़ॉर्म में VoWiFi की प्रोविज़निंग की स्थिति सेट करता है. इस एपीआई का इस्तेमाल, KEY_VOLTE_PROVISIONING_STATUS
के साथ VoLTE और KEY_SMS_OVER_IP_ENABLED
के साथ SMSoIP के लिए भी किया जाता है.
इसके बाद, सिस्टम यूज़र इंटरफ़ेस (यूआई), getProvisioningIntValue
का इस्तेमाल करके डिवाइस के प्रोवाइज़न की स्थिति को पढ़ सकता है. इसके अलावा, registerProvisioningChangedCallback
की मदद से डिवाइस के प्रोवाइज़न की स्थिति में हुए बदलावों को मॉनिटर करने के लिए, कॉलबैक भी रजिस्टर किया जा सकता है.
टेस्टिंग के लिए कॉन्फ़िगरेशन बदलना
टेस्टिंग के लिए, ImsServiceEntitlement
ऐप्लिकेशन के व्यवहार में कुछ समय के लिए बदलाव करने के लिए, यह तरीका अपनाएं. कैरियर के कॉन्फ़िगरेशन को बदलने के तरीके के बारे में जानने के लिए, कैरियर के कॉन्फ़िगरेशन को बदलना लेख पढ़ें.
VoWiFi के लिए साइन अप करने की प्रोसेस को स्किप करना
VoWiFi के लिए साइन अप करने की प्रोसेस को छोड़कर, VoWiFi को सीधे चालू करने के लिए, कैरियर कॉन्फ़िगरेशन को बदलें
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
और उसकी वैल्यू को खाली स्ट्रिंग पर सेट करें.
आईएमएस प्रोवाइड करने की सुविधा को स्किप करना
IMS प्रावधान को छोड़ने, IMS सेवाओं को उपलब्ध कराने, और उपयोगकर्ताओं को नेटवर्क प्रावधान के बिना ऐसी सेवाएं चालू करने की अनुमति देने के लिए, कैरियर कॉन्फ़िगरेशन KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL
को बदलें और इसकी वैल्यू को false
पर सेट करें.
एनटाइटलमेंट सर्वर का यूआरएल बदलना
एनटाइटलमेंट सर्वर यूआरएल बदलने के लिए, कैरियर कॉन्फ़िगरेशन KEY_ENTITLEMENT_SERVER_URL_STRING
को बदलें और इसकी वैल्यू को उम्मीद के मुताबिक यूआरएल स्ट्रिंग पर सेट करें. आपको https://
प्रीफ़िक्स शामिल करना होगा.
मोबाइल और इंटरनेट सेवा देने वाली कंपनी के कॉन्फ़िगरेशन बदलना
Android 11 में, कैरियर कॉन्फ़िगरेशन बदलने के लिए, पहले से मौजूद कमांड उपलब्ध हैं. साथ ही, ये कमांड रूट ऐक्सेस के साथ काम करते हैं.
नीचे दिया गया कमांड, कैरियर कॉन्फ़िगरेशन बटन carrier_volte_provisioning_required_bool
को बदलने और उसकी वैल्यू को false
पर सेट करने का उदाहरण है. एक से ज़्यादा कॉन्फ़िगरेशन को बदलने के लिए, कमांड को कई बार चलाया जा सकता है.
adb root
adb 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