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

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

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

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

  • इस सुविधा का इस्तेमाल कई प्रॉडक्ट और ओईएम के लिए किया जा सकता है. इसलिए, इससे कैरियर के लिए टेस्टिंग और सर्टिफ़िकेशन की लागत कम हो जाती है.
  • यह डिवाइस बनाने वाली कंपनियों के लिए, डेवलपमेंट के खर्च को कम करता है. इसके लिए, यह स्टैंडर्ड 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 सेवा को, सेवा से जुड़े अधिकार या कॉन्फ़िगरेशन का डेटा मिलता है. यह डेटा, EAP-AKA के जवाब की पुष्टि होने के बाद, कैरियर के एनटाइटलमेंट सर्वर से मिलता है.

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

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

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

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

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

service_entitlement लाइब्रेरी

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

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