चालू की गई एक से ज़्यादा प्रोफ़ाइलें

Android 13 या इसके बाद के वर्शन वाले डिवाइसों के लिए, Android eUICC के लिए कई चालू प्रोफ़ाइल (एमईपी) के साथ काम करता हो. इस सुविधा से डिवाइसों को एक ही ई-सिम चिप में, ड्यूअल सिम की सुविधा हो, जिसमें एक से ज़्यादा सिम हो सकते हैं है और एक ही समय पर दो अलग-अलग मोबाइल और इंटरनेट सेवा देने वाली कंपनियों से कनेक्ट हो सकता है. डिवाइस मैन्युफ़ैक्चरर को SoC वेंडर और ई-सिम चिपसेट के साथ काम करना होगा वेंडर अपने डिवाइसों पर इस सुविधा को इंटिग्रेट कर सकें.

बैकग्राउंड

Android 12 और उससे पहले के वर्शन वाले डिवाइसों पर, AOSP उपलब्ध एक ही ई-सिम में कई प्रोफ़ाइलों को चलाने में सीमित सहायता मिलती है एक साथ. ई-सिम में ज़्यादा जगह और पैसे की बचत होने के बावजूद, यह ड्यूअल सिम सपोर्ट न होने की वजह से, डिवाइस बनाने वाली कंपनियां सिर्फ़ ई-सिम का इस्तेमाल नहीं कर सकतीं डिवाइस. सिर्फ़ ई-सिम वाले डिवाइस पर ड्यूअल सिम की सुविधा देने के लिए, डिवाइस मैन्युफ़ैक्चरर को डिवाइस में दो ई-सिम एलिमेंट शामिल करने होते हैं. इससे डिवाइस में बढ़ोतरी होती है बिल ऑफ़ मटीरियल (बीओएम) की लागत और सदस्यता के लिए उपयोगकर्ता अनुभव खराब होता है मैनेज करना. एमईपी की सुविधा, एओएसपी में Android 13, इस समस्या को हल करता है.

eUICC आर्किटेक्चर

इस सेक्शन में, एमईपी वाले डिवाइसों के लिए ई-सिम चिप के आर्किटेक्चर के बारे में बताया गया है Android के अलग-अलग वर्शन के वर्शन और ऐसे डिवाइसों के लिए ई-सिम चिप आर्किटेक्चर जिनमें यह सुविधा नहीं है एमईपी.

Android 14

Android 14 या इसके बाद के वर्शन वाले डिवाइसों के लिए, Android MEP-A1 और MEP-B का समर्थन करता है जारी करने वाले सिक्योरिटी डोमेन रूट (ISD-R) और ई-सिम पोर्ट को चुना गया, जैसा कि यहां बताया गया है जीएसएमए एसजीपी V22 3.0. नीचे MEP-A1 और MEP-B ISD-R चुनाव के मॉडल के बारे में बताया गया है.

  • MEP-A1: ISD-R को पोर्ट 0 (कमांड पोर्ट 0) पर चुना गया है और ई-सिम पोर्ट 1 और इसके बाद के वर्शन पर प्रोफ़ाइलें चुनी गई हैं. ES10 निर्देश हमेशा होते हैं पोर्ट 0 पर भेजा जाता है और कमांड पोर्ट और टारगेट पोर्ट हमेशा अलग होते हैं. एलपीए, पोर्ट को चुनता है.

    एमईपी-ए1 आईएसडी-आर चुनने का मॉडल

    पहला डायग्राम. एमईपी-ए1 आईएसडी-आर चुनने का मॉडल

  • एमईपी-बी: आईएसडी-आर को किसी भी पोर्ट पर चुना जाता है और किसी भी पोर्ट को प्रोफ़ाइल. चालू और बंद करने के निर्देश उस पोर्ट पर भेजे जाते हैं जहां प्रोफ़ाइल को चालू या बंद करना ज़रूरी है (जहां रीफ़्रेश होना बाकी हो). कॉन्टेंट बनाने कमांड पोर्ट और टारगेट पोर्ट की सेटिंग हमेशा एक जैसी रहती है.

    एमईपी-बी आईएसडी-आर चुनने का मॉडल

    दूसरा डायग्राम. एमईपी-बी आईएसडी-आर चुनने का मॉडल

