Android 12 में, एमएमटीईएल और आरसीएस की सुविधाएं देने के लिए, सिंगल रजिस्ट्रेशन मॉडल की सुविधा जोड़ी गई है. इस मॉडल की मदद से, डिवाइसों पर आईएमएस की सभी सुविधाओं को मैनेज किया जा सकता है. इसके लिए, डिवाइस के ImsService से मिले एक ही आईएमएस रजिस्ट्रेशन का इस्तेमाल किया जाता है. साथ ही, यह मॉडल कुछ टेलीकॉम कंपनियों की ज़रूरी शर्तों का पालन करता है. डुअल रजिस्ट्रेशन मॉडल की तुलना में, सिंगल रजिस्ट्रेशन से मोबाइल और इंटरनेट सेवा देने वाली कंपनी के नेटवर्क पर ट्रैफ़िक कम होता है. डुअल रजिस्ट्रेशन मॉडल में, एक ही डिवाइस पर कई आईएमएस रजिस्ट्रेशन मैनेज किए जाते हैं. साथ ही, सिंगल रजिस्ट्रेशन से नेटवर्क की विश्वसनीयता बढ़ती है.
Android 12 में, सिंगल रजिस्ट्रेशन मॉडल काम करता है. इसके लिए, एक आर्किटेक्चर का इस्तेमाल किया जाता है. इसमें एपीआई का एक सेट होता है. इससे AOSP टेलीफ़ोनी स्टैक, ImsService की ओर से उपलब्ध कराई गई MMTEL सुविधाओं और उपयोगकर्ता की ओर से चुने गए आरसीएस मैसेजिंग ऐप्लिकेशन की ओर से उपलब्ध कराई गई आरसीएस सुविधाओं, दोनों को मैनेज कर पाता है. आईएमएस सिंगल रजिस्ट्रेशन की सुविधा देने के लिए, डिवाइस बनाने वाली कंपनियों और SoC वेंडर को इन एपीआई को लागू करना होगा. इससे, उपयोगकर्ता की ओर से चुने गए आरसीएस मैसेजिंग ऐप्लिकेशन में आरसीएस की सुविधाएं चालू की जा सकेंगी.
पहली इमेज में, आईएमएस सिंगल रजिस्ट्रेशन मॉडल का इस्तेमाल करते समय, डिवाइस के आईएमएस स्टैक को दिखाया गया है. सभी आईएमएस ऐप्लिकेशन, एक ही आईएमएस रजिस्ट्रेशन पर एमएमटीईएल और आरसीएस सुविधाओं के लिए, डिवाइस की डिफ़ॉल्ट ImsService का इस्तेमाल करते हैं. इसमें प्रोविज़निंग, एसआईपी मैसेज फ़ॉरवर्ड करना, और आरसीएस उपयोगकर्ता की क्षमता का एक्सचेंज शामिल है.
पहली इमेज. सिंगल रजिस्ट्रेशन मॉडल का आर्किटेक्चर
Android 11 और इससे पहले के वर्शन में, एमएमटीईएल और आरसीएस की सुविधाएं देने के लिए, सिर्फ़ ड्यूअल रजिस्ट्रेशन मॉडल काम करता है. इसमें एमएमटीईएल की सुविधा, डिवाइस की ImsService से मिलती है. वहीं, आरसीएस की सुविधाएं, टॉप पर लागू की जाती हैं. साथ ही, ये अपने आईएमएस स्टैक और मोबाइल और इंटरनेट सेवा देने वाली कंपनी के नेटवर्क से कनेक्शन को अलग से मैनेज करती हैं.
दूसरी इमेज में, दोहरे रजिस्ट्रेशन मॉडल का आर्किटेक्चर दिखाया गया है. इस मॉडल में, हर ऐप्लिकेशन की यह ज़िम्मेदारी होती है कि वह कैरियर के नेटवर्क से कनेक्ट हो और MMTEL और आरसीएस सुविधाओं के लिए आईएमएस रजिस्ट्रेशन करे. डिवाइस की ImsService, MMTEL को लागू करती है. यह कैरियर नेटवर्क से कनेक्ट होने के लिए, डिवाइस के IMS डेटा कनेक्शन का इस्तेमाल करती है. साथ ही, यह अन्य RCS ऐप्लिकेशन से अलग काम करती है.
दूसरी इमेज. ड्यूल रजिस्ट्रेशन मॉडल का आर्किटेक्चर
आईएमएस सिंगल रजिस्ट्रेशन एपीआई
जिन डिवाइसों में कैरियर के लिए आईएमएस सिंगल रजिस्ट्रेशन की ज़रूरत होती है उनमें आईएमएस सिंगल रजिस्ट्रेशन एपीआई काम करना चाहिए. साथ ही, Android की सुविधा PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION को तय करना चाहिए.
तीसरी इमेज में, IMS के सिंगल रजिस्ट्रेशन की सुविधा देने वाले एपीआई दिखाए गए हैं.
तीसरी इमेज. आईएमएस सिंगल रजिस्ट्रेशन की सुविधा के साथ काम करने वाले हाई-लेवल एपीआई प्लैटफ़ॉर्म
AOSP टेलीफ़ोनी स्टैक के तहत, आईएमएस सिंगल रजिस्ट्रेशन की सुविधा देने वाले Android डिवाइसों के लिए, यह ज़रूरी है कि वे नीचे दी गई टेबल में बताए गए सभी AOSP एपीआई के साथ काम करें.
| एपीआई का दायरा | RCS ऐप्लिकेशन के एपीआई | वेंडर के आईएमएस एपीआई | ब्यौरा |
|---|---|---|---|
| आरसीएस प्रोविज़निंग | ProvisioningManager | ImsConfigImplBase | इससे ओईएम या मोबाइल और इंटरनेट सेवा देने वाली कंपनी को, RCS की सुविधा चालू करने की स्थिति को अपडेट करने के लिए ऐप्लिकेशन उपलब्ध कराने की अनुमति मिलती है. ऐसा तब होता है, जब मोबाइल और इंटरनेट सेवा देने वाली कंपनी, एनटाइटलमेंट की पुष्टि करने के लिए अपनी खास तकनीक का इस्तेमाल करती है. ImsService को स्टैंडर्ड ऑटो कॉन्फ़िगरेशन सर्वर (एसीएस) के साथ भी काम करना चाहिए. इससे, उन मोबाइल और इंटरनेट सेवा देने वाली कंपनियों के लिए प्रावधान किया जा सकेगा जो मालिकाना हक वाले तरीके का इस्तेमाल नहीं करती हैं. |
| एसआईपी मैसेज फ़ॉरवर्ड करना | SipDelegateManager | SipTransportImplBase | इस कुकी की मदद से, आरसीएस ऐप्लिकेशन को डिवाइस ImsService के साथ आरसीएस की खास सुविधा वाले टैग जोड़ने की अनुमति मिलती है. इसके बाद, वह उन आरसीएस सुविधा वाले टैग से जुड़े एसआईपी मैसेज भेज और पा सकता है. साथ ही, आईएमएस रजिस्ट्रेशन अपडेट भी भेज और पा सकता है. |
| डेडिकेटेड बियरर से जुड़ी सूचनाएं | ConnectivityManager | DataCallResponse | इससे ऐप्लिकेशन को किसी खास लोकल पोर्ट से जुड़े सॉकेट पर, सेवा की क्वालिटी (क्यूओएस) से जुड़ी सूचनाएं सुनने की अनुमति मिलती है. |
| जीबीए की पुष्टि | bootstrapAuthenticationRequest | GbaService | इस कुकी की मदद से, आरसीएस ऐप्लिकेशन को नेटवर्क से पुष्टि करने और आरसीएस की सुविधाओं के लिए इस्तेमाल की जाने वाली ऐक्सेस कुंजियों को ऐक्सेस करने की अनुमति मिलती है. जैसे, फ़ाइल ट्रांसफ़र करना. |
| आरसीएस का इस्तेमाल करने वाले व्यक्ति की सुविधाओं के बारे में जानकारी शेयर करना | ImsRcsManager | RcsCapabilityExchangeImplBase | इससे AOSP को, वेंडर की ImsService को अपनी MMTEL और आरसीएस की सुविधाएं भेजने की अनुमति मिलती है. इससे, आरसीएस का इस्तेमाल करने वाले लोगों के लिए, नेटवर्क पर एक ही इकाई के तहत इन सुविधाओं को पब्लिश किया जा सकता है. यह सुविधा, आरसीएस की सुविधाओं में दिलचस्पी रखने वाले अन्य ऐप्लिकेशन को भी अनुमति देती है. इससे वे एक या उससे ज़्यादा संपर्कों के लिए, नेटवर्क से आरसीएस की सुविधाओं के बारे में क्वेरी कर सकते हैं. |
सुरक्षा और अनुमतियां
Android 12 में, कैरियर के नेटवर्क और उपयोगकर्ता के डेटा को सुरक्षित तरीके से ऐक्सेस करने के लिए, ये अनुमतियां दी गई हैं:
android.permission.PERFORM_IMS_SINGLE_REGISTRATIONandroid.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE
android.permission.PERFORM_IMS_SINGLE_REGISTRATION अनुमति को आरसीएस की सुविधाओं वाले मैसेजिंग ऐप्लिकेशन से तय किया जाना चाहिए. यह अनुमति पाने के लिए, इन शर्तों का पूरा होना ज़रूरी है:
- ऐप्लिकेशन को खास ऐप्लिकेशन के तौर पर इंस्टॉल किया जाना चाहिए. इसका मतलब है कि यह डिवाइस पर पहले से इंस्टॉल होना चाहिए और इसे खास अनुमतियों को ऐक्सेस करने की अनुमति होनी चाहिए
- ऐप्लिकेशन को उपयोगकर्ता के डिफ़ॉल्ट एसएमएस ऐप्लिकेशन के तौर पर सेट किया जाना चाहिए. इसके लिए,
RoleManagerका इस्तेमाल करना होगा
अगर ये दोनों शर्तें पूरी नहीं होती हैं, तो ऐप्लिकेशन को android.permission.PERFORM_IMS_SINGLE_REGISTRATION को ऐक्सेस करने की अनुमति नहीं दी जाती. इसका मतलब है कि तीसरे पक्ष के ऐप्लिकेशन को आरसीएस के सिंगल रजिस्ट्रेशन एपीआई ऐक्सेस करने की अनुमति नहीं है. ऐसा इसलिए, क्योंकि इसके लिए डिवाइस पर मोबाइल और इंटरनेट सेवा देने वाली कंपनी का सर्टिफ़िकेशन ज़रूरी है.
अगर किसी ऐप्लिकेशन को READ_CONTACTS अनुमति के साथ-साथ android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE अनुमति भी दी जाती है, तो वह RcsUceAdapter का इस्तेमाल करके, फ़ोन नंबरों के लिए आरसीएस की सुविधाओं का अनुरोध कर सकता है.
यह अनुमति पाने के लिए, यहां दी गई शर्तें पूरी होनी चाहिए:
- ऐप्लिकेशन को खास सुविधाओं वाले ऐप्लिकेशन के तौर पर इंस्टॉल किया जाना चाहिए. इसका मतलब है कि यह डिवाइस पर पहले से इंस्टॉल होना चाहिए और इसे खास अनुमतियां ऐक्सेस करने की अनुमति होनी चाहिए.
ऐप्लिकेशन को इनमें से किसी एक
RoleManagerभूमिका के तौर पर तय किया जाना चाहिए:- डिफ़ॉल्ट मैसेजिंग ऐप्लिकेशन: इसे उपयोगकर्ता सेट करता है.
- डिफ़ॉल्ट डायलर ऐप्लिकेशन: उपयोगकर्ता ने सेट किया हो.
- डिफ़ॉल्ट संपर्क ऐप्लिकेशन: Android 12 में पेश किया गया एक रोल, जो ओईएम को डिवाइस ओवरले वैल्यू
config_systemContactsके ज़रिए पैकेज का नाम तय करने की अनुमति देता है. यह नाम, डिवाइस के संपर्क ऐप्लिकेशन से मेल खाना चाहिए. इसके बाद, उस ऐप्लिकेशन को संपर्क ऐप्लिकेशन का रोल दिया जाता है.
डेटा ट्रैफ़िक को सेट अप और मैनेज करने के लिए, ConnectivityManager का इस्तेमाल करके IMS APN को ऐक्सेस करने के लिए, ऐप्लिकेशन को android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS अनुमति का अनुरोध भी करना होगा.
उदाहरण और सोर्स
Android, AOSP में एक ऐसा ऐप्लिकेशन उपलब्ध कराता है जो बुनियादी आरसीएस मैसेजिंग की सुविधा के साथ एक टेस्ट मैसेजिंग ऐप्लिकेशन को लागू करता है. इसका इस्तेमाल टेस्टिंग और डेवलपमेंट के लिए किया जाता है. आपको यह ऐप्लिकेशन
testapps/TestRcsApp पर मिल सकता है.
किसी डिवाइस पर ऐप्लिकेशन इंस्टॉल होने के बाद, उसे उपयोगकर्ता के डिफ़ॉल्ट मैसेजिंग ऐप्लिकेशन के तौर पर सेट किया जा सकता है. साथ ही, उसके पास आईएमएस सिंगल रजिस्ट्रेशन एपीआई को ऐक्सेस करने के लिए ज़रूरी अनुमतियां होंगी.
Android, आरसीएस के लिए ImsService को लागू करने का एक सैंपल भी उपलब्ध कराता है. सोर्स कोड
/testapps/ImsTestService पर
उपलब्ध है.
लागू करना
लागू करने के बारे में ज़्यादा जानकारी के लिए, Android में आईएमएस सिंगल रजिस्ट्रेशन डाउनलोड करें.
सत्यापन
IMS सिंगल रजिस्ट्रेशन को लागू करने की पुष्टि करने के लिए, यह तरीका अपनाएं:
- पक्का करें कि CtsTelephonyTestCases CTS टेस्ट सुइट पास हो गया हो.
- इंटिग्रेशन के दौरान, सिंगल रजिस्ट्रेशन के बुनियादी टेस्ट केस चलाने के लिए, TestRcsApp को इंस्टॉल करें और चलाएं.
- आईएमएस सिंगल रजिस्ट्रेशन के टेस्ट केस के लिए, कैरियर सर्टिफ़िकेशन पास करें.