EP4099739A1 - Sim toolkit scheduling for multiple enabled esim profiles - Google Patents
Sim toolkit scheduling for multiple enabled esim profiles Download PDFInfo
- Publication number
- EP4099739A1 EP4099739A1 EP22176233.9A EP22176233A EP4099739A1 EP 4099739 A1 EP4099739 A1 EP 4099739A1 EP 22176233 A EP22176233 A EP 22176233A EP 4099739 A1 EP4099739 A1 EP 4099739A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- esim
- stk
- euicc
- proactive
- session
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000009471 action Effects 0.000 claims description 77
- 230000004044 response Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 abstract description 64
- 230000008569 process Effects 0.000 abstract description 13
- 230000002452 interceptive effect Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 17
- 230000008859 change Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 230000000977 initiatory effect Effects 0.000 description 6
- 108700038352 BIP protocol Proteins 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 241000700159 Rattus Species 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/183—Processing at user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/60—Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
- H04W8/20—Transfer of user or subscriber data
- H04W8/205—Transfer to or from user equipment or user record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals
Definitions
- the described embodiments set forth techniques for managing subscriber identity module (SIM) toolkit (STK) scheduling for multiple enabled electronic SIM (eSIM) profiles on an embedded universal integrated circuit card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the eUICC of the wireless device.
- SIM subscriber identity module
- eSIM embedded universal integrated circuit card
- Wireless mobile network operators continue to upgrade wireless networks to support newer wireless communication standards, including fourth generation (4G) Long Term Evolution (LTE) and Long Term Evolution Advanced (LTE-A) technologies as well as fifth generation (5G) technologies.
- Wireless devices continue to evolve to incorporate newer, configurable wireless credentials, such as eSIMs that can be loaded to and subsequently activated on an eUICC of a wireless device.
- eSIMs newer, configurable wireless credentials
- eSIMs that can be loaded to and subsequently activated on an eUICC of a wireless device.
- specifications for eSIMs for 5G enabled wireless devices are being developed and standardized. With downloadable eSIMs becoming available to provide ready access to various wireless services, use of multiple eSIMs on a wireless device, including concurrent use of multiple eSIMs on an eUICC of a wireless device is proposed.
- Communication between the eUICC of a wireless device and a baseband processor external to the eUICC for a new STK session, e.g., for a second eSIM, can interrupt processing of STK commands resulting in errors for an ongoing STK session, e.g., for a first eSIM.
- Representative embodiments set forth techniques for managing subscriber identity module (SIM) toolkit (STK) scheduling for multiple enabled electronic subscriber identity module (eSIM) profiles on an embedded universal integrated circuit card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the eUICC of the wireless device.
- SIM subscriber identity module
- eUICC embedded universal integrated circuit card
- STK subscriber identity module
- eSIM electronic subscriber identity module
- eUICC embedded universal integrated circuit card
- An eUICC operation system (OS) of the eUICC may be unable to handle multiple, parallel STK sessions for communication with multiple eSIMs.
- an external processor of the wireless device e.g., a baseband processor, can schedule STK sessions to avoid overlap and reduce opportunities for errors in handling eSIM processes.
- the external processor can monitor for any ongoing proactive STK sessions associated with an eSIM of the eUICC, where the eUICC includes multiple eSIMs and supports multiple enabled eSIMs.
- User inputs that indicate one or more STK actions to be performed for a first eSIM of the eUICC can be reviewed by an STK scheduler process of the external processor before execution.
- the STK scheduler can allow one or more STK actions for the first eSIM to be performed.
- the STK scheduler can determine whether at least one of the one or more STK actions for the first eSIM has a priority that supersedes the ongoing proactive STK session for the second eSIM.
- the STK scheduler can add one or more entries to a queue to perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM concludes.
- the STK scheduler can send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM and can subsequently perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM terminates.
- user inputs include one or more of: enabling one or more eSIMs of the eUICC of the wireless device; enabling multiple eSIMs of the eUICC of the wireless device; initiating a mobile originated (MO) voice call by the wireless device; initiating an MO voice call with high priority, such as an emergency call, by the wireless device; performing an international mobile subscriber identity (IMSI) switch by the wireless device, e.g., while moving to a roaming network area; performing a bearer independent protocol (BIP) session for an eSIM on the eUICC, such as for an over-the-air update of the eSIM.
- IMSI international mobile subscriber identity
- Representative embodiments set forth techniques for managing subscriber identity module (SIM) toolkit (STK) scheduling for multiple enabled electronic subscriber identity module (eSIM) profiles on an embedded universal integrated circuit card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the eUICC of the wireless device.
- SIM subscriber identity module
- eUICC embedded universal integrated circuit card
- STK subscriber identity module
- eSIM electronic subscriber identity module
- eUICC embedded universal integrated circuit card
- An eUICC operation system (OS) of the eUICC may be unable to handle multiple, parallel STK sessions for communication with multiple eSIMs.
- an external processor of the wireless device e.g., a baseband processor, can schedule STK sessions to avoid overlap and reduce opportunities for errors in handling eSIM processes.
- the external processor can monitor for any ongoing proactive sessions associated with an eSIM of the eUICC, where the eUICC includes multiple eSIMs and supports multiple enabled eSIMs.
- User inputs that indicate one or more STK actions to be performed for a first eSIM of the eUICC can be reviewed by an STK scheduler process of the external processor before execution.
- the STK scheduler can allow the one or more STK actions for the first eSIM to be performed.
- the STK scheduler can determine whether the one or more STK actions for the first eSIM have a priority that supersedes the ongoing proactive STK session for the second eSIM.
- the STK scheduler can add one or more entries to a queue to perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM concludes.
- the STK scheduler can send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM and can subsequently perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM terminates.
- user inputs include one or more of: enabling one or more eSIMs of the eUICC of the wireless device; enabling multiple eSIMs of the eUICC of the wireless device; initiating a mobile originated (MO) voice call by the wireless device; initiating an MO voice call with high priority, such as an emergency call, by the wireless device; performing an international mobile subscriber identity (IMSI) switch by the wireless device while moving to a roaming network area; performing a bearer independent protocol (BIP) session for an eSIM on the eUICC, such as for an over-the-air update of the eSIM.
- MO mobile originated
- IMSI international mobile subscriber identity
- BIP bearer independent protocol
- FIG. 1 illustrates a block diagram of different components of a system 100 that is configured to implement the various techniques described herein, according to some embodiments. More specifically, FIG. 1 illustrates a high-level overview of the system 100, which, as shown, includes a user equipment (UE) 102, a group of base stations 112-1 to 112-n that are managed by different Mobile Network Operators (MNOs) 114, and a set of provisioning servers 116 that are in communication with the MNOs 114.
- MNOs Mobile Network Operators
- the UE 102 can represent a mobile computing device (e.g., an iPhone ® or an iPad ® by Apple ® ), the base stations 112-1 to 112-n can represent cellular wireless network entities including evolved NodeBs (eNBs) and/or next generation NodeBs (gNBs or gNB) that are configured to communicate with the UE 102, and the MNOs 114 can represent different wireless service providers that provide specific services (e.g., voice and data) to which the UE 102 can be subscribed.
- the UE 102 may also be referred to as a wireless device, a mobile device, a mobile wireless device, or the like.
- the UE 102 can include processing circuitry, which can include one or more processors 104 and memory 106, an embedded Universal Integrated Circuit Card (eUICC) 108, and a baseband processor 110.
- the UE 102 includes one or more physical UICC cards, also referred to as Subscriber Identity Module (SIM) cards (not shown), in addition to or substituting for the eUICC.
- SIM Subscriber Identity Module
- the components of the UE 102 work in conjunction to enable the UE 102 to provide useful features to a user of the UE 102, such as localized computing, location-based services, and Internet connectivity.
- the eUICC 108 can be configured to store multiple electronic SIMs (eSIMs) for accessing different services offered by one or more MNOs 114 through base stations 112-1 to 112-n.
- the eUICC 108 can be configured to store and manage one or more eSIMs for one or more MNOs 114 for different subscriptions to which the UE 102 has been associated.
- an eSIM can be provisioned to the eUICC 108.
- the eUICC 108 obtains one or more eSIMs (or updates for one or more eSIMs) from one or more associated provisioning servers 116.
- provisioning servers 116 can be maintained by a manufacturer of the UE 102, the MNOs 114, third party entities, and the like. Communication of eSIM data between a provisioning server 116 and the eUICC 108 (or between the provisioning server 116 and processing circuitry of the UE 102 external to the eUICC 108, e.g., the processor 104) can use a secure communication channel. Multiple eSIMs can be downloaded to the eUICC 108 of the UE 102 from one or more provisioning servers 116 associated with one or more MNOs 114.
- the UE 102 can be configured to allow for multiple eSIMs to be enabled concurrently on the UE 102 to provide access to wireless services provided by the multiple eSIMs.
- Communication between the multiple eSIMs enabled on the eUICC 108 and processing circuitry external to the eUICC 108, e.g., to a processor 104 and/or to the baseband processor 110 can use logical channels.
- Communication with an eSIM can include a SIM toolkit (STK) session that uses a logical channel between the baseband processor 110 and the eSIM.
- STK scheduler operating on the baseband processor 110 can review inputs that can result in actions that impact an ongoing STK session for an eSIM.
- Multiple, parallel STK sessions can be avoided by delaying initiation of a new STK session for a second eSIM while an ongoing proactive STK session for a first eSIM continues.
- the proactive STK session for the first eSIM can be terminated prematurely to allow for establishing the new STK session for the second eSIM, when actions associated with the second eSIM have priority to supersede the STK session for the first eSIM.
- FIG. 2 illustrates a block diagram of a more detailed view 200 of particular components of the UE 102 of FIG. 1 , according to some embodiments.
- the processor(s) 104 in conjunction with the memory 106, can implement a main operating system (OS) 202 that is configured to execute applications 204 (e.g., native OS applications and user applications).
- applications 204 e.g., native OS applications and user applications.
- the eUICC 108 can be configured to implement an eUICC OS 206 that is configured to manage the hardware resources of the eUICC 108 (e.g., a processor and a memory embedded in the eUICC 108).
- the eUICC OS 206 can also be configured to manage eSIMs 208 that are stored by the eUICC 108, e.g., by installing, enabling, disabling, modifying, or otherwise performing management of the eSIMs 208 within the eUICC 108 and providing the baseband processor 110 with access to the eSIMs 208 to provide access to wireless services for the UE 102.
- the eUICC 108 OS can include an eSIM manager 210, which can perform management functions for various eSIMs. According to the illustration shown in FIG. 2 , each eSIM 208 can include a number of applets 212 that define the manner in which the eSIM 208 operates.
- one or more of the applets 212 when implemented by the baseband processor 110 and the eUICC 108, can be configured to enable the UE 102 to communicate with an MNO 114 and provide useful features (e.g., voice connections, messaging services, internet access and the like) to a user of the UE 102.
- useful features e.g., voice connections, messaging services, internet access and the like
- the baseband processor 110 of the UE 102 can include a baseband OS 214 that is configured to manage hardware resources of the baseband processor 110 (e.g., a processor, a memory, different radio components, etc.).
- the baseband processor 110 can implement a baseband manager 216 that is configured to interface with the eUICC 108 to establish a secure channel with a provisioning server 116 and obtaining information (such as eSIM data) from the provisioning server 116 for purposes of managing eSIMs 208.
- the baseband manager 216 can be configured to implement services 218, which represents a collection of software modules that are instantiated by way of the various applets 212 of enabled eSIMs 208 that are included in the eUICC 108.
- services 218 can be configured to manage different connections between the UE 102 and MNOs 114 according to the different eSIMs 208 that are enabled within the eUICC 108.
- the baseband manager 216 can be further configured to include a SIM toolkit (STK) scheduler that manages STK sessions for communication with one or more eSIMs 208 on the eUICC 108.
- STK SIM toolkit
- FIG. 3 illustrates a diagram 300 of communication between the baseband processor 110 of the UE 102 and the eUICC OS 206 of the eUICC 108 of the UE 102.
- the eUICC 108 of the UE 102 can be capable of simultaneously enabling multiple eSIM profiles, which can be referred to as a multiple enabled profile (MEP) capability.
- MEP multiple enabled profile
- an STK scheduler 304 can monitor user input, or other actions generated by the UE 102, to schedule STK session communication for the eSIMs 208 of the eUICC 108.
- the STK scheduler 304 can receive SIM commands or requests, which can be associated with user inputs, that require actions to be performed by elements of the eUICC 108.
- the STK scheduler 304 can interface with a SIM driver 302 software component that can interface with the eUICC OS 206 of the eUICC 108 to communicate with an eSIM manager 210 therein, which can communicate with one or more of the eSIMs 208.
- the SIM driver 302 can receive SIM requests from the STK scheduler 304, which can result from one or more SIM commands or requests provided to the STK scheduler 304, and send SIM commands to the eUICC 108 to interact with the eUICC 108, the eUICC OS 206, and/or the eSIMs 208 via the eSIM manager 210.
- the SIM driver 302 can also communicate terminal responses to the eUICC 108 in response to communication from the eUICC 108.
- the eUICC 108 can also send proactive commands to the SIM driver 302 which can be processed further by the baseband processor 110.
- the STK scheduler 304 can manage STK sessions to reduce interference for communication with multiple eSIMs 208 of the eUICC 108.
- the STK scheduler 304 can interrupt an ongoing STK session associated with a first eSIM 208 to perform a prioritized action for a second eSIM 208. In some instances, the STK scheduler 304 can delay establishing a new STK session (or delaying communication to the eUICC 108) for a second eSIM 208 that could interfere with an ongoing STK session for a first eSIM 208.
- FIG. 4A illustrates a diagram 400 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the communication is intended for multiple eSIMs 208 and results in one or more errors.
- the baseband processor 110 sends an ENVELOPE message to the eUICC 108 in order to establish an STK session for a first eSIM 208, e.g., eSIM A.
- the eUICC 108 responds positively to the ENVELOPE message with an 91xx message to the baseband processor 110 establishing the STK session for eSIM A and indicating a pending proactive command.
- the baseband processor 110 subsequently sends a FETCH message to the eUICC 108 to retrieve the pending proactive command from the eUICC 108 for eSIM A.
- the eUICC 108 responds with the proactive command message for eSIM A that can indicate an action for the baseband processor 110 to take regarding eSIM A.
- the baseband processor 110 can send another ENVELOPE message to the eUICC 108, this ENVELOPE message directed to establishing a second STK session for a second eSIM 208, e.g., eSIM B.
- the eUICC 108 responds to the ENVELOPE message for the second eSIM 208 by sending a 9300 ERROR message to the baseband processor 110 indicating the eUICC 108 is busy and cannot respond to the second ENVELOPE message for establishing the second STK session for eSIM B.
- the software component handling the STK sessions on the eUICC 108 can return an STK BUSY error indication.
- the software component of the eUICC 108 cannot properly establish and maintain multiple, parallel STK sessions for multiple eSIMs 208 at the same time.
- the software component handling the STK session on the eUICC 108 can result in one or more errors for handling messages or actions by the eUICC 108 for the ongoing STK session for the eSIM A.
- the baseband processor 110 terminates the STK session for the SIM A in response to the 9300 ERROR message.
- FIG. 4B illustrates a diagram 450 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where communication intended for multiple eSIMs 208 are managed by an STK scheduler 304 on the baseband processor 110 to delay establishment of a second STK session for a second eSIM 208 until a first STK session for a first eSIM 208 terminates.
- the baseband processor 110 sends an ENVELOPE message to the eUICC 108 in order to establish an STK session for a first eSIM 208, e.g., eSIM A.
- the eUICC 108 responds positively to the ENVELOPE message with an 91xx message to the baseband processor 110 establishing the STK session for eSIM A and indicating a pending proactive command.
- the baseband processor 110 subsequently sends a FETCH message to the eUICC 108 to retrieve the pending proactive command from the eUICC 108 for eSIM A.
- the eUICC 108 responds with the proactive command message for eSIM A that can indicate an action for the baseband processor 110 to take regarding eSIM A.
- the baseband processor 110 can delay sending a message to establish a second STK session for a second eSIM 208, e.g., eSIM B, until after the STK session for the eSIM A concludes.
- the baseband processor 110 can send a terminal response message for eSIM A to the eUICC 108 to terminate the STK session for eSIM A, which can be as a result of completing actions required for the STK session for eSIM A or can result from an interrupt by a higher priority action that requires establishing an STK session for another eSIM, e.g., for eSIM B.
- the baseband processor 110 can send another ENVELOPE message to the eUICC 108, this ENVELOPE message directed to establishing an STK session for a second eSIM 208, e.g., eSIM B.
- the STK session for eSIM B can be established, and the eUICC 108 responds to the ENVELOPE message for the second eSIM 208 by sending a 9000 status response message for eSIM B to the baseband processor 110.
- the baseband processor 110 e.g., the STK scheduler therein
- the baseband processor 110 can reduce opportunities for errors caused by colliding messages for two different STK sessions for two different eSIMs 208 of the eUICC 108.
- FIG. 5A illustrates a diagram 500 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the communication is intended to enable multiple eSIMs 208 without STK scheduling.
- a reset of the eUICC 108 can occur, e.g., as a result of powering on the UE 102 in which the eUICC 108 is housed.
- the eUICC 108 can store multiple eSIMs 208, e.g., eSIM A 208A and eSIM B 208B. Initially, after power on reset, both eSIM A 208A and eSIM B 208B can be in a disabled state.
- the eUICC 108 can send a message to the baseband processor 110 indicating that the eUICC 108 is capable of supporting multiple, simultaneously enabled eSIMs 208, i.e., the eUICC 108 is multiple enabled profile (MEP) capable.
- the baseband processor 110 can determine that both eSIM A 208A and eSIM B 208B are in a disabled state. In some instances, a notification of the disabled state can be provided to a user of the UE 102.
- the baseband processor 110 can determine that both eSIM A 208A and eSIM B 208B are to be enabled, e.g., as a result of an input from a user of the UE 102 or from a setting indicating both eSIM A 208A and eSIM B 208B were previously enabled (e.g., before a power up of the UE 102 or other action that caused the reset at 502 to occur).
- the baseband processor 110 can seek to establish STK sessions to enable eSIM A 208A and eSIM B 208B in parallel, which can result in errors as discussed further herein.
- the baseband processor 110 sends a message to the eUICC 108 to enable eSIM A 208A.
- the eUICC 108 responds with an OK response message.
- the baseband processor 110 sends a TERMINAL PROFILE DOWNLOAD message to the eUICC 108 for eSIM A 208A.
- the eUICC 108 responds with a 91XX command indicating a pending proactive command for the eUICC 108.
- the eUICC 108 sends a FETCH COMMAND to the eUICC to retrieve the pending proactive command.
- the eUICC 108 sends the proactive command to the baseband processor, where the proactive command indicates establishment of an event list for eSIM A. Without STK scheduling, at 522, the baseband processor 110 sends a second message to the eUICC 108 to enable eSIM B 208B. At 524, the eUICC 108 determines that eSIM B 208B cannot be enabled because one or more processes are busy handling events for eSIM A 208A. The eUICC 108 responds to the enable request for eSIM B from the baseband processor 110 with a 9300 TOOLKIT BUSY ERROR message.
- the baseband processor 110 continues, at 528, with eSIM A 208A, by sending a terminal response message to set up the event list for eSIM A 208A.
- the eUICC 108 responds with a 9000 status message.
- the impact of parallel STK sessions for eSIM A 208A and eSIM B 208B can result in numerous errors at 532, such as the baseband processor 110 not providing proper status messages associated with "events" to the eUICC 108 (e.g., voice call status, IMS registration status, location status), and incorrect or missing status information can negatively impact voice call initiation and establishment, UE registration, data connections, etc.
- FIG. 5B illustrates a diagram 550 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the communication enables multiple eSIMs 208 sequentially with STK scheduling.
- a reset of the eUICC 108 can occur, e.g., as a result of powering on the UE 102 in which the eUICC 108 is housed.
- the eUICC 108 can store multiple eSIMs 208, e.g., eSIM A 208A and eSIM B 208B. Initially, after power on reset, both eSIM A 208A and eSIM B 208B can be in a disabled state.
- the eUICC 108 can send a message to the baseband processor 110 indicating that the eUICC 108 is capable of supporting multiple, simultaneously enabled eSIMs 208, i.e., the eUICC 108 is multiple enabled profile (MEP) capable.
- the baseband processor 110 can determine that both eSIM A 208A and eSIM B 208B are in a disabled state. In some instances, a notification of the disabled state can be provided to a user of the UE 102.
- the baseband processor 110 can determine that both eSIM A 208A and eSIM B 208B are to be enabled, e.g., as a result of an input from a user of the UE 102 or from a setting indicating both eSIM A 208A and eSIM B 208B were previously enabled (e.g., before a power up of the UE 102 or other action that caused the reset at 502 to occur).
- the baseband processor 110 sends a message to the eUICC 108 to enable eSIM A 208A.
- the eUICC 108 responds with an OK response message.
- the baseband processor 110 sends a TERMINAL PROFILE DOWNLOAD message to the eUICC 108 for eSIM A 208A.
- the eUICC 108 responds with a 91XX command indicating a pending proactive command for the eUICC 108.
- the eUICC 108 sends a FETCH COMMAND to the eUICC to retrieve the pending proactive command.
- the eUICC 108 sends the proactive command to the baseband processor, where the proactive command indicates establishment of an event list for eSIM A.
- the baseband processor 110 recognizes an ongoing proactive STK session for eSIM A 208A, and at 554, the baseband processor 110 queues the pending request to enable eSIM B 208B to not interfere with the ongoing proactive STK session for eSIM A 208A.
- the baseband processor 110 responds to the previous proactive command to establish the event list (received at 520) from the eUICC 108 with a terminal response sent to the eUICC 108 to establish the event list.
- the eUICC 108 responds with a 9000 status message.
- the proactive STK session for eSIM A 208A concludes, after which the baseband processor 110 can address the pending, queued request to enable eSIM B 208B.
- the baseband processor 110 sends a message to the eUICC 108 to enable eSIM B and receives, at 564, an OK response message from the eUICC 108.
- the baseband processor 110 sends a terminal profile download message for eSIM B 208B to the eUICC 108.
- the baseband processor receives from the eUICC 108 a 91XX message indicating a pending event for eSIM B 208B.
- the baseband processor 110 responds with a FETCH message to retrieve the pending event for eSIM B 208B.
- the baseband processor 110 reduces the probability of errors occurring when processing commands for different eSIMs 208 by the eUICC 108.
- FIG. 6A illustrates a diagram 600 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the baseband processor 110 attempts to establish a mobile originated (MO) voice call without STK scheduling.
- an initialization of the eUICC 108 occurs.
- the baseband processor 110 sends an ENVELOPE message to the eUICC 108 with location status information, e.g., indicating normal service.
- the eUICC 108 sends to the baseband processor 110 a 91XX message indicating a pending event, e.g., a pending proactive command, for eSIM A 208A.
- the baseband processor 110 sends to the eUICC 108 a FETCH command to retrieve the pending proactive command for eSIM A 208A.
- the eUICC 108 responds with the proactive command for eSIM A, e.g., a REFRESH command.
- a user of the UE 102 can trigger a mobile originated (MO) voice call to be established using eSIM B 208B.
- the baseband processor 110 can send, at 616, an ENVELOPE message including CALL CONTROL information to the eUICC 108 for eSIM B 208B.
- the eUICC 108 can respond to the baseband processor 110, at 618, with a 9300 ERROR message including TOOLKIT BUSY. As a result, the eUICC 108 cannot service the request for the MO voice call, and at 620, the MO voice call establishment fails.
- FIG. 6B illustrates a diagram 650 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the baseband processor 110 with STK scheduling establishes a mobile originated (MO) voice call for eSIM B 208B to manage an ongoing STK session for eSIM A 208A.
- An STK scheduler 304 of the baseband processor 110 can monitor for ongoing proactive STK sessions and adjust communication for different eSIMs 208 accordingly.
- an initialization of the eUICC 108 occurs.
- the baseband processor 110 sends an ENVELOPE message to the eUICC 108 with location status information, e.g., indicating normal service.
- the eUICC 108 sends to the baseband processor 110 a 91XX message indicating a pending event, e.g., a pending proactive command, for eSIM A 208A.
- the baseband processor 110 sends to the eUICC 108 a FETCH command to retrieve the pending proactive command for eSIM A 208A.
- the eUICC 108 responds with the proactive command for eSIM A, e.g., a REFRESH command.
- the baseband processor 110 recognizes an ongoing proactive STK session for eSIM A 208A.
- a user of the UE 102 can trigger an MO voice call via eSIM B 208B.
- the STK scheduler 304 of the baseband processor 110 can determine that establishment of the MO voice call has a higher priority and supersedes the ongoing proactive STK session for eSIM A 208A.
- the baseband processor 110 sends a terminal response message to the eUICC 108 with an indication of TERMINAL BUSY ON CALL status.
- the eUICC 108 can recognize that the proactive STK session for eSIM A 208A has terminated, and one or more pending events for eSIM A 208 are yet to be serviced.
- the baseband processor 110 can determine that the proactive STK session for eSIM A 208A has terminated and subsequently at 662 send an ENVELOPE message to the eUICC 108 to establish the MO call for eSIM B 208B.
- the eUICC 108 can respond, at 664, with a 9000 status message indicating NO MODIFICATION.
- the baseband processor 110 and the eUICC 108 can proceed to establish the MO voice call via eSIM B 208B.
- the eUICC 108 when feasible and not interfering with establishment of the MO voice call, can send 91XX messages indicating the pending event(s) for eSIM A 208A to the baseband processor 110.
- a 91XX message from the eUICC 108 indicating the pending event for eSIM A 208A can be received by the baseband processor 110.
- the baseband processor 110 sends a FETCH message to the eUICC 108 to retrieve the pending event for eSIM A 208A.
- the baseband processor 110 recognizes re-establishment of a proactive STK session for eSIM A 208A.
- the baseband processor 110 receives from the eUICC 108 the pending event, e.g., a proactive REFRESH command, and at 676 provides a terminal response message.
- the baseband processor 110 recognizes that the proactive STK session for eSIM A 208A has concluded. By prematurely terminating the proactive STK session for eSIM A 208A, at 656, the STK scheduler allows for setting up the prioritized MO voice call and then subsequently handling (after re-establishing) the proactive STK session for eSIM A 208A.
- FIG. 7A illustrates a diagram 700 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the communication is associated with an attempt to perform an IMSI switch for roaming without STK scheduling.
- initialization of the eUICC 108 occurs.
- a user of the UE 102 updates a fixed dial number (FDN) for eSIM A 208A.
- the baseband processor 110 sends a WRITE command message to the eUICC 108 with updated elementary file (EF) information for the FDN for eSIM A 208A.
- FDN fixed dial number
- EF elementary file
- the eUICC 108 responds to the baseband processor 110 with a 91XX message indicating a pending event for eSIM A 208A.
- the baseband processor 110 sends a FETCH command to the eUICC 108 to retrieve the pending event for eSIM A 208A.
- the eUICC 108 responds to the baseband processor 110 with the pending event, e.g., a proactive REFRESH - FILE CHANGE command for eSIM A 208A.
- the baseband processor 110 can send to the eUICC 108 an ENVELOPE with LOCATION STATUS EVENT message for eSIM B 208B.
- the eUICC 108 returns a 9300 TOOLKIT BUSY ERROR message to the baseband processor 110.
- a switch of IMSI associated with the location change for eSIM B 208B fails, and at 722, the UE 102 can be unable to register with the roaming cellular wireless network.
- FIG. 7B illustrates a diagram 750 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the communication is associated with an IMSI switch for roaming with STK scheduling.
- initialization of the eUICC 108 occurs.
- a user of the UE 102 updates a fixed dial number (FDN) for eSIM A 208A.
- the baseband processor 110 sends a WRITE command message to the eUICC 108 with updated elementary file (EF) information for the FDN for eSIM A 208A.
- FDN fixed dial number
- EF elementary file
- the eUICC 108 responds to the baseband processor 110 with a 91XX message indicating a pending event for eSIM A 208A.
- the baseband processor 110 sends a FETCH command to the eUICC 108 to retrieve the pending event for eSIM A 208A.
- the eUICC 108 responds to the baseband processor 110 with the pending event, e.g., a proactive REFRESH - FILE CHANGE command for eSIM A 208A.
- the baseband processor 110 recognizes that a proactive STK session for eSIM A 208A is ongoing.
- the UE 102 can change locations, e.g., move to a cellular wireless network region associated with roaming for eSIM B 208B.
- the baseband processor 110 e.g., an STK scheduler 304 thereof, adds an entry to a queue for an ENVELOPE request associated with the location change to allow the proactive STK session for eSIM A 208A to continue, at 758, uninterrupted by the location change commands.
- the baseband processor sends a terminal response REFRESH command to the eUICC 108 for eSIM A 208A and receives in response a status OK 9000 message.
- the baseband processor 110 recognizes that the proactive STK session for eSIM A 208A has concluded.
- the baseband processor 110 can send the delayed ENVELOPE with LOCATION STATUS EVENT message for eSIM B 208B to the eUICC 108.
- the eUICC 108 can respond with a 91XX message indicating a pending event for eSIM B 208B.
- an IMSI switch for eSIM B 208B associated with the location change of the UE 102 can succeed.
- the baseband processor 110 responds to the 91XX message for eSIM B 208B with a FETCH command and receives in response, at 774, from the eUICC 108 a proactive REFRESH command for eSIM B 208B.
- the baseband processor 110 increases the probability of the IMSI switch associated with the location change succeeding.
- FIGS. 8A and 8B illustrate diagrams 800, 835 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the communication is associated with bearer independent protocol (BIP) sessions for multiple eSIMs 208 without STK scheduling, resulting in errors.
- BIP bearer independent protocol
- initialization of the eUICC 108 occurs.
- the baseband processor 110 receives a short message service (SMS) message for eSIM A 208A indicating an over-the-air (OTA) update for eSIM A 208A.
- SMS short message service
- OTA over-the-air
- the baseband processor 110 sends an ENVELOPE message including an SMS PP DOWNLOAD indication to the eUICC 108 for eSIM A 208A.
- the eUICC 108 responds with a 91XX message indicating a pending event for eSIM A 208A.
- the baseband processor 110 sends a FETCH command to the eUICC 108 to retrieve the pending event for eSIM A 208A.
- the eUICC 108 responds to the baseband processor 110 with the pending event, e.g., a proactive OPEN CHANNEL command for eSIM A 208A.
- the baseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update for eSIM A 208A, e.g., using a BIP protocol for the IP session.
- IP Internet Protocol
- the baseband processor 110 provides a terminal response message to the eUICC 108 for eSIM A 208A indicating readiness for the OTA update of eSIM A 208A.
- the eUICC 108 sends a proactive command message to the baseband processor 110 to send data for the OTA update for eSIM A 208A.
- the baseband processor 110 responds to the eUICC 108 with a terminal response.
- the baseband processor 110 receives an SMS message for eSIM B 208A indicating an over-the-air (OTA) update for eSIM B 208B.
- OTA over-the-air
- the baseband processor 110 sends an ENVELOPE message including an SMS PP DOWNLOAD indication to the eUICC 108 for eSIM B 208B.
- the eUICC 108 responds with a 91XX message indicating a pending event for eSIM B 208B.
- the baseband processor 110 sends a FETCH command to the eUICC 108 to retrieve the pending event for eSIM B 208B.
- the eUICC 108 responds to the baseband processor 110 with the pending event, e.g., a proactive OPEN CHANNEL command for eSIM B 208B.
- the baseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update for eSIM B 208B, e.g., using a BIP protocol for the IP session.
- IP Internet Protocol
- two parallel BIP sessions are established, a first BIP session for eSIM A 208A and a second BIP session for eSIM B 208B.
- the baseband processor 110 provides a terminal response message to the eUICC 108 for eSIM B 208B indicating readiness for the OTA update of eSIM B 208B.
- the eUICC 108 sends a proactive command message to the baseband processor 110 to send data for the OTA update for eSIM B 208B.
- the baseband processor 110 requests IP data for eSIM B 208B, e.g., via the established BIP session for eSIM B 208B.
- the baseband processor 110 responds to the eUICC 108 with a terminal response.
- the baseband processor 110 sends an ENVELOPE message indicating DATA AVAILABLE for eSIM B 208B to the eUICC 108 and receives a 91XX message in response, at 846, indicating a pending event for eSIM B 208B.
- the baseband processor retrieves the pending event for eSIM B 208B by sending a FETCH command to the eUICC 108, and receives in response a proactive command for eSIM B 208B indicating readiness to receive data for eSIM B 208B by the eUICC 108.
- the baseband processor 110 can receive incoming data via the established BIP session for eSIM B 208B and at 854 provide a terminal response message to the eSIM B 208B.
- the BIP session for eSIM B 208B intercepts the BIP session for eSIM A 208A, and IP data transfer for the OTA update for eSIM A 208A is interrupted by the IP data transfer for the OTA update for eSIM B 208B.
- interruption of data transfer can cause the OTA update (or other data transfer for the BIP session) of one eSIM to fail because of servicing the OTA update (or other data transfer for the BIP session) for the other eSIM.
- Parallel processing of two BIP sessions for two different eSIMs 208 can be problematic, in some cases resulting in data transfer errors.
- FIGS. 8C and 8D illustrate diagrams 860, 890 of communication between a baseband processor 110 of UE 102 and an eUICC 108 of UE 102, where the communication is associated with bearer independent protocol (BIP) sessions for multiple eSIMs 208 with STK scheduling to reduce errors.
- BIP bearer independent protocol
- initialization of the eUICC 108 occurs.
- the baseband processor 110 receives a short message service (SMS) message for eSIM A 208A indicating an over-the-air (OTA) update for eSIM A 208A.
- the baseband processor 110 sends an ENVELOPE message including an SMS PP DOWNLOAD indication to the eUICC 108 for eSIM A 208A.
- SMS short message service
- OTA over-the-air
- the eUICC 108 responds with a 91XX message indicating a pending event for eSIM A 208A.
- the baseband processor 110 sends a FETCH command to the eUICC 108 to retrieve the pending event for eSIM A 208A.
- the baseband processor 110 recognizes that a proactive STK session for eSIM A 208A is ongoing.
- the eUICC 108 responds to the baseband processor 110 with the pending event, e.g., a proactive OPEN CHANNEL command for eSIM A 208A.
- the baseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update for eSIM A 208A, e.g., using a BIP protocol for the IP session.
- IP Internet Protocol
- the baseband processor 110 provides a terminal response message to the eUICC 108 for eSIM A 208A indicating readiness for the OTA update of eSIM A 208A.
- the eUICC 108 sends a proactive command message to the baseband processor 110 to send data for the OTA update for eSIM A 208A.
- the baseband processor 110 responds to the eUICC 108 with a terminal response.
- the baseband processor 110 receives an SMS message for eSIM B 208A indicating an over-the-air (OTA) update for eSIM B 208B.
- OTA over-the-air
- the baseband processor 110 queues the OTA update SMS message for eSIM B 208B for processing later.
- the baseband processor 110 continues with the proactive STK session for eSIM A 208A by sending an ENVELOPE message including a DATA AVAILABLE indication to the eUICC 108 for eSIM A 208A.
- the eUICC 108 responds with a 91XX message indicating a pending event for eSIM A 208A.
- the baseband processor 110 sends a FETCH command to the eUICC 108 to retrieve the pending event for eSIM A 208BA.
- the eUICC 108 sends a proactive RECEIVE DATA command to the baseband processor 110 for eSIM A 208A.
- the baseband processor 110 responds to the eUICC 108 with a terminal response.
- the eUICC 108 sends a proactive CLOSE CHANNEL command to the baseband processor 110 to end the proactive STK session for eSIM A 208A.
- the baseband processor 110 responds to the eUICC 108 with a terminal response message.
- the baseband processor 110 recognizes that the proactive STK session for eSIM A 208A has completed.
- the baseband processor 110 retrieves the previously queued OTA update SMS message for eSIM B 208B and initiates the OTA update for eSIM B 208B by sending an ENVELOPE message includes an SMS PP DOWNLOAD to the eUICC 108 for eSIM B 208B.
- the eUICC 108 responds with a 91XX message indicating a pending event for eSIM B 208B.
- the baseband processor 110 sends a FETCH command to retrieve the pending event for eSIM B 208B.
- the eUICC 108 responds at 898 with a proactive OPEN CHANNEL command message for eSIM B 208B.
- the baseband processor 110 establishes an IP session for the OTA update for eSIM B 208B, e.g., using a BIP protocol for the IP session. Subsequently the OTA update for eSIM B 208B can proceed (not shown).
- the baseband processor 110 avoids collision of communication of data for the two IP sessions.
- FIG. 9 illustrates a flowchart 900 of an exemplary set of actions taken by a baseband processor 110 of a UE 102 to schedule STK communication for multiple eSIMs 208 of an eUICC 108 of the UE 102.
- a rest of the eUICC 108 occurs.
- the eUICC 108 sends an ATR message indicating that the eUICC 108 is capable of multiple enabled eSIM 208 profiles (MEP capable).
- the baseband processor 110 determines wither there is a pending proactive 91XX command from the eUICC 108 for an eSIM 208, the 91XX command indicating a pending event for the eSIM 208.
- the process can end.
- the baseband processor 110 can determine, at 906, whether there is an ongoing proactive STK session for the eSIM 208.
- the baseband processor proceeds to 914 to retrieve the pending event for the eSIM 208, e.g., by sending a FETCH command to the eUICC 108.
- the baseband processor 110 recognizes that a proactive STK session for the eSIM 208 has started.
- the baseband processor 110 After intervening processing (not shown), at 918, the baseband processor 110 recognizes that the proactive STK session for the eSIM 208 has completed. At 920, the baseband processor 110 determines whether a queue of pending actions (or messages or other indications) is empty. When the queue is empty, the process can end. When the queue is not empty the baseband processor 110 can continue by returning to 905 to determine whether a proactive 91XX command is pending. When there is an ongoing proactive STK session for the eSIM 208, as determined at 906, the baseband processor 110 can determine whether there is a critical user request to be serviced that can supersede the ongoing proactive STK session for the eSIM 208.
- the critical user request can be for an action that impacts a different eSIM 208 of the eUICC 108, e.g., to establish an MO voice call for a second eSIM 208 of the eUICC 108.
- the baseband processor 110 determines, at 908, that the user request is not critical, e.g., not of a sufficiently high priority to supersede the ongoing STK session for the eSIM 208
- the baseband processor 110 stores the user request (e.g., an indication of a command associated with the user request) in a pending action queue for processing later, e.g., when the ongoing proactive STK session for the eSIM 208 concludes.
- the baseband processor 110 determines, at 908, that the user request is critical, e.g., of a sufficiently high priority to supersede the ongoing proactive STK session for the eSIM 208
- the baseband processor 110 terminates the ongoing proactive STK session for the eSIM 208, e.g., by sending to the eUICC 108 an "unable to process command" reply message or comparable termination message to stop the ongoing proactive STK session for the eSIM 208 and allow for processing the critical user request.
- the proactive STK session for the eSIM 208 can be restarted after processing actions associated with the critical user request.
- FIG. 10 illustrates a flowchart 1000 of an exemplary set of actions performed by an apparatus of a wireless device 102 to perform STK scheduling for multiple eSIMs 208 of an eUICC 108.
- the apparatus receives an input to perform an action with a first eSIM 208 of the eUICC 108 of the wireless device 102.
- the apparatus determines whether a proactive STK session for a second eSIM 208 on the eUICC 108 is ongoing.
- the apparatus performs the action associated with the first eSIM 208.
- the apparatus determines whether the action has a priority that supersedes the ongoing proactive STK session for the second eSIM 208.
- the apparatus adds an entry to a queue to perform the action for the first eSIM 208 after the proactive STK session for the second eSIM 208 concludes.
- the apparatus sends a message to the eUICC 108 to terminate the ongoing proactive STK session for the second eSIM 208 and subsequently performs the action associated with the first eSIM 208 after the proactive STK session for the second eSIM 208 terminates.
- FIG. 11 illustrates a detailed view of a representative computing device 1100 that can be used to implement various methods described herein, according to some embodiments.
- the computing device 1100 can include a processor 1102 that represents a microprocessor or controller for controlling the overall operation of computing device 1100.
- the computing device 1100 can also include a user input device 1108 that allows a user of the computing device 1100 to interact with the computing device 1100.
- the user input device 1108 can take a variety of forms, such as a button, keypad, dial, touch screen, audio input interface, visual/image capture input interface, input in the form of sensor data, etc.
- the computing device 1100 can include a display 610 that can be controlled by the processor 1102 to display information to the user.
- a data bus 1116 can facilitate data transfer between at least a storage device 1140, the processor 1102, and a controller 1113.
- the controller 1113 can be used to interface with and control different equipment through and equipment control bus 1114.
- the computing device 1100 can also include a network/bus interface 1111 that couples to a data link 1112. In the case of a wireless connection, the network/bus interface 1111 can include a wireless transceiver.
- the computing device 1100 also includes a storage device 1140, which can comprise a single disk or a plurality of disks (e.g., hard drives), and includes a storage management module that manages one or more partitions within the storage device 1140.
- storage device 1140 can include flash memory, semiconductor (solid state) memory or the like.
- the computing device 1100 can also include a Random Access Memory (RAM) 1120 and a Read-Only Memory (ROM) 1122.
- the ROM 1122 can store programs, utilities or processes to be executed in a non-volatile manner.
- the RAM 1120 can provide volatile data storage, and stores instructions related to the operation of the computing device 1100.
- the computing device 1100 can further include a secure element (SE) 1150, which can represent the eUICC 108 of the UE 102.
- SE secure element
- wireless communication device wireless device
- mobile device mobile station
- user equipment UE
- any one of these consumer electronic devices may relate to: a cellular phone or a smart phone, a tablet computer, a laptop computer or a netbook computer, a media player device, an electronic book device, a MiFi ® device, a wearable computing device, as well as any other type of electronic computing device having fourth generation (4G) Long Term Evolution (LTE) and LTE Advanced (LTE-A), fifth generation (5G) new radio (NR), or similar "later generation" cellular wireless access communication capabilities.
- 4G Long Term Evolution
- LTE-A LTE Advanced
- 5G new radio
- Multi-mode UEs may be configured as multi-mode wireless devices that are also capable of communicating via legacy third generation (3G) and/or second generation (2G) RATs in addition to communicating with 4G wireless networks, as well as communicating using one or more different wireless local area networks.
- Multi-mode UEs can include support for communication in accordance with one or more different wireless communication protocols developed by standards bodies, e.g., 3GPP's Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), LTE, LTE-A, and 5G NR standards or 3GPP2's CDMA2000 (1xRTT, 2xEV-DO, HRPD, eHRPD) standards.
- Multi-mode UEs can also support communication using wireless local area networking protocols, e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), and wireless personal area networking protocols, e.g., Bluetooth ® .
- IEEE Institute of Electrical and Electronics Engineers
- Wi-Fi Wi-Fi
- WiMAX IEEE 802.16
- WiMAX wireless personal area networking protocols
- Bluetooth ® wireless personal area networking protocols
- Multiple wireless communication protocols can provide complementary functions and/or different services for a multi-mode UE.
- personally identifiable information should follow privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users.
- personally identifiable information data should be managed and handled so as to minimize risks of unintentional or unauthorized access or use, and the nature of authorized use should be clearly indicated to users.
- the various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Further, some aspects of the described embodiments may be implemented by software, hardware, or by a combination of hardware and software.
- the described embodiments can also be embodied as computer program code stored on a non-transitory computer-readable medium.
- the computer readable-medium may be associated with any data storage device that can store data, which can thereafter be read by a computer or a computer system. Examples of the computer-readable medium include read-only memory, random-access memory, CD-ROMs, Solid-State Disks (SSD or Flash), HDDs, DVDs, magnetic tape, and optical data storage devices.
- the computer-readable medium can also be distributed over network-coupled computer systems so that the computer program code may be executed in a distributed fashion.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
This Application sets forth techniques for managing subscriber identity module (SIM) toolkit (STK) scheduling for multiple enabled electronic subscriber identity module (eSIM) profiles on an embedded universal integrated circuit card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the eUICC of the wireless device. To forestall STK communication for different eSIMs from interfering with execution of processes associated with the eSIMs, a baseband processor can schedule STK sessions to avoid overlap and reduce opportunities for errors in handling eSIM processes. The baseband processor can prioritize whether to queue commands for a second STK session for a second eSIM until a first STK session for a first eSIM ends or to terminate the first STK session to handle the second STK session.
Description
- The described embodiments set forth techniques for managing subscriber identity module (SIM) toolkit (STK) scheduling for multiple enabled electronic SIM (eSIM) profiles on an embedded universal integrated circuit card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the eUICC of the wireless device.
- Wireless mobile network operators (MNOs) continue to upgrade wireless networks to support newer wireless communication standards, including fourth generation (4G) Long Term Evolution (LTE) and Long Term Evolution Advanced (LTE-A) technologies as well as fifth generation (5G) technologies. Wireless devices continue to evolve to incorporate newer, configurable wireless credentials, such as eSIMs that can be loaded to and subsequently activated on an eUICC of a wireless device. To support newer 5G wireless communication standards, specifications for eSIMs for 5G enabled wireless devices are being developed and standardized. With downloadable eSIMs becoming available to provide ready access to various wireless services, use of multiple eSIMs on a wireless device, including concurrent use of multiple eSIMs on an eUICC of a wireless device is proposed. Communication between the eUICC of a wireless device and a baseband processor external to the eUICC for a new STK session, e.g., for a second eSIM, can interrupt processing of STK commands resulting in errors for an ongoing STK session, e.g., for a first eSIM.
- Representative embodiments set forth techniques for managing subscriber identity module (SIM) toolkit (STK) scheduling for multiple enabled electronic subscriber identity module (eSIM) profiles on an embedded universal integrated circuit card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the eUICC of the wireless device. With downloadable eSIMs becoming available to provide ready access to various wireless services, use of multiple eSIMs on a wireless device, including concurrent use of multiple eSIMs on an eUICC of a wireless device is proposed. Communication between the eUICC of a wireless device and a processor external to the eUICC is managed using logical channels. Communication with an eSIM can include a logical channel assigned for STK communication of an STK session. An eUICC operation system (OS) of the eUICC may be unable to handle multiple, parallel STK sessions for communication with multiple eSIMs. To forestall STK communication for different eSIMs from interfering with execution of processes associated with the eSIMs, an external processor of the wireless device, e.g., a baseband processor, can schedule STK sessions to avoid overlap and reduce opportunities for errors in handling eSIM processes. The external processor can monitor for any ongoing proactive STK sessions associated with an eSIM of the eUICC, where the eUICC includes multiple eSIMs and supports multiple enabled eSIMs. User inputs that indicate one or more STK actions to be performed for a first eSIM of the eUICC can be reviewed by an STK scheduler process of the external processor before execution. When there are no ongoing STK sessions for other eSIMs of the eUICC, the STK scheduler can allow one or more STK actions for the first eSIM to be performed. When there is an ongoing proactive STK session for a second eSIM of the eUICC, the STK scheduler can determine whether at least one of the one or more STK actions for the first eSIM has a priority that supersedes the ongoing proactive STK session for the second eSIM. When none of the one or more STK actions have superseding priority, the STK scheduler can add one or more entries to a queue to perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM concludes. When at least one of the one or more STK actions does have superseding priority, the STK scheduler can send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM and can subsequently perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM terminates. In some embodiments, user inputs include one or more of: enabling one or more eSIMs of the eUICC of the wireless device; enabling multiple eSIMs of the eUICC of the wireless device; initiating a mobile originated (MO) voice call by the wireless device; initiating an MO voice call with high priority, such as an emergency call, by the wireless device; performing an international mobile subscriber identity (IMSI) switch by the wireless device, e.g., while moving to a roaming network area; performing a bearer independent protocol (BIP) session for an eSIM on the eUICC, such as for an over-the-air update of the eSIM.
- This Summary is provided merely for purposes of summarizing some example embodiments so as to provide a basic understanding of some aspects of the subject matter described herein. Accordingly, it will be appreciated that the above-described features are merely examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following Detailed Description, Figures, and Claims.
- Other aspects and advantages of the embodiments described herein will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the described embodiments.
- The included drawings are for illustrative purposes and serve only to provide examples of possible structures and arrangements for the disclosed inventive apparatuses and methods for providing wireless computing devices. These drawings in no way limit any changes in form and detail that may be made to the embodiments by one skilled in the art without departing from the spirit and scope of the embodiments. The embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like structural elements.
-
FIG. 1 illustrates a block diagram of different components of an exemplary system configured to implement the various techniques described herein, according to some embodiments. -
FIG. 2 illustrates a block diagram of a more detailed view of exemplary components of the system ofFIG. 1 , according to some embodiments. -
FIG. 3 illustrates communication between a baseband processor and an eUICC of a UE, according to some embodiments. -
FIG. 4A illustrates an example of communication for multiple eSIMs without STK scheduling resulting in errors, according to some embodiments. -
FIG. 4B illustrates an example of communication for multiple eSIMs with STK scheduling to reduce errors, according to some embodiments. -
FIG. 5A illustrates an example of communication to enable multiple eSIMs without STK scheduling resulting in errors, according to some embodiments. -
FIG. 5B illustrates an example of communication to enable multiple eSIMs with STK scheduling to reduce errors, according to some embodiments. -
FIG. 6A illustrates an example of communication to originate a voice call without STK scheduling resulting in errors, according to some embodiments. -
FIG. 6B illustrates an example of communication to originate a voice call with STK scheduling to reduce errors, according to some embodiments. -
FIG. 7A illustrates an example of communication to attempt an IMSI switch associated with location roaming without STK scheduling resulting in errors, according to some embodiments. -
FIG. 7B illustrates an example of communication to cause an IMSI switch associated with location roaming with STK scheduling to reduce errors, according to some embodiments. -
FIGS. 8A and8B illustrate an example of communication to handle bearer independent protocol (BIP) sessions for eSIMs without STK scheduling resulting in errors, according to some embodiments. -
FIGS. 8C and8D illustrates an example of communication to handle BIP sessions for eSIMs with STK scheduling to reduce errors, according to some embodiments. -
FIG. 9 illustrates a flow diagram of an exemplary sequence of actions by a baseband processor of a wireless device to schedule SIM toolkit (STK) communication with an eUICC, according to some embodiments. -
FIG. 10 illustrates a flow diagram of an exemplary set of actions performed by an apparatus of a wireless device to perform STK scheduling for multiple eSIMs of an eUICC, according to some embodiments. -
FIG. 11 illustrates a detailed view of a representative computing device that can be used to implement various methods described herein, according to some embodiments. - Representative applications of apparatuses and methods according to the presently described embodiments are provided in this section. These examples are being provided solely to add context and aid in the understanding of the described embodiments. It will thus be apparent to one skilled in the art that the presently described embodiments can be practiced without some or all of these specific details. In other instances, well known process steps have not been described in detail in order to avoid unnecessarily obscuring the presently described embodiments. Other applications are possible, such that the following examples should not be taken as limiting.
- Representative embodiments set forth techniques for managing subscriber identity module (SIM) toolkit (STK) scheduling for multiple enabled electronic subscriber identity module (eSIM) profiles on an embedded universal integrated circuit card (eUICC) of a wireless device, including managing multiple STK sessions at a baseband processor external to the eUICC of the wireless device. With downloadable eSIMs becoming available to provide ready access to various wireless services, use of multiple eSIMs on a wireless device, including concurrent use of multiple eSIMs on an eUICC of a wireless device is proposed. Communication between the eUICC of a wireless device and a processor external to the eUICC is managed using logical channels. Communication with an eSIM can include a logical channel assigned for STK communication of an STK session. An eUICC operation system (OS) of the eUICC may be unable to handle multiple, parallel STK sessions for communication with multiple eSIMs. To forestall STK communication for different eSIMs from interfering with execution of processes associated with the eSIMs, an external processor of the wireless device, e.g., a baseband processor, can schedule STK sessions to avoid overlap and reduce opportunities for errors in handling eSIM processes. The external processor can monitor for any ongoing proactive sessions associated with an eSIM of the eUICC, where the eUICC includes multiple eSIMs and supports multiple enabled eSIMs. User inputs that indicate one or more STK actions to be performed for a first eSIM of the eUICC can be reviewed by an STK scheduler process of the external processor before execution. When there are no ongoing STK sessions for other eSIMs of the eUICC, the STK scheduler can allow the one or more STK actions for the first eSIM to be performed. When there is an ongoing proactive STK session for a second eSIM of the eUICC, the STK scheduler can determine whether the one or more STK actions for the first eSIM have a priority that supersedes the ongoing proactive STK session for the second eSIM. When the one or more STK actions do not have superseding priority, the STK scheduler can add one or more entries to a queue to perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM concludes. When the one or more STK actions do have superseding priority, the STK scheduler can send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM and can subsequently perform the one or more STK actions for the first eSIM after the proactive STK session for the second eSIM terminates. In some embodiments, user inputs include one or more of: enabling one or more eSIMs of the eUICC of the wireless device; enabling multiple eSIMs of the eUICC of the wireless device; initiating a mobile originated (MO) voice call by the wireless device; initiating an MO voice call with high priority, such as an emergency call, by the wireless device; performing an international mobile subscriber identity (IMSI) switch by the wireless device while moving to a roaming network area; performing a bearer independent protocol (BIP) session for an eSIM on the eUICC, such as for an over-the-air update of the eSIM.
- These and other embodiments are discussed below with reference to
FIGS. 1 through 11 ; however, those skilled in the art will readily appreciate that the detailed description given herein with respect to these figures is for explanatory purposes only and should not be construed as limiting. -
FIG. 1 illustrates a block diagram of different components of asystem 100 that is configured to implement the various techniques described herein, according to some embodiments. More specifically,FIG. 1 illustrates a high-level overview of thesystem 100, which, as shown, includes a user equipment (UE) 102, a group of base stations 112-1 to 112-n that are managed by different Mobile Network Operators (MNOs) 114, and a set of provisioningservers 116 that are in communication with theMNOs 114. The UE 102 can represent a mobile computing device (e.g., an iPhone® or an iPad® by Apple®), the base stations 112-1 to 112-n can represent cellular wireless network entities including evolved NodeBs (eNBs) and/or next generation NodeBs (gNBs or gNB) that are configured to communicate with the UE 102, and theMNOs 114 can represent different wireless service providers that provide specific services (e.g., voice and data) to which the UE 102 can be subscribed. The UE 102 may also be referred to as a wireless device, a mobile device, a mobile wireless device, or the like. - As shown in
FIG. 1 , the UE 102 can include processing circuitry, which can include one ormore processors 104 andmemory 106, an embedded Universal Integrated Circuit Card (eUICC) 108, and abaseband processor 110. In some embodiments, the UE 102 includes one or more physical UICC cards, also referred to as Subscriber Identity Module (SIM) cards (not shown), in addition to or substituting for the eUICC. The components of the UE 102 work in conjunction to enable the UE 102 to provide useful features to a user of the UE 102, such as localized computing, location-based services, and Internet connectivity. TheeUICC 108 can be configured to store multiple electronic SIMs (eSIMs) for accessing different services offered by one or more MNOs 114 through base stations 112-1 to 112-n. For example, theeUICC 108 can be configured to store and manage one or more eSIMs for one or more MNOs 114 for different subscriptions to which the UE 102 has been associated. To be able to access services provided by the MNOs, an eSIM can be provisioned to theeUICC 108. In some embodiments, theeUICC 108 obtains one or more eSIMs (or updates for one or more eSIMs) from one or more associatedprovisioning servers 116. It is noted that provisioningservers 116 can be maintained by a manufacturer of the UE 102, theMNOs 114, third party entities, and the like. Communication of eSIM data between aprovisioning server 116 and the eUICC 108 (or between theprovisioning server 116 and processing circuitry of the UE 102 external to theeUICC 108, e.g., the processor 104) can use a secure communication channel. Multiple eSIMs can be downloaded to theeUICC 108 of the UE 102 from one ormore provisioning servers 116 associated with one ormore MNOs 114. The UE 102 can be configured to allow for multiple eSIMs to be enabled concurrently on the UE 102 to provide access to wireless services provided by the multiple eSIMs. Communication between the multiple eSIMs enabled on theeUICC 108 and processing circuitry external to theeUICC 108, e.g., to aprocessor 104 and/or to thebaseband processor 110 can use logical channels. Communication with an eSIM can include a SIM toolkit (STK) session that uses a logical channel between thebaseband processor 110 and the eSIM. An STK scheduler operating on thebaseband processor 110 can review inputs that can result in actions that impact an ongoing STK session for an eSIM. Multiple, parallel STK sessions can be avoided by delaying initiation of a new STK session for a second eSIM while an ongoing proactive STK session for a first eSIM continues. In some instances, the proactive STK session for the first eSIM can be terminated prematurely to allow for establishing the new STK session for the second eSIM, when actions associated with the second eSIM have priority to supersede the STK session for the first eSIM. -
FIG. 2 illustrates a block diagram of a moredetailed view 200 of particular components of the UE 102 ofFIG. 1 , according to some embodiments. As shown inFIG. 2 , the processor(s) 104, in conjunction with thememory 106, can implement a main operating system (OS) 202 that is configured to execute applications 204 (e.g., native OS applications and user applications). As also shown inFIG. 2 , theeUICC 108 can be configured to implement aneUICC OS 206 that is configured to manage the hardware resources of the eUICC 108 (e.g., a processor and a memory embedded in the eUICC 108). TheeUICC OS 206 can also be configured to manageeSIMs 208 that are stored by theeUICC 108, e.g., by installing, enabling, disabling, modifying, or otherwise performing management of theeSIMs 208 within theeUICC 108 and providing thebaseband processor 110 with access to theeSIMs 208 to provide access to wireless services for the UE 102. TheeUICC 108 OS can include aneSIM manager 210, which can perform management functions for various eSIMs. According to the illustration shown inFIG. 2 , eacheSIM 208 can include a number ofapplets 212 that define the manner in which theeSIM 208 operates. For example, one or more of theapplets 212, when implemented by thebaseband processor 110 and theeUICC 108, can be configured to enable the UE 102 to communicate with anMNO 114 and provide useful features (e.g., voice connections, messaging services, internet access and the like) to a user of the UE 102. - As also shown in
FIG. 2 , thebaseband processor 110 of the UE 102 can include abaseband OS 214 that is configured to manage hardware resources of the baseband processor 110 (e.g., a processor, a memory, different radio components, etc.). According to some embodiments, thebaseband processor 110 can implement abaseband manager 216 that is configured to interface with theeUICC 108 to establish a secure channel with aprovisioning server 116 and obtaining information (such as eSIM data) from theprovisioning server 116 for purposes of managingeSIMs 208. Thebaseband manager 216 can be configured to implementservices 218, which represents a collection of software modules that are instantiated by way of thevarious applets 212 of enabledeSIMs 208 that are included in theeUICC 108. For example,services 218 can be configured to manage different connections between the UE 102 andMNOs 114 according to thedifferent eSIMs 208 that are enabled within theeUICC 108. Thebaseband manager 216 can be further configured to include a SIM toolkit (STK) scheduler that manages STK sessions for communication with one ormore eSIMs 208 on theeUICC 108. -
FIG. 3 illustrates a diagram 300 of communication between thebaseband processor 110 of the UE 102 and theeUICC OS 206 of theeUICC 108 of the UE 102. TheeUICC 108 of the UE 102 can be capable of simultaneously enabling multiple eSIM profiles, which can be referred to as a multiple enabled profile (MEP) capability. To reduce the opportunity for SIM toolkit (STK) sessions fordifferent eSIMs 208 of theeUICC 108 interfering with each other, anSTK scheduler 304 can monitor user input, or other actions generated by the UE 102, to schedule STK session communication for theeSIMs 208 of theeUICC 108. TheSTK scheduler 304 can receive SIM commands or requests, which can be associated with user inputs, that require actions to be performed by elements of theeUICC 108. TheSTK scheduler 304 can interface with aSIM driver 302 software component that can interface with theeUICC OS 206 of theeUICC 108 to communicate with aneSIM manager 210 therein, which can communicate with one or more of theeSIMs 208. TheSIM driver 302 can receive SIM requests from theSTK scheduler 304, which can result from one or more SIM commands or requests provided to theSTK scheduler 304, and send SIM commands to theeUICC 108 to interact with theeUICC 108, theeUICC OS 206, and/or theeSIMs 208 via theeSIM manager 210. TheSIM driver 302 can also communicate terminal responses to theeUICC 108 in response to communication from theeUICC 108. TheeUICC 108 can also send proactive commands to theSIM driver 302 which can be processed further by thebaseband processor 110. TheSTK scheduler 304 can manage STK sessions to reduce interference for communication withmultiple eSIMs 208 of theeUICC 108. In some instances, theSTK scheduler 304 can interrupt an ongoing STK session associated with afirst eSIM 208 to perform a prioritized action for asecond eSIM 208. In some instances, theSTK scheduler 304 can delay establishing a new STK session (or delaying communication to the eUICC 108) for asecond eSIM 208 that could interfere with an ongoing STK session for afirst eSIM 208. -
FIG. 4A illustrates a diagram 400 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where the communication is intended for multiple eSIMs 208 and results in one or more errors. Initially, thebaseband processor 110 sends an ENVELOPE message to theeUICC 108 in order to establish an STK session for afirst eSIM 208, e.g., eSIM A. TheeUICC 108 responds positively to the ENVELOPE message with an 91xx message to thebaseband processor 110 establishing the STK session for eSIM A and indicating a pending proactive command. Thebaseband processor 110 subsequently sends a FETCH message to theeUICC 108 to retrieve the pending proactive command from theeUICC 108 for eSIM A. TheeUICC 108 responds with the proactive command message for eSIM A that can indicate an action for thebaseband processor 110 to take regarding eSIM A. Subsequently, without STK scheduling to separate STK sessions for different eSIMs to not overlap, thebaseband processor 110 can send another ENVELOPE message to theeUICC 108, this ENVELOPE message directed to establishing a second STK session for asecond eSIM 208, e.g., eSIM B. TheeUICC 108 responds to the ENVELOPE message for thesecond eSIM 208 by sending a 9300 ERROR message to thebaseband processor 110 indicating theeUICC 108 is busy and cannot respond to the second ENVELOPE message for establishing the second STK session for eSIM B. In some instances, the software component handling the STK sessions on theeUICC 108 can return an STK BUSY error indication. In some cases, the software component of theeUICC 108 cannot properly establish and maintain multiple, parallel STK sessions formultiple eSIMs 208 at the same time. In some embodiments, the software component handling the STK session on theeUICC 108 can result in one or more errors for handling messages or actions by theeUICC 108 for the ongoing STK session for the eSIM A. In some instances, thebaseband processor 110 terminates the STK session for the SIM A in response to the 9300 ERROR message. -
FIG. 4B illustrates a diagram 450 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where communication intended formultiple eSIMs 208 are managed by anSTK scheduler 304 on thebaseband processor 110 to delay establishment of a second STK session for asecond eSIM 208 until a first STK session for afirst eSIM 208 terminates. Initially, thebaseband processor 110 sends an ENVELOPE message to theeUICC 108 in order to establish an STK session for afirst eSIM 208, e.g., eSIM A. TheeUICC 108 responds positively to the ENVELOPE message with an 91xx message to thebaseband processor 110 establishing the STK session for eSIM A and indicating a pending proactive command. Thebaseband processor 110 subsequently sends a FETCH message to theeUICC 108 to retrieve the pending proactive command from theeUICC 108 for eSIM A. TheeUICC 108 responds with the proactive command message for eSIM A that can indicate an action for thebaseband processor 110 to take regarding eSIM A. Subsequently, with STK scheduling to separate STK sessions for different eSIMs to not overlap, thebaseband processor 110 can delay sending a message to establish a second STK session for asecond eSIM 208, e.g., eSIM B, until after the STK session for the eSIM A concludes. Thebaseband processor 110 can send a terminal response message for eSIM A to theeUICC 108 to terminate the STK session for eSIM A, which can be as a result of completing actions required for the STK session for eSIM A or can result from an interrupt by a higher priority action that requires establishing an STK session for another eSIM, e.g., for eSIM B. After the STK session for eSIM A terminates, thebaseband processor 110 can send another ENVELOPE message to theeUICC 108, this ENVELOPE message directed to establishing an STK session for asecond eSIM 208, e.g., eSIM B. As the previous STK session for eSIM A has terminated, the STK session for eSIM B can be established, and theeUICC 108 responds to the ENVELOPE message for thesecond eSIM 208 by sending a 9000 status response message for eSIM B to thebaseband processor 110. By delaying establishment of the STK session for eSIM B until after the STK session for eSIM A terminates, the baseband processor 110 (e.g., the STK scheduler therein) can reduce opportunities for errors caused by colliding messages for two different STK sessions for twodifferent eSIMs 208 of theeUICC 108. -
FIG. 5A illustrates a diagram 500 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where the communication is intended to enablemultiple eSIMs 208 without STK scheduling. At 502, a reset of theeUICC 108 can occur, e.g., as a result of powering on the UE 102 in which theeUICC 108 is housed. TheeUICC 108 can storemultiple eSIMs 208, e.g.,eSIM A 208A andeSIM B 208B. Initially, after power on reset, both eSIM A 208A andeSIM B 208B can be in a disabled state. At 504, theeUICC 108 can send a message to thebaseband processor 110 indicating that theeUICC 108 is capable of supporting multiple, simultaneously enabledeSIMs 208, i.e., theeUICC 108 is multiple enabled profile (MEP) capable. At 506, thebaseband processor 110 can determine that both eSIM A 208A andeSIM B 208B are in a disabled state. In some instances, a notification of the disabled state can be provided to a user of the UE 102. At 508, thebaseband processor 110 can determine that both eSIM A 208A andeSIM B 208B are to be enabled, e.g., as a result of an input from a user of the UE 102 or from a setting indicating both eSIM A 208A andeSIM B 208B were previously enabled (e.g., before a power up of the UE 102 or other action that caused the reset at 502 to occur). Without STK scheduling, thebaseband processor 110 can seek to establish STK sessions to enableeSIM A 208A andeSIM B 208B in parallel, which can result in errors as discussed further herein. At 510, thebaseband processor 110 sends a message to theeUICC 108 to enableeSIM A 208A. At 512, theeUICC 108 responds with an OK response message. At 514, thebaseband processor 110 sends a TERMINAL PROFILE DOWNLOAD message to theeUICC 108 foreSIM A 208A. At 516, theeUICC 108 responds with a 91XX command indicating a pending proactive command for theeUICC 108. At 518, theeUICC 108 sends a FETCH COMMAND to the eUICC to retrieve the pending proactive command. At 520, theeUICC 108 sends the proactive command to the baseband processor, where the proactive command indicates establishment of an event list for eSIM A. Without STK scheduling, at 522, thebaseband processor 110 sends a second message to theeUICC 108 to enableeSIM B 208B. At 524, theeUICC 108 determines thateSIM B 208B cannot be enabled because one or more processes are busy handling events foreSIM A 208A. TheeUICC 108 responds to the enable request for eSIM B from thebaseband processor 110 with a 9300 TOOLKIT BUSY ERROR message. Without STK scheduling, thebaseband processor 110 continues, at 528, witheSIM A 208A, by sending a terminal response message to set up the event list foreSIM A 208A. At 930, theeUICC 108 responds with a 9000 status message. The impact of parallel STK sessions foreSIM A 208A andeSIM B 208B can result in numerous errors at 532, such as thebaseband processor 110 not providing proper status messages associated with "events" to the eUICC 108 (e.g., voice call status, IMS registration status, location status), and incorrect or missing status information can negatively impact voice call initiation and establishment, UE registration, data connections, etc. -
FIG. 5B illustrates a diagram 550 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where the communication enablesmultiple eSIMs 208 sequentially with STK scheduling. At 502, a reset of theeUICC 108 can occur, e.g., as a result of powering on the UE 102 in which theeUICC 108 is housed. TheeUICC 108 can storemultiple eSIMs 208, e.g.,eSIM A 208A andeSIM B 208B. Initially, after power on reset, both eSIM A 208A andeSIM B 208B can be in a disabled state. At 504, theeUICC 108 can send a message to thebaseband processor 110 indicating that theeUICC 108 is capable of supporting multiple, simultaneously enabledeSIMs 208, i.e., theeUICC 108 is multiple enabled profile (MEP) capable. At 506, thebaseband processor 110 can determine that both eSIM A 208A andeSIM B 208B are in a disabled state. In some instances, a notification of the disabled state can be provided to a user of the UE 102. At 508, thebaseband processor 110 can determine that both eSIM A 208A andeSIM B 208B are to be enabled, e.g., as a result of an input from a user of the UE 102 or from a setting indicating both eSIM A 208A andeSIM B 208B were previously enabled (e.g., before a power up of the UE 102 or other action that caused the reset at 502 to occur). At 510, thebaseband processor 110 sends a message to theeUICC 108 to enableeSIM A 208A. At 512, theeUICC 108 responds with an OK response message. At 514, thebaseband processor 110 sends a TERMINAL PROFILE DOWNLOAD message to theeUICC 108 foreSIM A 208A. At 516, theeUICC 108 responds with a 91XX command indicating a pending proactive command for theeUICC 108. At 518, theeUICC 108 sends a FETCH COMMAND to the eUICC to retrieve the pending proactive command. At 520, theeUICC 108 sends the proactive command to the baseband processor, where the proactive command indicates establishment of an event list for eSIM A. With STK scheduling, at 552, thebaseband processor 110, recognizes an ongoing proactive STK session foreSIM A 208A, and at 554, thebaseband processor 110 queues the pending request to enableeSIM B 208B to not interfere with the ongoing proactive STK session foreSIM A 208A. At 556, thebaseband processor 110 responds to the previous proactive command to establish the event list (received at 520) from theeUICC 108 with a terminal response sent to theeUICC 108 to establish the event list. At 558, theeUICC 108 responds with a 9000 status message. At 560, the proactive STK session foreSIM A 208A concludes, after which thebaseband processor 110 can address the pending, queued request to enableeSIM B 208B. At 562, thebaseband processor 110 sends a message to theeUICC 108 to enable eSIM B and receives, at 564, an OK response message from theeUICC 108. At 566, thebaseband processor 110 sends a terminal profile download message foreSIM B 208B to theeUICC 108. At 568, the baseband processor receives from the eUICC 108 a 91XX message indicating a pending event foreSIM B 208B. At 570, thebaseband processor 110 responds with a FETCH message to retrieve the pending event foreSIM B 208B. By delaying execution of the enablement ofeSIM B 208B using anSTK scheduler 304 until after the pending proactive STK session foreSIM A 208A completes, thebaseband processor 110 reduces the probability of errors occurring when processing commands fordifferent eSIMs 208 by theeUICC 108. -
FIG. 6A illustrates a diagram 600 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where thebaseband processor 110 attempts to establish a mobile originated (MO) voice call without STK scheduling. At 602, an initialization of theeUICC 108 occurs. At 604, thebaseband processor 110 sends an ENVELOPE message to theeUICC 108 with location status information, e.g., indicating normal service. At 608, theeUICC 108 sends to the baseband processor 110 a 91XX message indicating a pending event, e.g., a pending proactive command, foreSIM A 208A. At 610, thebaseband processor 110 sends to the eUICC 108 a FETCH command to retrieve the pending proactive command foreSIM A 208A. At 612, theeUICC 108 responds with the proactive command for eSIM A, e.g., a REFRESH command. At 614, a user of the UE 102 can trigger a mobile originated (MO) voice call to be established usingeSIM B 208B. Without STK scheduling, thebaseband processor 110 can send, at 616, an ENVELOPE message including CALL CONTROL information to theeUICC 108 foreSIM B 208B. As theeUICC 108 is in the midst of handling the proactive command foreSIM A 208A, theeUICC 108 can respond to thebaseband processor 110, at 618, with a 9300 ERROR message including TOOLKIT BUSY. As a result, theeUICC 108 cannot service the request for the MO voice call, and at 620, the MO voice call establishment fails. -
FIG. 6B illustrates a diagram 650 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where thebaseband processor 110 with STK scheduling establishes a mobile originated (MO) voice call foreSIM B 208B to manage an ongoing STK session foreSIM A 208A. AnSTK scheduler 304 of thebaseband processor 110 can monitor for ongoing proactive STK sessions and adjust communication fordifferent eSIMs 208 accordingly. At 602, an initialization of theeUICC 108 occurs. At 604, thebaseband processor 110 sends an ENVELOPE message to theeUICC 108 with location status information, e.g., indicating normal service. At 608, theeUICC 108 sends to the baseband processor 110 a 91XX message indicating a pending event, e.g., a pending proactive command, foreSIM A 208A. At 610, thebaseband processor 110 sends to the eUICC 108 a FETCH command to retrieve the pending proactive command foreSIM A 208A. At 612, theeUICC 108 responds with the proactive command for eSIM A, e.g., a REFRESH command. With STK scheduling, at 652, thebaseband processor 110 recognizes an ongoing proactive STK session foreSIM A 208A. At 654, a user of the UE 102 can trigger an MO voice call viaeSIM B 208B. TheSTK scheduler 304 of thebaseband processor 110 can determine that establishment of the MO voice call has a higher priority and supersedes the ongoing proactive STK session foreSIM A 208A. At 656, thebaseband processor 110 sends a terminal response message to theeUICC 108 with an indication of TERMINAL BUSY ON CALL status. TheeUICC 108 can recognize that the proactive STK session foreSIM A 208A has terminated, and one or more pending events for eSIM A 208 are yet to be serviced. Thebaseband processor 110, at 660, can determine that the proactive STK session foreSIM A 208A has terminated and subsequently at 662 send an ENVELOPE message to theeUICC 108 to establish the MO call foreSIM B 208B. TheeUICC 108 can respond, at 664, with a 9000 status message indicating NO MODIFICATION. At 666, thebaseband processor 110 and theeUICC 108 can proceed to establish the MO voice call viaeSIM B 208B. At 658, theeUICC 108, when feasible and not interfering with establishment of the MO voice call, can send 91XX messages indicating the pending event(s) for eSIM A 208A to thebaseband processor 110. After the MO voice call is established, at 668, a 91XX message from theeUICC 108 indicating the pending event foreSIM A 208A can be received by thebaseband processor 110. At 670, thebaseband processor 110 sends a FETCH message to theeUICC 108 to retrieve the pending event foreSIM A 208A. At 672, thebaseband processor 110 recognizes re-establishment of a proactive STK session foreSIM A 208A. At 674, thebaseband processor 110 receives from theeUICC 108 the pending event, e.g., a proactive REFRESH command, and at 676 provides a terminal response message. At 678, thebaseband processor 110 recognizes that the proactive STK session foreSIM A 208A has concluded. By prematurely terminating the proactive STK session foreSIM A 208A, at 656, the STK scheduler allows for setting up the prioritized MO voice call and then subsequently handling (after re-establishing) the proactive STK session foreSIM A 208A. -
FIG. 7A illustrates a diagram 700 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where the communication is associated with an attempt to perform an IMSI switch for roaming without STK scheduling. At 702, initialization of theeUICC 108 occurs. At 704, a user of the UE 102 updates a fixed dial number (FDN) foreSIM A 208A. At 706, thebaseband processor 110 sends a WRITE command message to theeUICC 108 with updated elementary file (EF) information for the FDN foreSIM A 208A. At 708, theeUICC 108 responds to thebaseband processor 110 with a 91XX message indicating a pending event foreSIM A 208A. At 710, thebaseband processor 110 sends a FETCH command to theeUICC 108 to retrieve the pending event foreSIM A 208A. At 712, theeUICC 108 responds to thebaseband processor 110 with the pending event, e.g., a proactive REFRESH - FILE CHANGE command foreSIM A 208A. While a proactive STK session foreSIM A 208A is ongoing, at 714, the UE 102 can change locations, e.g., move to a cellular wireless network region associated with roaming foreSIM B 208B. At 716, thebaseband processor 110, as a result of the location change, can send to theeUICC 108 an ENVELOPE with LOCATION STATUS EVENT message foreSIM B 208B. As the STK handler for theeUICC 108 can be already handling the proactive STK session foreSIM A 208A, at 718, theeUICC 108 returns a 9300 TOOLKIT BUSY ERROR message to thebaseband processor 110. At 720, a switch of IMSI associated with the location change foreSIM B 208B fails, and at 722, the UE 102 can be unable to register with the roaming cellular wireless network. -
FIG. 7B illustrates a diagram 750 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where the communication is associated with an IMSI switch for roaming with STK scheduling. At 702, initialization of theeUICC 108 occurs. At 704, a user of the UE 102 updates a fixed dial number (FDN) foreSIM A 208A. At 706, thebaseband processor 110 sends a WRITE command message to theeUICC 108 with updated elementary file (EF) information for the FDN foreSIM A 208A. At 708, theeUICC 108 responds to thebaseband processor 110 with a 91XX message indicating a pending event foreSIM A 208A. At 710, thebaseband processor 110 sends a FETCH command to theeUICC 108 to retrieve the pending event foreSIM A 208A. At 712, theeUICC 108 responds to thebaseband processor 110 with the pending event, e.g., a proactive REFRESH - FILE CHANGE command foreSIM A 208A. At 752, thebaseband processor 110 recognizes that a proactive STK session foreSIM A 208A is ongoing. While the proactive STK session foreSIM A 208A is ongoing, at 754, the UE 102 can change locations, e.g., move to a cellular wireless network region associated with roaming foreSIM B 208B. At 756, thebaseband processor 110, e.g., anSTK scheduler 304 thereof, adds an entry to a queue for an ENVELOPE request associated with the location change to allow the proactive STK session for eSIM A 208A to continue, at 758, uninterrupted by the location change commands. At 760, the baseband processor sends a terminal response REFRESH command to theeUICC 108 foreSIM A 208A and receives in response a status OK 9000 message. At 764, thebaseband processor 110 recognizes that the proactive STK session foreSIM A 208A has concluded. At 766, thebaseband processor 110 can send the delayed ENVELOPE with LOCATION STATUS EVENT message foreSIM B 208B to theeUICC 108. TheeUICC 108 can respond with a 91XX message indicating a pending event foreSIM B 208B. At 770, an IMSI switch foreSIM B 208B associated with the location change of the UE 102 can succeed. At 772, thebaseband processor 110 responds to the 91XX message foreSIM B 208B with a FETCH command and receives in response, at 774, from the eUICC 108 a proactive REFRESH command foreSIM B 208B. By queuing actions associated with the location change foreSIM B 208B to be processed after completion of the ongoing proactive STK session foreSIM A 208A, thebaseband processor 110 increases the probability of the IMSI switch associated with the location change succeeding. -
FIGS. 8A and8B illustrate diagrams 800, 835 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where the communication is associated with bearer independent protocol (BIP) sessions formultiple eSIMs 208 without STK scheduling, resulting in errors. At 802, initialization of theeUICC 108 occurs. At 804, thebaseband processor 110 receives a short message service (SMS) message foreSIM A 208A indicating an over-the-air (OTA) update foreSIM A 208A. At 806, thebaseband processor 110 sends an ENVELOPE message including an SMS PP DOWNLOAD indication to theeUICC 108 foreSIM A 208A. At 808, theeUICC 108 responds with a 91XX message indicating a pending event foreSIM A 208A. At 810, thebaseband processor 110 sends a FETCH command to theeUICC 108 to retrieve the pending event foreSIM A 208A. At 812, theeUICC 108 responds to thebaseband processor 110 with the pending event, e.g., a proactive OPEN CHANNEL command foreSIM A 208A. At 814, thebaseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update foreSIM A 208A, e.g., using a BIP protocol for the IP session. At 816, thebaseband processor 110 provides a terminal response message to theeUICC 108 foreSIM A 208A indicating readiness for the OTA update ofeSIM A 208A. At 818, theeUICC 108 sends a proactive command message to thebaseband processor 110 to send data for the OTA update foreSIM A 208A. At 820, thebaseband processor 110 responds to theeUICC 108 with a terminal response. At 824, thebaseband processor 110 receives an SMS message foreSIM B 208A indicating an over-the-air (OTA) update foreSIM B 208B. At 826, thebaseband processor 110 sends an ENVELOPE message including an SMS PP DOWNLOAD indication to theeUICC 108 foreSIM B 208B. At 828, theeUICC 108 responds with a 91XX message indicating a pending event foreSIM B 208B. At 830, thebaseband processor 110 sends a FETCH command to theeUICC 108 to retrieve the pending event foreSIM B 208B. At 832, theeUICC 108 responds to thebaseband processor 110 with the pending event, e.g., a proactive OPEN CHANNEL command foreSIM B 208B. At 834, thebaseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update foreSIM B 208B, e.g., using a BIP protocol for the IP session. At this point, two parallel BIP sessions are established, a first BIP session foreSIM A 208A and a second BIP session foreSIM B 208B. - At 836, the
baseband processor 110 provides a terminal response message to theeUICC 108 foreSIM B 208B indicating readiness for the OTA update ofeSIM B 208B. At 838, theeUICC 108 sends a proactive command message to thebaseband processor 110 to send data for the OTA update foreSIM B 208B. At 840, thebaseband processor 110 requests IP data foreSIM B 208B, e.g., via the established BIP session foreSIM B 208B. At 842, thebaseband processor 110 responds to theeUICC 108 with a terminal response. At 844, thebaseband processor 110 sends an ENVELOPE message indicating DATA AVAILABLE foreSIM B 208B to theeUICC 108 and receives a 91XX message in response, at 846, indicating a pending event foreSIM B 208B. At 848, the baseband processor retrieves the pending event foreSIM B 208B by sending a FETCH command to theeUICC 108, and receives in response a proactive command foreSIM B 208B indicating readiness to receive data foreSIM B 208B by theeUICC 108. At 852, thebaseband processor 110 can receive incoming data via the established BIP session foreSIM B 208B and at 854 provide a terminal response message to theeSIM B 208B. As noted at 856, the BIP session foreSIM B 208B intercepts the BIP session foreSIM A 208A, and IP data transfer for the OTA update foreSIM A 208A is interrupted by the IP data transfer for the OTA update foreSIM B 208B. In some instances, interruption of data transfer can cause the OTA update (or other data transfer for the BIP session) of one eSIM to fail because of servicing the OTA update (or other data transfer for the BIP session) for the other eSIM. Parallel processing of two BIP sessions for twodifferent eSIMs 208 can be problematic, in some cases resulting in data transfer errors. -
FIGS. 8C and8D illustrate diagrams 860, 890 of communication between abaseband processor 110 of UE 102 and aneUICC 108 of UE 102, where the communication is associated with bearer independent protocol (BIP) sessions formultiple eSIMs 208 with STK scheduling to reduce errors. At 802, initialization of theeUICC 108 occurs. At 804, thebaseband processor 110 receives a short message service (SMS) message foreSIM A 208A indicating an over-the-air (OTA) update foreSIM A 208A. At 806, thebaseband processor 110 sends an ENVELOPE message including an SMS PP DOWNLOAD indication to theeUICC 108 foreSIM A 208A. At 808, theeUICC 108 responds with a 91XX message indicating a pending event foreSIM A 208A. At 810, thebaseband processor 110 sends a FETCH command to theeUICC 108 to retrieve the pending event foreSIM A 208A. At 862, thebaseband processor 110 recognizes that a proactive STK session foreSIM A 208A is ongoing. At 864, theeUICC 108 responds to thebaseband processor 110 with the pending event, e.g., a proactive OPEN CHANNEL command foreSIM A 208A. At 866, thebaseband processor 110 establishes an Internet Protocol (IP) data session for the OTA update foreSIM A 208A, e.g., using a BIP protocol for the IP session. At 868, thebaseband processor 110 provides a terminal response message to theeUICC 108 foreSIM A 208A indicating readiness for the OTA update ofeSIM A 208A. At 870, theeUICC 108 sends a proactive command message to thebaseband processor 110 to send data for the OTA update foreSIM A 208A. At 872, thebaseband processor 110 responds to theeUICC 108 with a terminal response. At 874, thebaseband processor 110 receives an SMS message foreSIM B 208A indicating an over-the-air (OTA) update foreSIM B 208B. As the proactive STK session foreSIM A 208A is ongoing, thebaseband processor 110, at 876, queues the OTA update SMS message foreSIM B 208B for processing later. At 878, thebaseband processor 110 continues with the proactive STK session foreSIM A 208A by sending an ENVELOPE message including a DATA AVAILABLE indication to theeUICC 108 foreSIM A 208A. At 880, theeUICC 108 responds with a 91XX message indicating a pending event foreSIM A 208A. At 882, thebaseband processor 110 sends a FETCH command to theeUICC 108 to retrieve the pending event for eSIM A 208BA. At 884, theeUICC 108 sends a proactive RECEIVE DATA command to thebaseband processor 110 foreSIM A 208A. At 886, thebaseband processor 110 responds to theeUICC 108 with a terminal response. At 891, theeUICC 108 sends a proactive CLOSE CHANNEL command to thebaseband processor 110 to end the proactive STK session foreSIM A 208A. At 892, thebaseband processor 110 responds to theeUICC 108 with a terminal response message. At 893, thebaseband processor 110 recognizes that the proactive STK session foreSIM A 208A has completed. Thebaseband processor 110, at 894, retrieves the previously queued OTA update SMS message foreSIM B 208B and initiates the OTA update foreSIM B 208B by sending an ENVELOPE message includes an SMS PP DOWNLOAD to theeUICC 108 foreSIM B 208B. At 895, theeUICC 108 responds with a 91XX message indicating a pending event foreSIM B 208B. At 897, thebaseband processor 110 sends a FETCH command to retrieve the pending event foreSIM B 208B. TheeUICC 108 responds at 898 with a proactive OPEN CHANNEL command message foreSIM B 208B. At 899, thebaseband processor 110 establishes an IP session for the OTA update foreSIM B 208B, e.g., using a BIP protocol for the IP session. Subsequently the OTA update foreSIM B 208B can proceed (not shown). By delaying execution of establishment of the second IP session for the OTA update ofeSIM B 208B until the first IP session for the OTA update ofeSIM A 208A, thebaseband processor 110 avoids collision of communication of data for the two IP sessions. -
FIG. 9 illustrates aflowchart 900 of an exemplary set of actions taken by abaseband processor 110 of a UE 102 to schedule STK communication formultiple eSIMs 208 of aneUICC 108 of the UE 102. At 902, a rest of theeUICC 108 occurs. At 904, theeUICC 108 sends an ATR message indicating that theeUICC 108 is capable of multiple enabledeSIM 208 profiles (MEP capable). At 905, thebaseband processor 110 determines wither there is a pending proactive 91XX command from theeUICC 108 for aneSIM 208, the 91XX command indicating a pending event for theeSIM 208. When there is no pending proactive 91XX command, the process can end. When there is a pending proactive 91XX command indicating a pending event for theeSIM 208, thebaseband processor 110 can determine, at 906, whether there is an ongoing proactive STK session for theeSIM 208. When there is no ongoing proactive STK session for theeSIM 208, the baseband processor proceeds to 914 to retrieve the pending event for theeSIM 208, e.g., by sending a FETCH command to theeUICC 108. At 916, thebaseband processor 110 recognizes that a proactive STK session for theeSIM 208 has started. After intervening processing (not shown), at 918, thebaseband processor 110 recognizes that the proactive STK session for theeSIM 208 has completed. At 920, thebaseband processor 110 determines whether a queue of pending actions (or messages or other indications) is empty. When the queue is empty, the process can end. When the queue is not empty thebaseband processor 110 can continue by returning to 905 to determine whether a proactive 91XX command is pending. When there is an ongoing proactive STK session for theeSIM 208, as determined at 906, thebaseband processor 110 can determine whether there is a critical user request to be serviced that can supersede the ongoing proactive STK session for theeSIM 208. It is noted that the critical user request can be for an action that impacts adifferent eSIM 208 of theeUICC 108, e.g., to establish an MO voice call for asecond eSIM 208 of theeUICC 108. When thebaseband processor 110 determines, at 908, that the user request is not critical, e.g., not of a sufficiently high priority to supersede the ongoing STK session for theeSIM 208, thebaseband processor 110, at 910, stores the user request (e.g., an indication of a command associated with the user request) in a pending action queue for processing later, e.g., when the ongoing proactive STK session for theeSIM 208 concludes. When thebaseband processor 110 determines, at 908, that the user request is critical, e.g., of a sufficiently high priority to supersede the ongoing proactive STK session for theeSIM 208, thebaseband processor 110, at 912 terminates the ongoing proactive STK session for theeSIM 208, e.g., by sending to theeUICC 108 an "unable to process command" reply message or comparable termination message to stop the ongoing proactive STK session for theeSIM 208 and allow for processing the critical user request. In some embodiments, the proactive STK session for theeSIM 208 can be restarted after processing actions associated with the critical user request. -
FIG. 10 illustrates aflowchart 1000 of an exemplary set of actions performed by an apparatus of a wireless device 102 to perform STK scheduling formultiple eSIMs 208 of aneUICC 108. At 1002, the apparatus receives an input to perform an action with afirst eSIM 208 of theeUICC 108 of the wireless device 102. At 1004, the apparatus determines whether a proactive STK session for asecond eSIM 208 on theeUICC 108 is ongoing. At 1006, when there is no ongoing proactive STK session for thesecond eSIM 208, the apparatus performs the action associated with thefirst eSIM 208. At 1008, when there is an ongoing proactive STK session for thefirst eSIM 208, the apparatus determines whether the action has a priority that supersedes the ongoing proactive STK session for thesecond eSIM 208. At 1010, when the action does not have superseding priority, the apparatus adds an entry to a queue to perform the action for thefirst eSIM 208 after the proactive STK session for thesecond eSIM 208 concludes. At 1012, when the action does have superseding priority, the apparatus sends a message to theeUICC 108 to terminate the ongoing proactive STK session for thesecond eSIM 208 and subsequently performs the action associated with thefirst eSIM 208 after the proactive STK session for thesecond eSIM 208 terminates. -
FIG. 11 illustrates a detailed view of arepresentative computing device 1100 that can be used to implement various methods described herein, according to some embodiments. In particular, the detailed view illustrates various components that can be included in the UE 102 illustrated inFIG. 1 . As shown inFIG. 11 , thecomputing device 1100 can include aprocessor 1102 that represents a microprocessor or controller for controlling the overall operation ofcomputing device 1100. Thecomputing device 1100 can also include auser input device 1108 that allows a user of thecomputing device 1100 to interact with thecomputing device 1100. For example, theuser input device 1108 can take a variety of forms, such as a button, keypad, dial, touch screen, audio input interface, visual/image capture input interface, input in the form of sensor data, etc. Still further, thecomputing device 1100 can include adisplay 610 that can be controlled by theprocessor 1102 to display information to the user. Adata bus 1116 can facilitate data transfer between at least astorage device 1140, theprocessor 1102, and acontroller 1113. Thecontroller 1113 can be used to interface with and control different equipment through andequipment control bus 1114. Thecomputing device 1100 can also include a network/bus interface 1111 that couples to adata link 1112. In the case of a wireless connection, the network/bus interface 1111 can include a wireless transceiver. - The
computing device 1100 also includes astorage device 1140, which can comprise a single disk or a plurality of disks (e.g., hard drives), and includes a storage management module that manages one or more partitions within thestorage device 1140. In some embodiments,storage device 1140 can include flash memory, semiconductor (solid state) memory or the like. Thecomputing device 1100 can also include a Random Access Memory (RAM) 1120 and a Read-Only Memory (ROM) 1122. TheROM 1122 can store programs, utilities or processes to be executed in a non-volatile manner. TheRAM 1120 can provide volatile data storage, and stores instructions related to the operation of thecomputing device 1100. Thecomputing device 1100 can further include a secure element (SE) 1150, which can represent theeUICC 108 of the UE 102. - In accordance with various embodiments described herein, the terms "wireless communication device," "wireless device," "mobile device," "mobile station," and "user equipment" (UE) may be used interchangeably herein to describe one, or any number of, common consumer electronic device(s) that may be capable of performing procedures associated various embodiments the disclosure. In accordance with various implementations, any one of these consumer electronic devices may relate to: a cellular phone or a smart phone, a tablet computer, a laptop computer or a netbook computer, a media player device, an electronic book device, a MiFi® device, a wearable computing device, as well as any other type of electronic computing device having fourth generation (4G) Long Term Evolution (LTE) and LTE Advanced (LTE-A), fifth generation (5G) new radio (NR), or similar "later generation" cellular wireless access communication capabilities.
- Additionally, it should be understood that the UEs described herein may be configured as multi-mode wireless devices that are also capable of communicating via legacy third generation (3G) and/or second generation (2G) RATs in addition to communicating with 4G wireless networks, as well as communicating using one or more different wireless local area networks. Multi-mode UEs can include support for communication in accordance with one or more different wireless communication protocols developed by standards bodies, e.g., 3GPP's Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), LTE, LTE-A, and 5G NR standards or 3GPP2's CDMA2000 (1xRTT, 2xEV-DO, HRPD, eHRPD) standards. Multi-mode UEs can also support communication using wireless local area networking protocols, e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.11 (Wi-Fi), IEEE 802.16 (WiMAX), and wireless personal area networking protocols, e.g., Bluetooth®. Multiple wireless communication protocols can provide complementary functions and/or different services for a multi-mode UE.
- It is well understood that the use of personally identifiable information should follow privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy of users. In particular, personally identifiable information data should be managed and handled so as to minimize risks of unintentional or unauthorized access or use, and the nature of authorized use should be clearly indicated to users.
- The various aspects, embodiments, implementations or features of the described embodiments can be used separately or in any combination. Further, some aspects of the described embodiments may be implemented by software, hardware, or by a combination of hardware and software. The described embodiments can also be embodied as computer program code stored on a non-transitory computer-readable medium. The computer readable-medium may be associated with any data storage device that can store data, which can thereafter be read by a computer or a computer system. Examples of the computer-readable medium include read-only memory, random-access memory, CD-ROMs, Solid-State Disks (SSD or Flash), HDDs, DVDs, magnetic tape, and optical data storage devices. The computer-readable medium can also be distributed over network-coupled computer systems so that the computer program code may be executed in a distributed fashion.
- The foregoing description, for purposes of explanation, used specific nomenclature to provide a thorough understanding of the described embodiments. However, it will be apparent to one skilled in the art that some of the specific details are not required in order to practice the described embodiments. Thus, the foregoing descriptions of specific embodiments are presented herein for purposes of illustration and description. These descriptions are not intended to be exhaustive, all-inclusive, or to limit the described embodiments to the precise forms or details disclosed. It will be apparent to one of ordinary skill in the art that many modifications and variations are possible in view of the above teachings, without departing from the spirit and the scope of the disclosure.
Claims (15)
- An apparatus configured for operation in a wireless device, the apparatus comprising:at least one processor communicatively coupled a memory storing instructions that, when executed by the at least one processor, cause the apparatus to:receive an input to perform an action associated with a first electronic subscriber identity module (eSIM) on an embedded universal integrated circuit card (eUICC) of the wireless device;determine whether a proactive SIM toolkit (STK) session is ongoing for a second eSIM on the eUICC;when there is no ongoing proactive STK session for the second eSIM, perform the action associated with the first eSIM; andwhen there is an ongoing proactive STK session for the first eSIM:determine whether the action has a priority that supersedes the ongoing proactive STK session for the second eSIM;when the action does not have superseding priority, add an entry to a queue to perform the action for the first eSIM after the proactive STK session for the second eSIM concludes; andwhen the action does have superseding priority:send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM; andperform the action associated with the first eSIM after the proactive STK session for the second eSIM terminates.
- The apparatus of claim 1, wherein:
the apparatus determines the proactive STK session is ongoing for the second eSIM based on receipt of a proactive command from the eUICC for the second eSIM to which a response from the apparatus to the eUICC has not been completed. - The apparatus of claim 2, wherein:the action comprises enabling the first eSIM;the proactive STK session is associated with enabling the second eSIM; andthe action to enable the first eSIM does not have superseding priority over enabling the second eSIM.
- The apparatus of any preceding claim, wherein execution of the instructions further causes the apparatus to:determine the ongoing proactive STK session has ended; andperform an action for the first eSIM or the second eSIM based on a next pending item in the queue.
- The apparatus of any preceding claim, wherein:the action comprises establishing a mobile originated call via the first eSIM;the proactive STK session is associated with responding to a refresh command; andthe action to establish the mobile originated call via the first eSIM does have superseding priority over responding to the refresh command.
- The apparatus of claim 5, wherein the message to the eUICC to terminate the ongoing proactive STK session for the second eSIM comprises a terminal response message indicating to the eUICC that the wireless device is busy on the mobile originated call.
- The apparatus of any preceding claim, wherein:the action comprises updating a location area for the first eSIM based mobility of the wireless device;the proactive STK session is associated with updating an international mobile subscriber identity (IMSI) value associated with the second eSIM; andthe action to update the location area for the first eSIM does not have superseding priority over updating the IMSI value for the second eSIM.
- The apparatus of any preceding claim, wherein:the action comprises establishing an internet protocol (IP) data session for the first eSIM;the proactive STK session comprises an IP data session for the second eSIM; andthe action to establish the IP data session for the first eSIM does not have superseding priority to the IP data session for the second eSIM.
- The apparatus of any preceding claim, wherein the apparatus comprises a baseband processor external to the eUICC of the wireless device.
- A method for subscriber identity toolkit (STK) scheduling for a wireless device configured with multiple electronic subscriber identity module (eSIM) profiles, the method comprising:by a baseband processor external to an embedded universal integrated circuit card (eUICC) of the wireless device:receive an input to perform an action associated with a first electronic subscriber identity module (eSIM) on the eUICC of the wireless device;determine whether a proactive STK session is ongoing for a second eSIM on the eUICC;when there is no ongoing proactive STK session for the second eSIM, perform the action associated with the first eSIM; andwhen there is an ongoing proactive STK session for the first eSIM:determine whether the action has a priority that supersedes the ongoing proactive STK session for the second eSIM;when the action does not have superseding priority, add an entry to a queue to perform the action for the first eSIM after the proactive STK session for the second eSIM concludes; andwhen the action does have superseding priority:send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM; andperform the action associated with the first eSIM after the proactive STK session for the second eSIM terminates.
- The method of claim 10, wherein:
the baseband processor determines the proactive STK session is ongoing for the second eSIM based on receipt of a proactive command from the eUICC for the second eSIM to which a response from the apparatus to the eUICC has not been completed; - The method of claim 10 or 11, wherein:the action comprises enabling the first eSIM;the proactive STK session is associated with enabling the second eSIM; andthe action to enable the first eSIM does not have superseding priority over enabling the second eSIM.
- The method of any of claims 10 to 12, further comprising:determining the ongoing proactive STK session has ended; andperforming an action for the first eSIM or the second eSIM based on a next pending item in the queue.
- The method of any of claims 10 to 13, wherein:the action comprises establishing a mobile originated call via the first eSIM;the proactive STK session is associated with responding to a refresh command;the action to establish the mobile originated call via the first eSIM does have superseding priority over responding to the refresh command; andthe message to the eUICC to terminate the ongoing proactive STK session for the second eSIM comprises a terminal response message indicating to the eUICC that the wireless device is busy on the mobile originated call.
- A computer-readable medium storing instructions that configure the wireless device to:receive an input to perform an action associated with a first electronic subscriber identity module (eSIM) on an embedded universal integrated circuit card (eUICC) of the wireless device;determine whether a proactive SIM toolkit (STK) session is ongoing for a second eSIM on the eUICC;when there is no ongoing proactive STK session for the second eSIM, perform the action associated with the first eSIM; andwhen there is an ongoing proactive STK session for the first eSIM:determine whether the action has a priority that supersedes the ongoing proactive STK session for the second eSIM;when the action does not have superseding priority, add an entry to a queue to perform the action for the first eSIM after the proactive STK session for the second eSIM concludes; andwhen the action does have superseding priority:send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM; andperform the action associated with the first eSIM after the proactive STK session for the second eSIM terminates.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163197470P | 2021-06-06 | 2021-06-06 | |
US17/804,291 US12096325B2 (en) | 2021-06-06 | 2022-05-26 | SIM toolkit scheduling for multiple enabled eSIM profiles |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4099739A1 true EP4099739A1 (en) | 2022-12-07 |
Family
ID=81851614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP22176233.9A Pending EP4099739A1 (en) | 2021-06-06 | 2022-05-30 | Sim toolkit scheduling for multiple enabled esim profiles |
Country Status (4)
Country | Link |
---|---|
US (1) | US12096325B2 (en) |
EP (1) | EP4099739A1 (en) |
KR (2) | KR102701050B1 (en) |
CN (1) | CN115442794A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024205590A1 (en) * | 2023-03-30 | 2024-10-03 | Google Llc | Managing subscriber identity module memory reset during user activity |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11877349B2 (en) * | 2021-06-29 | 2024-01-16 | T-Mobile Innovations Llc | Slices for applications based on multiple active sim profiles |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180249322A1 (en) * | 2017-02-28 | 2018-08-30 | Samsung Electronics Co., Ltd. | Electronic device for providing service using secure element and method thereof |
US20190098475A1 (en) * | 2017-09-26 | 2019-03-28 | Apple Inc. | EMBEDDED UNIVERSAL INTEGRATED CIRCUIT CARD (eUICC) COMMAND PROCESSING |
WO2019119544A1 (en) * | 2017-12-18 | 2019-06-27 | 华为技术有限公司 | Method and device for accessing data of embedded sim card |
US10708761B1 (en) * | 2019-09-05 | 2020-07-07 | Google Llc | Supporting multiple enabled profiles on single embedded subscriber identity module (eSIM) chip |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110217969A1 (en) * | 2010-03-05 | 2011-09-08 | Qualcomm, Incorporated | Devices with multiple subscriptions that utilize a single baseband-radio frequency resource chain |
US9100810B2 (en) * | 2010-10-28 | 2015-08-04 | Apple Inc. | Management systems for multiple access control entities |
CN103167610B (en) * | 2011-12-12 | 2017-10-13 | 安华高科技通用Ip(新加坡)公司 | Intelligent resources control for many sim users |
US9451445B2 (en) * | 2014-05-30 | 2016-09-20 | Apple Inc. | Electronic subscriber identity module selection |
KR102254849B1 (en) | 2014-07-19 | 2021-05-25 | 삼성전자주식회사 | processing Method and apparatus for provisioning profile |
KR102318877B1 (en) * | 2014-10-02 | 2021-10-29 | 삼성전자주식회사 | Apparatus and method for displaying user interface |
KR102371986B1 (en) * | 2017-08-25 | 2022-03-08 | 삼성전자주식회사 | Electronic device and method for providing a profile remotely to electronic device |
US11399273B2 (en) * | 2019-10-04 | 2022-07-26 | Apple Inc. | Multiple SIM card operation of an electronic device |
-
2022
- 2022-05-26 US US17/804,291 patent/US12096325B2/en active Active
- 2022-05-30 EP EP22176233.9A patent/EP4099739A1/en active Pending
- 2022-06-03 KR KR1020220067989A patent/KR102701050B1/en active IP Right Grant
- 2022-06-06 CN CN202210626957.1A patent/CN115442794A/en active Pending
-
2024
- 2024-08-27 KR KR1020240114923A patent/KR20240134093A/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180249322A1 (en) * | 2017-02-28 | 2018-08-30 | Samsung Electronics Co., Ltd. | Electronic device for providing service using secure element and method thereof |
US20190098475A1 (en) * | 2017-09-26 | 2019-03-28 | Apple Inc. | EMBEDDED UNIVERSAL INTEGRATED CIRCUIT CARD (eUICC) COMMAND PROCESSING |
WO2019119544A1 (en) * | 2017-12-18 | 2019-06-27 | 华为技术有限公司 | Method and device for accessing data of embedded sim card |
US10708761B1 (en) * | 2019-09-05 | 2020-07-07 | Google Llc | Supporting multiple enabled profiles on single embedded subscriber identity module (eSIM) chip |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024205590A1 (en) * | 2023-03-30 | 2024-10-03 | Google Llc | Managing subscriber identity module memory reset during user activity |
Also Published As
Publication number | Publication date |
---|---|
US20220394443A1 (en) | 2022-12-08 |
US12096325B2 (en) | 2024-09-17 |
KR102701050B1 (en) | 2024-09-02 |
KR20240134093A (en) | 2024-09-06 |
CN115442794A (en) | 2022-12-06 |
KR20220164823A (en) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10334427B2 (en) | In-advance eSIM management notification | |
KR102031037B1 (en) | Updating profiles for secondary wireless devices | |
US9940141B2 (en) | Method and apparatus for selecting bootstrap ESIMs | |
US11012852B2 (en) | Cellular service account transfer error recovery mechanisms | |
US12096325B2 (en) | SIM toolkit scheduling for multiple enabled eSIM profiles | |
US11601817B2 (en) | Postponed eSIM delivery to secondary mobile wireless device for cellular wireless service subscription | |
KR101761505B1 (en) | Techniques for dynamically supporting different authentication algorithms | |
US11812506B2 (en) | Enterprise remote management for cellular services | |
US12047775B2 (en) | Cellular service management for secondary mobile wireless devices | |
US11570612B2 (en) | Flexible electronic subscriber identity module deployment | |
US9497564B2 (en) | Apparatus and method for optimal scheduling of envelope updates to SIM card | |
US20220022028A1 (en) | Profile and subscription management for wireless devices | |
US20240007848A1 (en) | eSIM PROFILE MANAGEMENT FOR WIRELESS DEVICES | |
CN118921650A (en) | SIM toolkit scheduling for multiple enabled ESIM profiles | |
US20240007847A1 (en) | eSIM PROFILE MANAGEMENT FOR WIRELESS DEVICES | |
US20240373222A1 (en) | Cellular service management for secondary mobile wireless devices | |
US20230199662A1 (en) | Euicc access without baseband wireless support |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20220530 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |