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