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