URI:
   DIR Return Create A Forum - Home
       ---------------------------------------------------------
       DiGiSeYTaN kafemize hosgeldiniz
  HTML https://digiseytann.createaforum.com
       ---------------------------------------------------------
       *****************************************************
   DIR Return to: TEST
       *****************************************************
       #Post#: 523--------------------------------------------------
       The ingenious product that brings eSIM to any Android phone Rout
       er tablet Laptop
       By: Admin Date: November 1, 2024, 12:03 pm
       ---------------------------------------------------------
       Conventional wisdom says that an eSIM is permanently mounted
       onto a device’s motherboard. After all, that’s what makes it an
       embedded SIM, and that’s how it’s deployed on all smartphones
       supporting the technology. As a result, most people think that
       in order to take advantage of eSIM’s benefits, you need to buy a
       phone that has an eSIM.
       That makes sense, right? That’s what I thought too until I
       learned about a product that brings eSIM to any existing Android
       phone. Given that there aren’t many Android phones on the market
       with eSIM support built-in, this opens up the technology to
       thousands of existing models and millions of new users.
       While not a fully accurate count, filtering the Google Play
       Console’s Device Catalog by devices declaring the feature
       “android.hardware.telephony.euicc” gives us a decent estimate of
       the number of SKUs that support eSIM. Image credits: Esper.
       How is it possible for a product to enable a feature that’s
       supposed to be built-in? Looking into this question led me down
       a rabbit hole of GSMA specifications and Android APIs to find
       out how it works, and in this week’s Android Dessert Bites, I’ll
       try to make sense of it all.
       Meet the eSIM that's not embedded in your phone
       A couple of weeks ago, I learned about a product called 9eSIM
  HTML https://www.9esim.com/?coupon=hayat2024
       that offers to “make
       your smartphone eSIM compatible.” The company behind the
       product, Telco Village, advertises that it works with any
       Android device, in any country, and with any network (that
       supports eSIM provisioning, obviously). All you have to do is
       buy an eSIM.me card, insert it into your device’s SIM card slot,
       download the app, and then scan the QR code from your carrier to
       download an eSIM profile. It’s that easy.
       I was initially skeptical that it would work since I thought
       eSIMs had to, you know, be embedded into the device. Plus, the
       product is fairly new, having only launched a few months ago,
       and the only reviews I could find were from random users on
       Reddit. Thankfully, a few developers I follow purchased the
       product and confirmed it works as advertised.
       Something you may notice after setting up your own eSIM
  HTML https://www.9esim.com/?coupon=hayat2024
       is that Android doesn’t
       recognize your provisioned SIM profiles as eSIM profiles.
       They’re not shown under the “downloaded SIM” section in Settings
       > Network & Internet > SIMs like they would be if you provision
       an eSIM using Google’s SIM Manager app. Instead, Android treats
       the eSIM profiles you download as if they’re any other physical
       SIMs inserted into the device. This doesn’t really change
       anything, but it’s an interesting quirk of this setup. To
       understand how this all works, we need to take a look at what’s
       inside the actual eSIM.me card, how it interacts with Android,
       and how eSIMs are normally supposed to be set up.
       The card itself is obviously the most important piece of the
       puzzle, but despite its looks, it’s not a traditional SIM card.
       A traditional SIM card has a piece of silicon containing a very
       low-power CPU and a tiny amount of storage to store the software
       that communicates with the reader, the SIM profile, some
       messages, and some contacts. This silicon is called a UICC, or
       universal integrated circuit card, which is a smart card that
       conforms to the ETSI specification.
       Traditional SIM cards come in a few form factors, from 1FF
       (full-size) to 2FF (mini) to micro (3FF) to nano (4FF). The
       eSIM.me card is triple-cut, ie. universal, so it can fit in SIM
       card trays ranging from 1FF to 4FF size. Traditional eSIMs come
       in the much smaller MFF2 (machine-to-machine) form factor, which
       is small enough to embed in the device’s motherboard. However,
       there’s nothing preventing an eSIM from being implemented in one
       of the form factors for the traditional removable SIM card,
       which is what the eSIM.me card does. (In fact, the GSMA’s
       consumer eSIM specification even references removable eUICCs, as
       does Android’s documentation on implementing eSIM.)
       Like a traditional SIM card, the eSIM.me card has a piece of
       silicon with its own CPU and storage. But what differentiates
       the eSIM.me card from a traditional SIM card is that the smart
       card follows the newer eSIM specification from top to bottom.
       Instead of a traditional UICC, the eSIM.me card has an eUICC, or
       embedded universal integrated circuit card, which supports the
       GSMA’s consumer eSIM specification for managing multiple eSIM
       profiles and facilitates remote SIM provisioning.
       The software within the eUICC, a JavaCard STK SIM applet that
       runs in an eSIM OS, communicates with the Android OS via
       application protocol data unit (APDU) commands, which are
       defined by the ISO-7816-4 standard. The eSIM.me app opens a
       logical channel to the eUICC so it can send those APDU commands.
       It does this through the Open Mobile API (OMAPI), which was
       added to Android with Android 9.
       OMAPI standardizes the way apps communicate with secure
       elements/smart cards, such as a UICC or eUICC. The API existed
       prior to Android 9, but before its inclusion in AOSP, OEMs would
       have to include the OMAPI library in their builds so developers
       could use the API. Some OEMs did include the library in their
       pre-Android 9 builds, which is why the eSIM.me website mentions
       that “devices from Samsung, Huawei and Xiaomi even support eSIM
  HTML https://www.9esim.com/?coupon=hayat2024from
       Android version 7.”
       OMAPI’s introduction to AOSP also standardized the way that
       Android devices communicated with UICC/eUICC (and secure
       elements in general), making it possible to build an app like
       eSIM.me that can communicate with an eUICC across devices from
       different OEMs.
       It would be problematic if just any app on your phone could
       communicate with the eUICC using the APIs I just mentioned.
       After all, the eUICC stores data about your SIM profile, which
       the carrier uses to decide whether your device can connect to
       their network as well as what services you’re entitled to. The
       eSIM.me app is just another app you can install from Google
       Play, so how does Android know to let it, but not any other app,
       communicate with the eUICC? The solution is through UICC carrier
       privilege rules, a mechanism that grants the owner of a UICC
       access to privileged telephony APIs. The eUICC within the
       eSIM.me card has a file in it (called the access rule file
       [ARF]) that stores a certificate. Android loads the certificate
       from the ARF and grants UICC carrier privileges to apps that are
       signed by that certificate. This way, the eSIM.me app can manage
       the eUICC despite being a user-installed app.
       As a consequence of being a user-installed app, though, the
       eSIM.me app can’t access Android’s system APIs for eSIM
       management. This is why the app can’t integrate into settings
       and why none of the profiles it downloads are shown as
       downloaded SIMs. Google actually has an eSIM management app that
       integrates into settings, the previously mentioned “SIM
       Manager”, but it’s proprietary and has some GMS dependencies, so
       it’s not a viable option for many AOSP-based projects. A free
       and open source eSIM management app has been in demand for
       years, and there’s finally a project that addresses this need.
  HTML https://www.9esim.com/?coupon=hayat2024
       *****************************************************