आईएमएस सिंगल रजिस्ट्रेशन

Android 12 में, एमएमटीईएल और आरसीएस की सुविधाएं देने के लिए, एक ही रजिस्ट्रेशन मॉडल का इस्तेमाल किया जा सकता है. इस मॉडल में, डिवाइसों के लिए सभी आईएमएस सुविधाएं, एक ही आईएमएस रजिस्ट्रेशन के ज़रिए मैनेज की जा सकती हैं. इन सुविधाओं को डिवाइस के ImsService ने उपलब्ध कराया है. साथ ही, मोबाइल और इंटरनेट सेवा देने वाली कुछ कंपनियों की तय की गई ज़रूरी शर्तों को पूरा किया जा सकता है. एक ही डिवाइस पर कई IMS रजिस्ट्रेशन मैनेज करने वाले ड्यूअल रजिस्ट्रेशन मॉडल की तुलना में, सिंगल रजिस्ट्रेशन से कैरियर के नेटवर्क पर ट्रैफ़िक कम होता है और सेवा की भरोसेमंदता बढ़ती है.

Android 12, एक ही रजिस्ट्रेशन मॉडल के साथ काम करता है. इसके लिए, यह एक ऐसे आर्किटेक्चर का इस्तेमाल करता है जिसमें एपीआई का एक सेट होता है. इसकी मदद से, AOSP टेलीफ़ोनी स्टैक, ImsService के ज़रिए दी गई MMTEL सुविधाओं और उपयोगकर्ता के चुने गए आरसीएस मैसेजिंग ऐप्लिकेशन की आरसीएस सुविधाओं, दोनों को मैनेज कर सकता है. IMS के एक ही रजिस्ट्रेशन मॉडल के साथ काम करने के लिए, डिवाइस बनाने वाली कंपनियों और SoC वेंडर को इन एपीआई को लागू करना होगा. इससे, उपयोगकर्ता के चुने गए आरसीएस मैसेजिंग ऐप्लिकेशन में आरसीएस की सुविधाएं चालू हो सकेंगी.

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

सिंगल रजिस्ट्रेशन मोड आर्किटेक्चर

पहली इमेज. सिंगल रजिस्ट्रेशन मॉडल का आर्किटेक्चर

Android 11 और इससे पहले के वर्शन में, एमएमटीईएल और आरसीएस की सुविधाएं देने के लिए, सिर्फ़ ड्यूअल रजिस्ट्रेशन मॉडल काम करता है. इसमें एमएमटीईएल की सुविधा, डिवाइस की ImsService से मिलती है. साथ ही, आरसीएस की सुविधाएं, डिवाइस पर पहले से मौजूद IMS स्टैक और मोबाइल और इंटरनेट सेवा देने वाली कंपनी के नेटवर्क से अपने-आप कनेक्ट होती हैं.

इमेज 2 में, ड्यूअल रजिस्ट्रेशन मॉडल का आर्किटेक्चर दिखाया गया है. इस मॉडल में, हर ऐप्लिकेशन को कैरियर के नेटवर्क से कनेक्ट करने और MMTEL और आरसीएस सुविधाओं के लिए IMS रजिस्ट्रेशन सेट अप करने की ज़िम्मेदारी होती है. डिवाइस की ImsService, MMTEL को लागू करती है. साथ ही, मोबाइल और इंटरनेट सेवा देने वाली कंपनी के नेटवर्क के लिए, डिवाइस के IMS डेटा कनेक्शन का इस्तेमाल करती है. यह अन्य आरसीएस ऐप्लिकेशन से अलग तरीके से काम करती है.

ड्यूअल रजिस्ट्रेशन मोड का आर्किटेक्चर

दूसरी इमेज. ड्यूअल रजिस्ट्रेशन मॉडल का आर्किटेक्चर

IMS सिंगल रजिस्ट्रेशन API

