Android 13 या उच्चतर चलाने वाले उपकरणों के लिए, Android eUICC के लिए एकाधिक सक्षम प्रोफ़ाइल (MEPs) का समर्थन करता है। यह सुविधा उपकरणों को एकल eSIM चिप का उपयोग करके दोहरी सिम समर्थन की अनुमति देती है, जिसमें कई सिम प्रोफाइल हो सकते हैं और एक ही समय में दो अलग-अलग वाहक से जुड़ सकते हैं। डिवाइस निर्माताओं को अपने उपकरणों पर इस सुविधा को एकीकृत करने के लिए SoC विक्रेताओं और eSIM चिपसेट विक्रेताओं के साथ काम करना चाहिए।
पार्श्वभूमि
Android 12 और उससे पहले के संस्करण चलाने वाले उपकरणों पर, AOSP एक eSIM को एक ही समय में कई प्रोफाइल का समर्थन करने की अनुमति देने में सीमित समर्थन प्रदान करता है। महत्वपूर्ण स्थान और लागत बचत के बावजूद जो eSIM प्रदान करता है, दोहरे सिम समर्थन की यह कमी डिवाइस निर्माताओं को eSIM-only डिवाइसों को अपनाने से रोकती है। केवल eSIM डिवाइस पर डुअल सिम सपोर्ट प्रदान करने के लिए, डिवाइस निर्माताओं को डिवाइस में दो eSIM एलिमेंट्स को पैक करना होता है, जिससे बिल ऑफ मटीरियल (BOM) की लागत बढ़ जाती है और सब्सक्रिप्शन प्रबंधन के लिए खराब उपयोगकर्ता अनुभव होता है। Android 13 से AOSP में उपलब्ध MEP सुविधा इस समस्या का समाधान करती है।
ईयूआईसीसी वास्तुकला परिवर्तन
यह खंड एंड्रॉइड 13 चलाने वाले एमईपी वाले उपकरणों और एमईपी एंड्रॉइड 12 और उससे कम के बिना चलने वाले उपकरणों के लिए ईएसआईएम चिप आर्किटेक्चर की तुलना प्रदान करता है। MEP का समर्थन करने वाले उपकरणों के लिए जैसा कि चित्र 1 में दिखाया गया है, eSIM स्लॉट में कई eUICC पोर्ट होते हैं, जहाँ प्रत्येक पोर्ट में एक सक्षम प्रोफ़ाइल हो सकती है। इस वास्तुकला के साथ, एक एकल eUICC (एक भौतिक स्लॉट) दोहरी सिम दोहरे स्टैंडबाय (DSDS) का समर्थन करता है, जिसमें प्रत्येक eUICC पोर्ट एक मॉडेम बेसबैंड से जुड़ा होता है। चित्रा 2 एमईपी के बिना उपकरणों के लिए ईएसआईएम चिप आर्किटेक्चर का वर्णन करता है।
चित्रा 1. एमईपी समर्थन के साथ ईएसआईएम चिप आर्किटेक्चर (एंड्रॉइड 13 या उच्चतर)
चित्रा 2. एमईपी समर्थन के बिना ईएसआईएम चिप आर्किटेक्चर (एंड्रॉइड 12 या उससे कम)
एकाधिक सक्षम प्रोफ़ाइलों के लिए API सूचना प्रवाह
चित्र 3 Android 13 में eUICC के लिए MEP के लिए सूचना प्रवाह का वर्णन करता है। टेलीफोनी ढांचे में UiccPort
वर्ग शामिल है, जो eUICC पर भौतिक संरचना का प्रतिनिधित्व करता है। UiccPort
वर्ग का उपयोग सभी प्रकार के सिम कार्डों के लिए किया जाता है: भौतिक सिम (pSIM), एकीकृत सिम (iSIM), और एम्बेडेड सिम (eSIM)। एक से अधिक पोर्ट वाले eUICC के लिए, एक एकल UiccSlot
ऑब्जेक्ट और UiccCard
ऑब्जेक्ट कई UiccPort
इंस्टेंस के लिए मैप करता है। प्रत्येक UiccPort
इंस्टेंस अधिक से अधिक एक UiccProfile
इंस्टेंस से लिंक हो सकता है। यह प्रवाह UiccPort
को लॉजिकल स्लॉट में मैप करने की अनुमति देता है और UiccSlot
(भौतिक स्लॉट) को कई लॉजिकल स्लॉट में मैप करने की अनुमति देता है।
चित्रा 3. एमईपी समर्थन के साथ ईयूआईसीसी के लिए सूचना प्रवाह
कार्यान्वयन
यह खंड वर्णन करता है कि एचएएल आवश्यकताओं, एपीआई और यूजर इंटरफेस के बारे में विवरण सहित एमईपी सुविधा को कैसे लागू किया जाए। डिवाइस निर्माताओं को एमईपी का समर्थन करने के लिए एसओसी विक्रेताओं और ईएसआईएम चिपसेट विक्रेताओं के साथ काम करना चाहिए।
एचएएल आवश्यकताएं
ईयूआईसीसी के लिए एमईपी का समर्थन करने के लिए, निम्नलिखित इराडियो 2.0 एआईडीएल एचएएल एपीआई लागू करें।
कार्ड स्थिति
मॉडेम को getIccCardStatusResponse
विधि की प्रतिक्रिया के रूप में CardStatus
API का समर्थन करना चाहिए। प्रतिक्रिया में पोर्ट इंडेक्स और SimPortSlotMapping
द्वारा निर्दिष्ट भौतिक स्लॉट इंडेक्स शामिल होना चाहिए।
सिम स्लॉट स्थिति
मॉडेम को getSimSlotsStatus
विधि के प्रतिसाद के रूप में SimSlotStatus
API का समर्थन करना चाहिए। सिम स्लॉट स्थिति में SimPortInfo
इंटरफ़ेस की एक सरणी शामिल होती है, जिसमें पोर्ट इंडेक्स, सक्षम प्रोफ़ाइल के लिए ICCID और पोर्ट स्थिति शामिल होती है। मॉडेम को कम से कम दो SimPortInfo
ऑब्जेक्ट वापस करना चाहिए।
सेट सिम स्लॉट मैपिंग
setSimSlotMapping
विधि को SimPortSlotMapping
की एक सरणी पास करनी होगी। सरणी का सूचकांक तार्किक स्लॉट है और SimPortSlotMapping
संबंधित मैप किए गए पोर्ट और भौतिक स्लॉट अनुक्रमणिका को निर्दिष्ट करता है। setSimSlotMapping
विधि मैपिंग को पोर्ट से तार्किक स्लॉट में सेट करती है। एलपीए ऐप सक्रिय पोर्ट का चयन करने के लिए इस पद्धति का उपयोग करता है।
ईयूआईसीसी के लिए एमईपी का समर्थन करने वाले एपीआई
एओएसपी टेलीफोनी स्टैक के हिस्से के रूप में कई सक्षम प्रोफाइल का समर्थन करने वाले एंड्रॉइड डिवाइसों को निम्नलिखित एपीआई का समर्थन करने की आवश्यकता होती है।
UiccCardInfo
- (Android 13 और उच्चतर)
isMultipleEnabledProfilesSupported
: यह लौटाता है कि क्या यह UICC MEP का समर्थन करता है। - (एंड्रॉइड 13 और उच्चतर)
getPorts
: किसी विशेष UICC के लिए सभी संभावित पोर्ट की सूची देता है। यदि UICC एक pSIM या eSIM है जो MEP का समर्थन नहीं करता है, तो एक तत्व की सूची देता है। - (बहिष्कृत)
getIccId
: एक ICCID लौटाता है। क्योंकि एक UICC में MEP वाले उपकरणों के लिए एक से अधिक ICCID हो सकते हैं, इसके बजायUiccPortInfo.getIccId()
का उपयोग करें।
(एंड्रॉइड 13 और उच्चतर) UiccPortInfo
-
getIccId
: यदि इस पोर्ट पर सक्षम सदस्यता है तो ICCID लौटाता है। -
getPortIndex
: पोर्ट इंडेक्स लौटाता है। -
getLogicalSlotIndex
: सक्रिय तार्किक मॉडेम स्टैक इंडेक्स देता है।
सदस्यता जानकारी
- (एंड्रॉइड 13 और उच्चतर)
getPortIndex
: उस पोर्ट इंडेक्स को लौटाता है जिस पर सब्सक्रिप्शन सक्षम है। यदि सदस्यता अक्षम है, तोINVALID_PORT_ID -1
लौटाता है।
ईयूआईसीसी प्रबंधक
-
switchToSubscription
: किसी दिए गए सब्सक्रिप्शन पर स्विच करता है। उन ऐप्स द्वारा उपयोग किया जाता है जिनके पास सक्रिय सदस्यता पर वाहक विशेषाधिकार नहीं है। जब कॉल किया जाता है, तो प्लेटफ़ॉर्म आंतरिक रूप से पोर्ट इंडेक्स को तीन-विकल्प चयन संवाद के माध्यम से हल करता है, यदि कोई उपलब्ध पोर्ट नहीं है, तो चयनित सक्रिय सदस्यता को अक्षम करने के लिए। Android 13 और उच्चतर को लक्षित करने वाले ऐप्स को अमान्य सदस्यता आईडी पास करके सदस्यता को अक्षम करने के लिए इस API का उपयोग नहीं करना चाहिए; इसके बजाय उन्हें निर्दिष्ट पोर्ट इंडेक्स के साथswitchToSubscription
मेथड (एंड्रॉइड 13 में जोड़ा गया) का उपयोग करना चाहिए। - (एंड्रॉइड 13 और उच्चतर) स्विच
switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback)
: किसी दिए गए सब्सक्रिप्शन पर स्विच करता है। सक्रिय सदस्यता पर वाहक विशेषाधिकार वाले कॉलिंग ऐप्स निर्दिष्ट कर सकते हैं कि सदस्यता को किस पोर्ट पर सक्षम करना है। - (एंड्रॉइड 13 और उच्चतर)
isSimPortAvailable
: यह लौटाता है कि पासिंग पोर्ट इंडेक्स उपलब्ध है या नहीं। एक पोर्ट उपलब्ध है यदि इसमें कोई सदस्यता सक्षम नहीं है या कॉलिंग ऐप के पास चयनित पोर्ट पर स्थापित सदस्यता पर वाहक विशेषाधिकार है।
ईयूआईसीसी सेवा
- (एंड्रॉइड 13 और उच्चतर)
onSwitchToSubscriptionWithPort
: किसी निर्दिष्ट पोर्ट पर दिए गए सब्सक्रिप्शन पर स्विच करता है। एलपीए कार्यान्वयन को एंड्रॉइड 13 और उच्चतर पर इसका समर्थन करना चाहिए।
टेलीफोनी प्रबंधक
- (एंड्रॉइड 13 और उच्चतर)
getSimApplicationState
: कार्ड एप्लिकेशन की स्थिति को इंगित करने वाला एक स्थिरांक देता है। यह एपीआई भौतिक स्लॉट इंडेक्स और पोर्ट इंडेक्स दोनों को पास करता है।getSimApplicationState(int physicalSlotIndex)
विधि (बहिष्कृत)simApplicationState
ऑब्जेक्ट प्राप्त करने के लिए केवल भौतिक स्लॉट इंडेक्स पास करती है। - (एंड्रॉइड 13 और उच्चतर)
setSimSlotMapping(Collection<UiccSlotMapping> slots)
: तार्किक स्लॉट को भौतिक स्लॉट और पोर्ट पर मैप करता है। - (एंड्रॉइड 13 और उच्चतर)
Collection<UiccSlotMapping> getSimSlotMapping
: लॉजिकल स्लॉट से भौतिक सिम स्लॉट और पोर्ट इंडेक्स में मैपिंग प्राप्त करता है।
प्रयोक्ता इंटरफ़ेस
ईएसआईएम पोर्ट चयन की अस्पष्टता को हल करने के लिए, एमईपी का समर्थन करने वाले उपकरणों पर, उपयोगकर्ताओं को एक नई सदस्यता को सक्षम करने के लिए सक्रिय सदस्यता में से एक को अक्षम करने में सक्षम होना चाहिए। एंड्रॉइड 13 में, एओएसपी में तीन-विकल्प वाले संवाद के साथ एक उपयोगकर्ता प्रवाह शामिल होता है जिसे सेटिंग ऐप से उपयोगकर्ता प्रवाह को सक्षम करने वाली सदस्यता पर लागू किया जा सकता है। चित्र 4 इस UX प्रवाह का एक उदाहरण दिखाता है।
चित्र 4. सिम सदस्यता को सक्षम करने के लिए उपयोगकर्ता प्रवाह
फ़ीचर झंडे
एमईपी का समर्थन करने के लिए, उपकरणों को निम्नलिखित फीचर फ्लैग घोषित करना होगा:
एलपीए कार्यान्वयन
एमईपी का समर्थन करने के लिए, सुनिश्चित करें कि आपका एलपीए कार्यान्वयन निम्नलिखित आवश्यकताओं को पूरा करता है:
- कई बंदरगाहों का समर्थन करने के लिए EuiccService से एपीआई लागू करता है।
- पोर्ट चयन और प्रोफ़ाइल सक्षम करने के लिए API का उपयोग करता है।
- UX को कैरियर ऐप्स को चयनित पोर्ट पर प्रोफाइल सक्षम करने की अनुमति देता है।
मान्यकरण
एमईपी सुविधा के अपने कार्यान्वयन का परीक्षण करने के लिए, सुनिश्चित करें कि बिल्ड निम्नलिखित सीटीएस परीक्षण मामलों (सार्वजनिक एपीआई के लिए) पास करते हैं: /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts
।
डिवाइस निर्माताओं को यह सुनिश्चित करने के लिए अपने मॉडेम, eUICC चिप और eSIM OS विक्रेताओं के साथ भी काम करना चाहिए कि डिवाइस निम्न कार्य कर सकता है:
- दो eSIM प्रोफाइल को सक्षम किया जा सकता है और दो अलग-अलग नेटवर्क से जोड़ा जा सकता है।
- eSIM प्रोफाइल को किसी भी eSIM पोर्ट पर सक्रिय और निष्क्रिय किया जा सकता है।
- कैरियर ऐप द्वारा ट्रिगर किया गया एक UX प्रवाह है जो उपयोगकर्ताओं को प्रोफ़ाइल स्विच करने की अनुमति देता है।