Android 13

Android 13 या उसके बाद के वर्शन में, MEP के साथ काम करने वाले डिवाइसों पर, ई-सिम स्लॉट में कई eUICC पोर्ट होते हैं, जहां पोर्ट को चालू किया जा सकता है प्रोफ़ाइल. जैसा कि इमेज 3 में दिखाया गया है, इस आर्किटेक्चर में एक eUICC (एक सिंगल फ़िज़िकल स्लॉट), हर eUICC पोर्ट की मदद से ड्यूअल सिम ड्यूअल स्टैंडबाय (डीएसडीएस) की सुविधा देता है मॉडम बेसबैंड का लिंक. Android 13 HAL और एपीआई एमईपी वैरिएंट इंडिपेंडेंट है.

एमईपी की सुविधा के साथ ई-सिम चिप आर्किटेक्चर

तीसरी इमेज. एमईपी की सुविधा के साथ ई-सिम चिप आर्किटेक्चर (Android 13 या उसके बाद के वर्शन)

Android 12 और उससे पहले वाले वर्शन के लिए

जैसा कि इमेज 4 में दिखाया गया है, Android 12 या उससे पहले के वर्शन वाले उन डिवाइसों के लिए जिनमें एमईपी की ज़रूरत नहीं है ई-सिम स्लॉट, एक बार में सिर्फ़ एक चालू प्रोफ़ाइल और डिवाइस के साथ काम करता है डीएसडीएस की सुविधा काम नहीं करती.

ई-सिम चिप आर्किटेक्चर, जिसमें एमईपी की सुविधा काम नहीं करती

चौथी इमेज. ई-सिम चिप आर्किटेक्चर, जिसमें एमईपी की सुविधा काम नहीं करती (Android 12 या कम)

एक से ज़्यादा चालू प्रोफ़ाइलों के लिए, एपीआई की जानकारी का फ़्लो

पांचवीं इमेज में, eUICC के लिए एमईपी की जानकारी के फ़्लो की जानकारी दी गई है Android 13. टेलीफ़ोनी फ़्रेमवर्क में UiccPort क्लास, जो eUICC पर फ़िज़िकल स्ट्रक्चर को दिखाती है. कॉन्टेंट बनाने UiccPort क्लास का इस्तेमाल सभी तरह के सिम कार्ड के लिए किया जाता है: फ़िज़िकल सिम (पीएसआईएम), इंटिग्रेट किया गया सिम (iसिम) और एम्बेड किया गया सिम (ई-सिम). एक से ज़्यादा वाले eUICC के लिए पोर्ट, एक UiccSlot ऑब्जेक्ट, और UiccCard ऑब्जेक्ट मैप एकाधिक UiccPort इंस्टेंस. हर UiccPort इंस्टेंस, ज़्यादा से ज़्यादा एक इंस्टेंस से लिंक हो सकता है UiccProfile इंस्टेंस. इस फ़्लो की मदद से, UiccPort किसी लॉजिकल स्लॉट पर मैप करता है और UiccSlot (फ़िज़िकल) स्लॉट) के रूप में भी मैप किया जा सकता है.

एमईपी की जानकारी का फ़्लो

पांचवी इमेज. एमईपी की मदद के साथ, eUICC के लिए जानकारी का फ़्लो

लागू करना

इस सेक्शन में, एमईपी सुविधा को लागू करने का तरीका बताया गया है. इसमें जानकारी भी शामिल है HAL की ज़रूरी शर्तों, एपीआई, और यूज़र इंटरफ़ेस के बारे में जानकारी. डिवाइस निर्माताओं को यह करना चाहिए एमईपी की मदद करने के लिए, SoC वेंडर और ई-सिम चिपसेट वेंडर के साथ काम करें.

एचएएल की ज़रूरी शर्तें