मोबाइल और इंटरनेट सेवा देने वाली जिन कंपनियों के लिए IMS सिंगल रजिस्ट्रेशन की ज़रूरत होती है उनके लिए डिवाइसों में IMS सिंगल रजिस्ट्रेशन एपीआई का इस्तेमाल करना ज़रूरी है. साथ ही, उनमें Android की सुविधा PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION को भी तय करना ज़रूरी है. तीसरे चित्र में, ऐसे एपीआई दिखाए गए हैं जो IMS के एक बार के रजिस्ट्रेशन की सुविधा के साथ काम करते हैं.

IMS के एक बार के रजिस्ट्रेशन की सुविधा के साथ काम करने वाले एपीआई प्लैटफ़ॉर्म

तीसरी इमेज. IMS सिंगल रजिस्ट्रेशन के साथ काम करने वाले हाई-लेवल एपीआई प्लैटफ़ॉर्म

AOSP के टेलीफ़ोन स्टैक के हिस्से के तौर पर, IMS सिंगल रजिस्ट्रेशन की सुविधा वाले Android डिवाइसों के लिए, यहां दी गई टेबल में बताए गए सभी AOSP एपीआई काम करने चाहिए.

एपीआई का प्लैटफ़ॉर्म आरसीएस ऐप्लिकेशन के एपीआई वेंडर IMS API ब्यौरा
आरसीएस प्रॉविज़न ProvisioningManager ImsConfigImplBase अगर मोबाइल और इंटरनेट सेवा देने वाली कंपनी, मालिकाना हक वाले एनटाइटलमेंट मैकेनिज्म का इस्तेमाल करती है, तो OEM या मोबाइल और इंटरनेट सेवा देने वाली कंपनी, आरसीएस (रिच कम्यूनिकेशन सेवाएं) की सुविधा को चालू करने की स्थिति को अपडेट करने के लिए ऐप्लिकेशन उपलब्ध करा सकती है. ImsService को स्टैंडर्ड AutoConfigurationServer (एसीएस) के साथ भी काम करना चाहिए, ताकि उन कैरियर के लिए प्रोवाइडिंग की जा सके जो मालिकाना मशीनरी का इस्तेमाल नहीं करते.
SIP मैसेज फ़ॉरवर्ड करना SipDelegateManager SipTransportImplBase इससे आरसीएस ऐप्लिकेशन, डिवाइस ImsService के साथ आरसीएस की खास सुविधाओं के टैग को जोड़ सकता है. इसके बाद, उन आरसीएस सुविधाओं के टैग से जुड़े एसआईपी मैसेज और आईएमएस रजिस्ट्रेशन अपडेट भेज और पा सकता है.
खास तरह के बैनर के लिए सूचनाएं ConnectivityManager DataCallResponse इससे ऐप्लिकेशन को किसी सोकेट पर QoS सूचनाएं सुनने की अनुमति मिलती है. यह सोकेट, किसी खास लोकल पोर्ट से जुड़ा होता है.
GBA की पुष्टि bootstrapAuthenticationRequest GbaService इससे आरसीएस ऐप्लिकेशन को नेटवर्क की पुष्टि करने और फ़ाइल ट्रांसफ़र जैसी आरसीएस सुविधाओं के लिए इस्तेमाल की जाने वाली कुंजियों को ऐक्सेस करने की अनुमति मिलती है.
आरसीएस की सुविधाओं के बारे में उपयोगकर्ताओं के बीच जानकारी शेयर करना ImsRcsManager RcsCapabilityExchangeImplBase इससे AOSP को, वेंडर ImsService को अपनी MMTEL और आरसीएस सुविधाएं भेजने की सुविधा मिलती है, ताकि आरसीएस उपयोगकर्ता की सुविधाओं के एक्सचेंज के लिए, उन्हें नेटवर्क पर एक इकाई के तहत पब्लिश किया जा सके. साथ ही, एक या ज़्यादा संपर्कों की आरसीएस की सुविधाओं में दिलचस्पी रखने वाले अन्य ऐप्लिकेशन को, संपर्क आरसीएस की सुविधाओं के लिए नेटवर्क पर क्वेरी करने की अनुमति मिलती है.

सुरक्षा और अनुमतियां

Android 12 में ये अनुमतियां जोड़ी गई हैं, ताकि मोबाइल और इंटरनेट सेवा देने वाली कंपनी के नेटवर्क और उपयोगकर्ता के डेटा को सुरक्षित तरीके से ऐक्सेस किया जा सके:

