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

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

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

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

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

GMS पार्टनर:

जिन मोबाइल और इंटरनेट सेवा देने वाली कंपनियों के नेटवर्क पर TS.43 स्पेसिफ़िकेशन काम नहीं करता उनके लिए, GMS पार्टनर WFC चालू करने वाले ऐप्लिकेशन का इस्तेमाल कर सकते हैं. यह ऐप्लिकेशन, GMS डिवाइसों पर अनबंड किए गए ऐप्लिकेशन के तौर पर उपलब्ध होता है. इसका इस्तेमाल करके, IMS नेटवर्क सेवाएं चालू की जा सकती हैं.

अगर आपको IMS सेवा एनटाइटलमेंट की सुविधा से जुड़ी सुविधाओं के लिए अनुरोध करने हैं, तो अपने Google प्रतिनिधि से संपर्क करें या gms-connectivity-apps@google.com पर ईमेल भेजें.

भवन निर्माण

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

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

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

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

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

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

  • लाइब्रेरी में लागू किए गए TS.43 एचटीटीपी प्रोटोकॉल का इस्तेमाल करने वाला TS.43 ऐप्लिकेशन: ServiceEntitlement क्लास में एपीआई का इस्तेमाल करें
  • लाइब्रेरी में लागू किए गए EAP-AKA प्रोटोकॉल का इस्तेमाल करने वाला ऐसा ऐप्लिकेशन जो TS.43 के दायरे में नहीं आता: EapAkaHelper क्लास में मौजूद एपीआई का इस्तेमाल करें

GMS पार्टनर: यहां TS.43 एनटाइटलमेंट सर्वर वेंडर दिए गए हैं. Android 12 में, service_entitlement लाइब्रेरी की जांच इनके साथ की गई है.

  • Ericsson
  • HPE
  • Nokia

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, 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