आईएमएस सेवा के लिए सदस्यता

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

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

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

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

भवन निर्माण

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

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

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

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

  • service_entitlement TS.43 Service API की स्टैटिक लाइब्रेरी: यह लाइब्रेरी, TS.43 की खास बातों को लागू करती है और मोबाइल और इंटरनेट सेवा देने वाली कंपनी के एनटाइटलमेंट सर्वर से इंटरैक्ट करती है. साथ ही, TS.43 के इस्तेमाल के हर उदाहरण के लिए, ऐप्लिकेशन वाले एपीआई दिखाती है.
  • ImsServiceEntitlement क्लाइंट ऐप्लिकेशन: यह ऐप्लिकेशन, TS.43 Service API का इस्तेमाल करता है. ऐप्लिकेशन, यूज़र इंटरफ़ेस (यूआई) एलिमेंट को लागू करता है, जिनमें मोबाइल और इंटरनेट सेवा देने वाली कंपनी का सर्विस पोर्टल रेंडर करने के लिए वेबव्यू शामिल होते हैं. इससे उपयोगकर्ताओं को सेवाएं चालू करने और उपयोगकर्ता अनुभव को पूरी तरह मैनेज करने के लिए, Android के अन्य कॉम्पोनेंट से इंटरैक्ट करने में मदद मिलती है.

    मोबाइल और इंटरनेट सेवा देने वाली कंपनी के TS.43 पर आधारित एनटाइटलमेंट सर्वर के साथ काम करने के लिए, Android को कॉन्फ़िगर करने के तरीके के बारे में ज़्यादा जानकारी के लिए, ImsServiceEntitlement ऐप्लिकेशन देखें.

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

(1) क्लाइंट ऐप्लिकेशन, सेवा के एनटाइटलमेंट का अनुरोध करने के लिए, TS.43 सेवा एपीआई को शुरू करता है.

(2) TS.43 सेवा एपीआई, ईएपी-अकेए चैलेंज शुरू करने के लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनी के एनटाइटलमेंट सर्वर को एक एचटीटीपी अनुरोध भेजता है.

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

(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 ऐप्लिकेशन में लाइब्रेरी को इंटिग्रेट करने के लिए, कुछ और करने की ज़रूरत नहीं है.

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

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

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

ImsServiceEntitlement ऐप्लिकेशन

डिफ़ॉल्ट रूप से, Android में प्रॉडक्ट टाइप में इंस्टॉल किए गए ImsServiceEntitlement ऐप्लिकेशन को खास ऐप्लिकेशन के तौर पर शामिल किया जाता है. ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, इन कैरियर कॉन्फ़िगरेशन कुंजियों का इस्तेमाल करें:

सुरक्षा कुंजी वैल्यू
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
  • फ़्रांस: नारंगी

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

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

आईएमएस के प्रावधान को छोड़ा जा रहा है

आईएमएस के प्रावधान से बचने के लिए, आईएमएस सेवाएं उपलब्ध कराएं और उपयोगकर्ताओं को नेटवर्क के प्रावधान के बिना ऐसी सेवाएं चालू करने की अनुमति दें. इसके लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनी के कॉन्फ़िगरेशन 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