android.permission.PERFORM_IMS_SINGLE_REGISTRATION अनुमति, मैसेजिंग ऐप्लिकेशन के ज़रिए तय की जानी चाहिए. यह ऐप्लिकेशन, आरसीएस की सुविधाओं के साथ काम करता हो. यह अनुमति मिलने के लिए, इन बातों का पालन करना ज़रूरी है:

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

अगर इन दोनों शर्तों को पूरा नहीं किया जाता है, तो ऐप्लिकेशन को android.permission.PERFORM_IMS_SINGLE_REGISTRATION अनुमति का ऐक्सेस नहीं दिया जाता. इसका मतलब है कि तीसरे पक्ष के ऐप्लिकेशन, आरसीएस के सिंगल रजिस्टरेशन वाले एपीआई को ऐक्सेस नहीं कर सकते, क्योंकि उन्हें डिवाइस पर मोबाइल और इंटरनेट सेवा देने वाली कंपनी का सर्टिफ़िकेट चाहिए.

अगर किसी ऐप्लिकेशन को android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE अनुमति दी जाती है और उसके पास READ_CONTACTS अनुमति भी है, तो वह ऐप्लिकेशन RcsUceAdapter का इस्तेमाल करके, फ़ोन नंबर की आरसीएस सुविधाओं का अनुरोध कर सकता है. यह अनुमति मिलने के लिए, ये शर्तें पूरी होनी चाहिए:

  • ऐप्लिकेशन को खास सुविधाओं वाले ऐप्लिकेशन के तौर पर इंस्टॉल किया जाना चाहिए. इसका मतलब है कि यह डिवाइस पर पहले से इंस्टॉल होता है और इसे खास अनुमतियां ऐक्सेस करने की अनुमति होती है.
  • ऐप्लिकेशन को इनमें से किसी एक RoleManager भूमिका के तौर पर तय किया जाना चाहिए:

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

डेटा ट्रैफ़िक को सेट अप और मैनेज करने के लिए, ConnectivityManager का इस्तेमाल करके IMS APN को ऐक्सेस करने के लिए, ऐप्लिकेशन को android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS की अनुमति का अनुरोध भी करना होगा.

उदाहरण और सोर्स

Android, AOSP में एक ऐप्लिकेशन उपलब्ध कराता है. यह ऐप्लिकेशन, टेस्टिंग और डेवलपमेंट के मकसद से, बुनियादी आरसीएस मैसेज सेवा के साथ टेस्ट मैसेजिंग ऐप्लिकेशन लागू करता है. आपको यह ऐप्लिकेशन, testapps/TestRcsApp पर मिलेगा. जब ऐप्लिकेशन किसी डिवाइस पर इंस्टॉल हो जाता है, तो उसे उपयोगकर्ता के डिफ़ॉल्ट मैसेजिंग ऐप्लिकेशन के तौर पर सेट किया जा सकता है. साथ ही, उसमें IMS सिंगल रजिस्ट्रेशन एपीआई को ऐक्सेस करने के लिए ज़रूरी अनुमतियां होंगी.

Android, आरसीएस के लिए ImsService को लागू करने का सैंपल भी उपलब्ध कराता है. सोर्स कोड /testapps/ImsTestService पर मौजूद है.

लागू करना

लागू करने के बारे में ज़्यादा जानकारी के लिए, Android में IMS सिंगल रजिस्ट्रेशन डाउनलोड करें.

पुष्टि करें

IMS के एक बार के रजिस्ट्रेशन की सुविधा को लागू करने की पुष्टि करने के लिए, यह तरीका अपनाएं:

  • पक्का करें कि CtsTelephonyTestCases के सीटीएस टेस्ट सुइट को पास किया गया हो.
  • इंटिग्रेशन के दौरान, बेसिक सिंगल रजिस्ट्रेशन टेस्ट केस चलाने के लिए, TestRcsApp को इंस्टॉल करें और चलाएं.
  • IMS सिंगल रजिस्ट्रेशन टेस्ट केस के लिए, कैरियर सर्टिफ़िकेशन पास करना.