eUICC के लिए एमईपी की मदद करने के लिए, यहां दिए गए IRadio AIDL HAL API लागू करें. इसके लिए, इंच /platform/hardware/interfaces/radio/aidl/aidl_api.

Android 14 या इसके बाद के वर्शन वाले डिवाइसों में एचएएल के IRadio 2.1 वर्शन का इस्तेमाल करना ज़रूरी है वाले इंटरफ़ेस, जो MultipleEnabledProfileMode (मॉडम या eUICC पर काम करने वाला ISD-R चुनने का मॉडल) और ES10 APDU पास करें ICC लॉजिकल चैनल ऑपरेशन के दौरान कमांड जानकारी.

कार्ड की स्थिति

मॉडम को CardStatus एपीआई को रिस्पॉन्स के तौर पर getIccCardStatusResponse तरीका. रिस्पॉन्स में पोर्ट इंडेक्स और फ़िज़िकल स्लॉट इंडेक्स शामिल होने चाहिए इसके ज़रिए तय SimPortSlotMapping.

Android 14 या उसके बाद के वर्शन वाले डिवाइसों के लिए, मॉडम को एपीआई की शर्तों के मुताबिक एमईपी मोड सभी CardStatus इवेंट के साथ.

सिमस्लॉट स्टेटस

मॉडम को SimSlotStatus एपीआई को रिस्पॉन्स के तौर पर getSimSlotsStatus तरीका. सिम स्लॉट की स्थिति में SimPortInfo इंटरफ़ेस में, पोर्ट इंडेक्स, चालू की गई प्रोफ़ाइल का आईसीसीआईडी, और पोर्ट की स्थिति. मॉडम सेवा के लिए, कम से कम दो SimPortInfo ऑब्जेक्ट मिलने चाहिए.

Android 14 या उसके बाद के वर्शन वाले डिवाइसों के लिए, मॉडम को एपीआई की शर्तों के मुताबिक एमईपी मोड सभी CardStatus इवेंट के साथ.

सेट सिमस्लॉटमैपिंग

कॉन्टेंट बनाने setSimSlotMapping विधि को SimPortSlotMapping. कलेक्शन का इंडेक्स, लॉजिकल स्लॉट है और SimPortSlotMapping, मैप किए गए मिलते-जुलते पोर्ट और फ़िज़िकल स्लॉट के बारे में बताता है इंडेक्स करें. setSimSlotMapping तरीका, मैपिंग को पोर्ट से लॉजिकल पर सेट करता है स्लॉट हैं. LPA ऐप्लिकेशन, सक्रिय पोर्ट को चुनने के लिए इस तरीके का इस्तेमाल करें.

eUICC के लिए एमईपी की सुविधा वाले एपीआई

ऐसे Android डिवाइस जो एओएसपी के साथ काम करने वाली एक से ज़्यादा प्रोफ़ाइलों का इस्तेमाल करते हैं नीचे दिए गए एपीआई के साथ काम करने के लिए टेलीफ़ोनी स्टैक ज़रूरी है.

UicccardInfo

  • (Android 13 और उसके बाद के वर्शन के लिए) isMultipleEnabledProfilesSupported : यह बताता है कि यह UICC, एमईपी के साथ काम करता है या नहीं.
  • (Android 13 और उसके बाद के वर्शन के लिए) getPorts: लौटाए जाने वाले प्रॉडक्ट किसी खास यूज़र इंटरफ़ेस (यूआईसीसी) के लिए सभी संभावित पोर्ट की सूची. अगर यूज़र इंटरफ़ेस (यूआईसीसी) एक पीसिम है या ऐसे ई-सिम जो एमईपी के साथ काम नहीं करता, तो एक एलिमेंट की सूची दिखाता है.
  • (अब काम नहीं करता) getIccId: आईसीसीआईडी दिखाता है. क्योंकि डिवाइसों के लिए यूआईसीसी में एक से ज़्यादा आईसीसीआईडी हो सकते हैं एमईपी का इस्तेमाल करने के लिए, इसके बजाय UiccPortInfo.getIccId() का इस्तेमाल करें.

(Android 13 और उसके बाद के वर्शन) UiccPortInfo

  • getIccId: अगर इस पोर्ट पर सदस्यता की सुविधा चालू है, तो आईसीसीआईडी दिखाता है.
  • getPortIndex: पोर्ट इंडेक्स को दिखाता है.
  • getLogicalSlotIndex: ऐक्टिव लॉजिकल मॉडम स्टैक इंडेक्स को दिखाता है.

सदस्यता की जानकारी

  • (Android 13 और उसके बाद के वर्शन के लिए) getPortIndex: वह पोर्ट इंडेक्स दिखाता है जिस पर सदस्यता चालू है. अगर सदस्यता बंद है, तो INVALID_PORT_ID -1 दिखाता है.

EuiccManager

  • switchToSubscription: किसी खास सदस्यता पर स्विच करता है. उन ऐप्लिकेशन में इस्तेमाल किया जाता है जिनके पास मोबाइल और इंटरनेट सेवा देने वाली कंपनी नहीं है चालू सदस्यताओं के लिए खास अधिकार हैं. कॉल करने पर, प्लैटफ़ॉर्म तीन विकल्प वाले विकल्प इस्तेमाल करके, पोर्ट इंडेक्स को अंदरूनी तौर पर रिज़ॉल्व करता है डायलॉग का इस्तेमाल करें. Android 13 और उसके बाद के वर्शन को टारगेट करने वाले ऐप्लिकेशन को इस एपीआई की मदद से, सदस्यता आईडी अमान्य है; इसके बजाय, उन्हें डाइग्नोस्टिक टूल का इस्तेमाल करना होगा switchToSubscription का तरीका (Android 13 में जोड़ा गया) तय किया गया है.
  • (Android 13 और उसके बाद के वर्शन के लिए) switchToSubscription(int subscriptionId, int portIndex, PendingIntent callback): किसी खास सदस्यता पर स्विच करता है. मोबाइल और इंटरनेट सेवा देने वाली कंपनी के अधिकार वाले ऐप्लिकेशन कॉल करना चालू सदस्यता यह तय कर सकती है कि सदस्यता को किस पोर्ट पर चालू करना है चालू करें.
  • (Android 13 और उसके बाद के वर्शन के लिए) isSimPortAvailable: यह बताता है कि पासिंग पोर्ट इंडेक्स उपलब्ध है या नहीं. पोर्ट उपलब्ध है अगर उसकी कोई सदस्यता चालू नहीं है या कॉलिंग करने वाले ऐप्लिकेशन के पास मोबाइल और इंटरनेट सेवा देने वाली कंपनी का खास अधिकार है चयनित पोर्ट पर इंस्टॉल की हुई सदस्यता पर.

EuiccService

  • (Android 13 और उसके बाद के वर्शन के लिए) onSwitchToSubscriptionWithPort: किसी खास पोर्ट पर, दी गई सदस्यता पर स्विच करता है. एलपीए को लागू करना यह Android 13 और इसके बाद के वर्शन पर काम करता हो.

टेलीफ़ोनीमैनेजर

  • (Android 13 और उसके बाद के वर्शन के लिए) getSimApplicationState: कार्ड ऐप्लिकेशन की स्थिति को दिखाने वाला कॉन्सटेंट लौटाता है. यह एपीआई फ़िज़िकल स्लॉट इंडेक्स और पोर्ट इंडेक्स, दोनों को पास करता है. कॉन्टेंट बनाने getSimApplicationState(int physicalSlotIndex) तरीका (अब सेवा में नहीं है) सिर्फ़ फ़िज़िकल स्लॉट इंडेक्स को पास करता है. simApplicationState ऑब्जेक्ट.
  • (Android 13 और उसके बाद के वर्शन के लिए) setSimSlotMapping(Collection<UiccSlotMapping> slots): लॉजिकल स्लॉट को फ़िज़िकल स्लॉट और पोर्ट में मैप करना.
  • (Android 13 और उसके बाद के वर्शन के लिए) Collection<UiccSlotMapping> getSimSlotMapping: लॉजिकल स्लॉट से फ़िज़िकल सिम स्लॉट और पोर्ट इंडेक्स तक, मैप करने की सुविधा मिलती है.

