IMS सेवा का एनटाइटलमेंट

Android 12 से, Android में TS.43 Service Entitlement Configuration की सुविधा शामिल है. यह GSMA की एक खास सुविधा है. इसमें, वॉइस-ओवर-वाई-फ़ाई (VoWiFi), वॉइस-ओवर-एलटीई (VoLTE), एसएमएस ओवर आईपी (SMSoIP), और eSIM वाले कंपैनियन डिवाइसों (अनुरोध करने वाले डिवाइस से जुड़े) के लिए, डिवाइस पर सेवा चालू करने (ओडीएसए) जैसी सेवाओं को चालू करने के लिए, एनटाइटलमेंट की पुष्टि करने का तरीका बताया गया है. इसमें डेटा प्लान की जानकारी भी शामिल है.

इस स्पेसिफ़िकेशन के साथ काम करने के लिए, Android में आईएमएस सेवा के एनटाइटलमेंट की सुविधा उपलब्ध है. इससे सेवा देने वाली कंपनी, मोबाइल डिवाइसों को आईपी मल्टीमीडिया सबसिस्टम (आईएमएस) नेटवर्क सेवाओं की स्थिति के बारे में सूचना दे सकती है. इस एनटाइटलमेंट सुविधा की मदद से डिवाइस, IMS एनटाइटलमेंट की स्थिति के बारे में जानने के लिए, GSMA TS.43 स्पेसिफ़िकेशन के मुताबिक कैरियर एनटाइटलमेंट सर्वर से क्वेरी कर सकता है. इसके लिए, EAP-AKA पुष्टि करने की सुविधा का इस्तेमाल किया जाता है. इसमें उपयोगकर्ताओं को मैन्युअल तरीके से कोई क्रेडेंशियल डालने की ज़रूरत नहीं होती.

आईएमएस एनटाइटलमेंट सर्वर वाले कैरियर, सेवा उपलब्ध कराने के लिए आईएमएस सेवा एनटाइटलमेंट सुविधा का इस्तेमाल कर सकते हैं. इस सुविधा को अपनाने से ये फ़ायदे मिलते हैं:

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

भवन निर्माण

नीचे दिए गए डायग्राम में, आईएमएस सेवा के एनटाइटलमेंट की सुविधा के आर्किटेक्चर और उसके काम करने के तरीके के बारे में बताया गया है.

TS.43 एनटाइटलमेंट की सुविधा

पहली इमेज. 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 सेवा का एपीआई, कैरियर के एनटाइटलमेंट सर्वर को एचटीटीपी अनुरोध भेजता है, ताकि EAP-AKA चैलेंज शुरू किया जा सके.

(3) TS.43 सेवा का एपीआई, टेलीफ़ोनी एपीआई (उदाहरण के लिए, getIccAuthentication) को कॉल करता है, ताकि EAP-AKA चैलेंज-रिस्पॉन्स को पूरा किया जा सके.

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

(5) TS.43 सेवा, क्लाइंट ऐप्लिकेशन को सेवा का एनटाइटलमेंट या कॉन्फ़िगरेशन डेटा दिखाती है.

(6) क्लाइंट ऐप्लिकेशन, डेटा को मैनेज करता है. साथ ही, उपयोगकर्ता के लिए कैरियर के सेवा पोर्टल को रेंडर करता है, ताकि उपयोगकर्ता सेवा को चालू कर सके. हालांकि, ऐसा करना ज़रूरी नहीं है.

SDK टूल इंटिग्रेशन

इस सेक्शन में, service_entitlement लाइब्रेरी और ImsServiceEntitlement ऐप्लिकेशन को इंटिग्रेट करने की प्रोसेस के बारे में बताया गया है.

Android 12 API पर निर्भरता न होने की वजह से, service_entitlement लाइब्रेरी और ImsServiceEntitlement ऐप्लिकेशन को Android के पुराने प्लैटफ़ॉर्म पर वापस लाया जा सकता है.

service_entitlement लाइब्रेरी

service_entitlement लाइब्रेरी को ImsServiceEntitlement app में स्टैटिक तौर पर लिंक किया गया है. इसलिए, ImsServiceEntitlement ऐप्लिकेशन में लाइब्रेरी को इंटिग्रेट करने के लिए, कोई अतिरिक्त चरण पूरे करने की ज़रूरत नहीं है.

service_entitlement लाइब्रेरी को, TS.43 के इस्तेमाल के उदाहरणों के लिए अपने ऐप्लिकेशन के साथ इंटिग्रेट किया जा सकता है. जैसे, डेटा प्लान और ओडीएसए. इस लाइब्रेरी को, EAP-AKA प्रोटोकॉल पर आधारित TS.43 एनटाइटलमेंट के इस्तेमाल के उदाहरणों के अलावा, किसी अन्य ऐप्लिकेशन में भी इंटिग्रेट किया जा सकता है.

यहां इस्तेमाल के ऐसे उदाहरणों के लिए, एपीआई के बारे में बताया गया है:

  • TS.43 एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाला TS.43 ऐप्लिकेशन, लाइब्रेरी में लागू किया गया है: ServiceEntitlement क्लास में मौजूद एपीआई का इस्तेमाल करें
  • TS.43 के अलावा अन्य ऐप्लिकेशन, लाइब्रेरी में लागू किए गए EAP-AKA प्रोटोकॉल का इस्तेमाल कर रहे हैं: 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 v5.0 स्पेसिफ़िकेशन के मुताबिक, TS.43 एनटाइटलमेंट ऐप्लिकेशन के साथ ये कैरियर काम करते हैं:

  • अमेरिका: 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 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