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