आईएमएस सेवा का अधिकार

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

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

जिन कैरियर के पास IMS एनटाइटलमेंट सर्वर हैं वे सेवा देने के लिए, IMS सेवा एनटाइटलमेंट की सुविधा का इस्तेमाल कर सकते हैं. इस सुविधा को इस्तेमाल करने के ये फ़ायदे हैं:

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

भवन निर्माण

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

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

पहली इमेज. TS.43 एनटाइटलमेंट की सुविधा का आर्किटेक्चर

जैसा कि पहली इमेज में दिखाया गया है, आईएमएस सेवा के एनटाइटलमेंट की सुविधा के आर्किटेक्चर में ये कॉम्पोनेंट शामिल हैं:

  • 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 API पर कोई डिपेंडेंसी नहीं है. इसलिए, service_entitlement लाइब्रेरी और ImsServiceEntitlement ऐप्लिकेशन को पुराने Android प्लैटफ़ॉर्म पर बैकपोर्ट किया जा सकता है.

service_entitlement लाइब्रेरी

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

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

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

  • लाइब्रेरी में लागू किए गए TS.43 एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाला TS.43 ऐप्लिकेशन: ServiceEntitlement क्लास में एपीआई का इस्तेमाल करें
  • लाइब्रेरी में लागू किए गए EAN-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 के वर्शन 5.0 के मुताबिक इन मोबाइल और इंटरनेट सेवा देने वाली कंपनियों के साथ काम करता है:

  • अमेरिका: CSpire, US Cellular, Cellcom
  • फ़्रांस: Orange

IMS प्रोवाइज़निंग के लिए अतिरिक्त सिस्टम यूज़र इंटरफ़ेस (यूआई)

इस सेक्शन में बताया गया है कि OEM, आईएमएस सेवा की सुविधा सेट अप करने से जुड़े अतिरिक्त सिस्टम यूज़र इंटरफ़ेस (यूआई) एलिमेंट को कैसे इस्तेमाल कर सकते हैं. उदाहरण के लिए, 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