उपयोगकर्ता इंटरफ़ेस

एमईपी के साथ काम करने वाले डिवाइसों पर, ई-सिम को पोर्ट करने के विकल्प को सही तरीके से इस्तेमाल करने के लिए, नई सदस्यता लेने के लिए, उपयोगकर्ताओं को चालू सदस्यताओं में से किसी एक को बंद करने की अनुमति होनी चाहिए की सदस्यता लें. Android 13 में, एओएसपी में यूज़र फ़्लो शामिल होता है जिसमें तीन विकल्प हों डायलॉग जिसे सेटिंग ऐप्लिकेशन से यूज़र फ़्लो की सुविधा को चालू करने वाली सदस्यता पर लागू किया जा सकता है. छठी इमेज में इस UX फ़्लो का उदाहरण दिखाया गया है.

एमईपी सिम सदस्यता के लिए यूज़र फ़्लो

छठी इमेज. सिम सदस्यता की सुविधा चालू करने के लिए यूज़र फ़्लो

Feature flags

एमईपी के साथ काम करने के लिए, डिवाइसों को इन फ़ीचर फ़्लैग के बारे में जानकारी देनी होगी:

एलपीए को लागू करना

एमईपी की मदद करने के लिए, पक्का करें कि एलपीए नीचे दी गई शर्तों को पूरा करता है:

  • EuiccService से एपीआई लागू करता है कई पोर्ट को ऐक्सेस करने की सुविधा देता है.
  • यह पोर्ट चुनने और प्रोफ़ाइल को चालू करने के लिए, एपीआई का इस्तेमाल करता है.
  • मोबाइल और इंटरनेट सेवा देने वाली कंपनियों के ऐप्लिकेशन को UX देता है, ताकि चुने गए पोर्ट पर प्रोफ़ाइलें चालू की जा सकें.

पुष्टि करें

एमईपी सुविधा लागू करने की जांच करने के लिए, पक्का करें कि बिल्ड ये सीटीएस टेस्ट केस (सार्वजनिक एपीआई के लिए) के बारे में नीचे बताया गया है: /platform/cts/tests/tests/telephony/current/src/android/telephony/euicc/cts.

डिवाइस बनाने वाली कंपनियों को अपने मॉडम, ईयूआईसीसी चिप, और ई-सिम ओएस के साथ भी काम करना चाहिए यह पक्का करने के लिए कि डिवाइस ये काम कर सकता है:

  • दो ई-सिम प्रोफ़ाइलों को चालू करके, दो अलग-अलग नेटवर्क से अटैच किया जा सकता है.
  • ई-सिम प्रोफ़ाइलों को किसी भी ई-सिम पोर्ट पर चालू और बंद किया जा सकता है.
  • मोबाइल और इंटरनेट सेवा देने वाली कंपनी का ऐप्लिकेशन, UX फ़्लो को ट्रिगर कर रहा है. इससे उपयोगकर्ता, एक से ज़्यादा प्लैटफ़ॉर्म पर स्विच कर सकते हैं प्रोफ़ाइल.

कैरियर के लिए सुझाव

यह पक्का करने के लिए कि ई-सिम प्रोफ़ाइलों को किसी एक प्रोफ़ाइल से दूसरी जगह ले जाने पर, उपयोगकर्ताओं की सेवा खत्म न हो पहले से पोर्ट करना चाहते हैं, तो हमारा सुझाव है कि मोबाइल और इंटरनेट सेवा देने वाली कंपनियां इनके लिए सहायता उपलब्ध कराएं:

  • IMEI और सिम की फ़्लूइड मैपिंग
  • हर ईयूआईसीसी आइडेंटिफ़ायर (ईआईडी) के लिए एक से ज़्यादा आईसीसीआईडी या सिम