Patent Description:
Wireless mobile network operators (MNOs) continue to upgrade wireless networks to support newer wireless communication standards, including fourth generation (<NUM>) Long Term Evolution (LTE) and Long Term Evolution Advanced (LTE-A) technologies as well as fifth generation (<NUM>) 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 <NUM> wireless communication standards, specifications for eSIMs for <NUM> 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.

Patent application publication <CIT> relates to eSIM chips configured with multiple profiles provided by a mobile operator, wherein a logic channel is added, and a logic channel management module (LCHMM) is added for managing the channel to associate the channel with the profile, so that it is ensured that no conflict will occur during access.

The present invention provides a baseband processor configured for operation in a wireless device, a method for subscriber identity toolkit scheduling for a wireless device, and a non-transitory computer-readable medium storing instructions that configure a baseband processor of a wireless device, as set out in the appended independent claims. In particular, the present invention is based on the embodiment disclosed below with reference to <FIG> with the help of the embodiments disclosed below with reference to <FIG>, <FIG>, <FIG>, <FIG>, <FIG> and <FIG>. 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, in particular 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.

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.

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, in particular 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 <FIG>; 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> illustrates a block diagram of different components of a system <NUM> that is configured to implement the various techniques described herein, according to some embodiments. More specifically, <FIG> illustrates a high-level overview of the system <NUM>, which, as shown, includes a user equipment (UE) <NUM>, a group of base stations <NUM>-<NUM> to <NUM>-n that are managed by different Mobile Network Operators (MNOs) <NUM>, and a set of provisioning servers <NUM> that are in communication with the MNOs <NUM>. The UE <NUM> can represent a mobile computing device (e.g., an iPhone® or an iPad® by Apple®), the base stations <NUM>-<NUM> to <NUM>-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 <NUM>, and the MNOs <NUM> can represent different wireless service providers that provide specific services (e.g., voice and data) to which the UE <NUM> can be subscribed. The UE <NUM> may also be referred to as a wireless device, a mobile device, a mobile wireless device, or the like.

As shown in <FIG>, the UE <NUM> includes processing circuitry, which can include one or more processors <NUM> and includes memory <NUM>, an embedded Universal Integrated Circuit Card (eUICC) <NUM>, and a baseband processor <NUM>. In some embodiments, the UE <NUM> includes one or more physical UICC cards, also referred to as Subscriber Identity Module (SIM) cards (not shown), in addition to the eUICC. The components of the UE <NUM> work in conjunction to enable the UE <NUM> to provide useful features to a user of the UE <NUM>, such as localized computing, location-based services, and Internet connectivity. The eUICC <NUM> is configured to store multiple electronic SIMs (eSIMs) for accessing different services offered by one or more MNOs <NUM> through base stations <NUM>-<NUM> to <NUM>-n. For example, the eUICC <NUM> can be configured to store and manage one or more eSIMs for one or more MNOs <NUM> for different subscriptions to which the UE <NUM> has been associated. To be able to access services provided by the MNOs, an eSIM can be provisioned to the eUICC <NUM>. In some embodiments, the eUICC <NUM> obtains one or more eSIMs (or updates for one or more eSIMs) from one or more associated provisioning servers <NUM>. It is noted that provisioning servers <NUM> can be maintained by a manufacturer of the UE <NUM>, the MNOs <NUM>, third party entities, and the like. Communication of eSIM data between a provisioning server <NUM> and the eUICC <NUM> (or between the provisioning server <NUM> and processing circuitry of the UE <NUM> external to the eUICC <NUM>, e.g., the processor <NUM>) can use a secure communication channel. Multiple eSIMs can be downloaded to the eUICC <NUM> of the UE <NUM> from one or more provisioning servers <NUM> associated with one or more MNOs <NUM>. The UE <NUM> can be configured to allow for multiple eSIMs to be enabled concurrently on the UE <NUM> to provide access to wireless services provided by the multiple eSIMs. Communication between the multiple eSIMs enabled on the eUICC <NUM> and processing circuitry external to the eUICC <NUM>, e.g., to a processor <NUM> and/or to the baseband processor <NUM> can use logical channels. Communication with an eSIM can include a SIM toolkit (STK) session that uses a logical channel between the baseband processor <NUM> and the eSIM. An STK scheduler operating on the baseband processor <NUM> 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> illustrates a block diagram of a more detailed view <NUM> of particular components of the UE <NUM> of <FIG>, according to some embodiments. As shown in <FIG>, the processor(s) <NUM>, in conjunction with the memory <NUM>, can implement a main operating system (OS) <NUM> that is configured to execute applications <NUM> (e.g., native OS applications and user applications). As also shown in <FIG>, the eUICC <NUM> can be configured to implement an eUICC OS <NUM> that is configured to manage the hardware resources of the eUICC <NUM> (e.g., a processor and a memory embedded in the eUICC <NUM>). The eUICC OS <NUM> can also be configured to manage eSIMs <NUM> that are stored by the eUICC <NUM>, e.g., by installing, enabling, disabling, modifying, or otherwise performing management of the eSIMs <NUM> within the eUICC <NUM> and providing the baseband processor <NUM> with access to the eSIMs <NUM> to provide access to wireless services for the UE <NUM>. The eUICC <NUM> OS can include an eSIM manager <NUM>, which can perform management functions for various eSIMs. According to the illustration shown in <FIG>, each eSIM <NUM> can include a number of applets <NUM> that define the manner in which the eSIM <NUM> operates. For example, one or more of the applets <NUM>, when implemented by the baseband processor <NUM> and the eUICC <NUM>, can be configured to enable the UE <NUM> to communicate with an MNO <NUM> and provide useful features (e.g., voice connections, messaging services, internet access and the like) to a user of the UE <NUM>.

As also shown in <FIG>, the baseband processor <NUM> of the UE <NUM> can include a baseband OS <NUM> that is configured to manage hardware resources of the baseband processor <NUM> (e.g., a processor, a memory, different radio components, etc.). According to some embodiments, the baseband processor <NUM> can implement a baseband manager <NUM> that is configured to interface with the eUICC <NUM> to establish a secure channel with a provisioning server <NUM> and obtaining information (such as eSIM data) from the provisioning server <NUM> for purposes of managing eSIMs <NUM>. The baseband manager <NUM> can be configured to implement services <NUM>, which represents a collection of software modules that are instantiated by way of the various applets <NUM> of enabled eSIMs <NUM> that are included in the eUICC <NUM>. For example, services <NUM> can be configured to manage different connections between the UE <NUM> and MNOs <NUM> according to the different eSIMs <NUM> that are enabled within the eUICC <NUM>. The baseband manager <NUM> can be further configured to include a SIM toolkit (STK) scheduler that manages STK sessions for communication with one or more eSIMs <NUM> on the eUICC <NUM>.

<FIG> illustrates a diagram <NUM> of communication between the baseband processor <NUM> of the UE <NUM> and the eUICC OS <NUM> of the eUICC <NUM> of the UE <NUM>. The eUICC <NUM> of the UE <NUM> 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 for different eSIMs <NUM> of the eUICC <NUM> interfering with each other, an STK scheduler <NUM> can monitor user input, or other actions generated by the UE <NUM>, to schedule STK session communication for the eSIMs <NUM> of the eUICC <NUM>. The STK scheduler <NUM> can receive SIM commands or requests, which can be associated with user inputs, that require actions to be performed by elements of the eUICC <NUM>. The STK scheduler <NUM> can interface with a SIM driver <NUM> software component that can interface with the eUICC OS <NUM> of the eUICC <NUM> to communicate with an eSIM manager <NUM> therein, which can communicate with one or more of the eSIMs <NUM>. The SIM driver <NUM> can receive SIM requests from the STK scheduler <NUM>, which can result from one or more SIM commands or requests provided to the STK scheduler <NUM>, and send SIM commands to the eUICC <NUM> to interact with the eUICC <NUM>, the eUICC OS <NUM>, and/or the eSIMs <NUM> via the eSIM manager <NUM>. The SIM driver <NUM> can also communicate terminal responses to the eUICC <NUM> in response to communication from the eUICC <NUM>. The eUICC <NUM> can also send proactive commands to the SIM driver <NUM> which can be processed further by the baseband processor <NUM>. The STK scheduler <NUM> can manage STK sessions to reduce interference for communication with multiple eSIMs <NUM> of the eUICC <NUM>. In some instances, the STK scheduler <NUM> can interrupt an ongoing STK session associated with a first eSIM <NUM> to perform a prioritized action for a second eSIM <NUM>. In some instances, the STK scheduler <NUM> can delay establishing a new STK session (or delaying communication to the eUICC <NUM>) for a second eSIM <NUM> that could interfere with an ongoing STK session for a first eSIM <NUM>.

<FIG> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the communication is intended for multiple eSIMs <NUM> and results in one or more errors. Initially, the baseband processor <NUM> sends an ENVELOPE message to the eUICC <NUM> in order to establish an STK session for a first eSIM <NUM>, e.g., eSIM A. The eUICC <NUM> responds positively to the ENVELOPE message with an 91xx message to the baseband processor <NUM> establishing the STK session for eSIM A and indicating a pending proactive command. The baseband processor <NUM> subsequently sends a FETCH message to the eUICC <NUM> to retrieve the pending proactive command from the eUICC <NUM> for eSIM A. The eUICC <NUM> responds with the proactive command message for eSIM A that can indicate an action for the baseband processor <NUM> to take regarding eSIM A. Subsequently, without STK scheduling to separate STK sessions for different eSIMs to not overlap, the baseband processor <NUM> can send another ENVELOPE message to the eUICC <NUM>, this ENVELOPE message directed to establishing a second STK session for a second eSIM <NUM>, e.g., eSIM B. The eUICC <NUM> responds to the ENVELOPE message for the second eSIM <NUM> by sending a <NUM> ERROR message to the baseband processor <NUM> indicating the eUICC <NUM> 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 the eUICC <NUM> can return an STK BUSY error indication. In some cases, the software component of the eUICC <NUM> cannot properly establish and maintain multiple, parallel STK sessions for multiple eSIMs <NUM> at the same time. In some embodiments, the software component handling the STK session on the eUICC <NUM> can result in one or more errors for handling messages or actions by the eUICC <NUM> for the ongoing STK session for the eSIM A. In some instances, the baseband processor <NUM> terminates the STK session for the SIM A in response to the <NUM> ERROR message.

<FIG> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where communication intended for multiple eSIMs <NUM> are managed by an STK scheduler <NUM> on the baseband processor <NUM> to delay establishment of a second STK session for a second eSIM <NUM> until a first STK session for a first eSIM <NUM> terminates. Initially, the baseband processor <NUM> sends an ENVELOPE message to the eUICC <NUM> in order to establish an STK session for a first eSIM <NUM>, e.g., eSIM A. The eUICC <NUM> responds positively to the ENVELOPE message with an 91xx message to the baseband processor <NUM> establishing the STK session for eSIM A and indicating a pending proactive command. The baseband processor <NUM> subsequently sends a FETCH message to the eUICC <NUM> to retrieve the pending proactive command from the eUICC <NUM> for eSIM A. The eUICC <NUM> responds with the proactive command message for eSIM A that can indicate an action for the baseband processor <NUM> to take regarding eSIM A. Subsequently, with STK scheduling to separate STK sessions for different eSIMs to not overlap, the baseband processor <NUM> can delay sending a message to establish a second STK session for a second eSIM <NUM>, e.g., eSIM B, until after the STK session for the eSIM A concludes. The baseband processor <NUM> can send a terminal response message for eSIM A to the eUICC <NUM> 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, the baseband processor <NUM> can send another ENVELOPE message to the eUICC <NUM>, this ENVELOPE message directed to establishing an STK session for a second eSIM <NUM>, e.g., eSIM B. As the previous STK session for eSIM A has terminated, the STK session for eSIM B can be established, and the eUICC <NUM> responds to the ENVELOPE message for the second eSIM <NUM> by sending a <NUM> status response message for eSIM B to the baseband processor <NUM>. By delaying establishment of the STK session for eSIM B until after the STK session for eSIM A terminates, the baseband processor <NUM> (e.g., the STK scheduler therein) can reduce opportunities for errors caused by colliding messages for two different STK sessions for two different eSIMs <NUM> of the eUICC <NUM>.

<FIG> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the communication is intended to enable multiple eSIMs <NUM> without STK scheduling. At <NUM>, a reset of the eUICC <NUM> can occur, e.g., as a result of powering on the UE <NUM> in which the eUICC <NUM> is housed. The eUICC <NUM> can store multiple eSIMs <NUM>, 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. At <NUM>, the eUICC <NUM> can send a message to the baseband processor <NUM> indicating that the eUICC <NUM> is capable of supporting multiple, simultaneously enabled eSIMs <NUM>, i.e., the eUICC <NUM> is multiple enabled profile (MEP) capable. At <NUM>, the baseband processor <NUM> 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 <NUM>. At <NUM>, the baseband processor <NUM> 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 <NUM> 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 <NUM> or other action that caused the reset at <NUM> to occur). Without STK scheduling, the baseband processor <NUM> 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. At <NUM>, the baseband processor <NUM> sends a message to the eUICC <NUM> to enable eSIM A 208A. At <NUM>, the eUICC <NUM> responds with an OK response message. At <NUM>, the baseband processor <NUM> sends a TERMINAL PROFILE DOWNLOAD message to the eUICC <NUM> for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with a 91XX command indicating a pending proactive command for the eUICC <NUM>. At <NUM>, the eUICC <NUM> sends a FETCH COMMAND to the eUICC to retrieve the pending proactive command. At <NUM>, the eUICC <NUM> 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 <NUM>, the baseband processor <NUM> sends a second message to the eUICC <NUM> to enable eSIM B 208B. At <NUM>, the eUICC <NUM> determines that eSIM B 208B cannot be enabled because one or more processes are busy handling events for eSIM A 208A. The eUICC <NUM> responds to the enable request for eSIM B from the baseband processor <NUM> with a <NUM> TOOLKIT BUSY ERROR message. Without STK scheduling, the baseband processor <NUM> continues, at <NUM>, with eSIM A 208A, by sending a terminal response message to set up the event list for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with a <NUM> status message. The impact of parallel STK sessions for eSIM A 208A and eSIM B 208B can result in numerous errors at <NUM>, such as the baseband processor <NUM> not providing proper status messages associated with "events" to the eUICC <NUM> (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> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the communication enables multiple eSIMs <NUM> sequentially with STK scheduling. At <NUM>, a reset of the eUICC <NUM> can occur, e.g., as a result of powering on the UE <NUM> in which the eUICC <NUM> is housed. The eUICC <NUM> can store multiple eSIMs <NUM>, 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. At <NUM>, the eUICC <NUM> can send a message to the baseband processor <NUM> indicating that the eUICC <NUM> is capable of supporting multiple, simultaneously enabled eSIMs <NUM>, i.e., the eUICC <NUM> is multiple enabled profile (MEP) capable. At <NUM>, the baseband processor <NUM> 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 <NUM>. At <NUM>, the baseband processor <NUM> 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 <NUM> 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 <NUM> or other action that caused the reset at <NUM> to occur). At <NUM>, the baseband processor <NUM> sends a message to the eUICC <NUM> to enable eSIM A 208A. At <NUM>, the eUICC <NUM> responds with an OK response message. At <NUM>, the baseband processor <NUM> sends a TERMINAL PROFILE DOWNLOAD message to the eUICC <NUM> for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with a 91XX command indicating a pending proactive command for the eUICC <NUM>. At <NUM>, the eUICC <NUM> sends a FETCH COMMAND to the eUICC to retrieve the pending proactive command. At <NUM>, the eUICC <NUM> 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 <NUM>, the baseband processor <NUM>, recognizes an ongoing proactive STK session for eSIM A 208A, and at <NUM>, the baseband processor <NUM> queues the pending request to enable eSIM B 208B to not interfere with the ongoing proactive STK session for eSIM A 208A. At <NUM>, the baseband processor <NUM> responds to the previous proactive command to establish the event list (received at <NUM>) from the eUICC <NUM> with a terminal response sent to the eUICC <NUM> to establish the event list. At <NUM>, the eUICC <NUM> responds with a <NUM> status message. At <NUM>, the proactive STK session for eSIM A 208A concludes, after which the baseband processor <NUM> can address the pending, queued request to enable eSIM B 208B. At <NUM>, the baseband processor <NUM> sends a message to the eUICC <NUM> to enable eSIM B and receives, at <NUM>, an OK response message from the eUICC <NUM>. At <NUM>, the baseband processor <NUM> sends a terminal profile download message for eSIM B 208B to the eUICC <NUM>. At <NUM>, the baseband processor receives from the eUICC <NUM> a 91XX message indicating a pending event for eSIM B 208B. At <NUM>, the baseband processor <NUM> responds with a FETCH message to retrieve the pending event for eSIM B 208B. By delaying execution of the enablement of eSIM B 208B using an STK scheduler <NUM> until after the pending proactive STK session for eSIM A 208A completes, the baseband processor <NUM> reduces the probability of errors occurring when processing commands for different eSIMs <NUM> by the eUICC <NUM>.

<FIG> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the baseband processor <NUM> attempts to establish a mobile originated (MO) voice call without STK scheduling. At <NUM>, an initialization of the eUICC <NUM> occurs. At <NUM>, the baseband processor <NUM> sends an ENVELOPE message to the eUICC <NUM> with location status information, e.g., indicating normal service. At <NUM>, the eUICC <NUM> sends to the baseband processor <NUM> a 91XX message indicating a pending event, e.g., a pending proactive command, for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends to the eUICC <NUM> a FETCH command to retrieve the pending proactive command for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with the proactive command for eSIM A, e.g., a REFRESH command. At <NUM>, a user of the UE <NUM> can trigger a mobile originated (MO) voice call to be established using eSIM B 208B. Without STK scheduling, the baseband processor <NUM> can send, at <NUM>, an ENVELOPE message including CALL CONTROL information to the eUICC <NUM> for eSIM B 208B. As the eUICC <NUM> is in the midst of handling the proactive command for eSIM A 208A, the eUICC <NUM> can respond to the baseband processor <NUM>, at <NUM>, with a <NUM> ERROR message including TOOLKIT BUSY. As a result, the eUICC <NUM> cannot service the request for the MO voice call, and at <NUM>, the MO voice call establishment fails.

<FIG> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the baseband processor <NUM> 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 <NUM> of the baseband processor <NUM> can monitor for ongoing proactive STK sessions and adjust communication for different eSIMs <NUM> accordingly. At <NUM>, an initialization of the eUICC <NUM> occurs. At <NUM>, the baseband processor <NUM> sends an ENVELOPE message to the eUICC <NUM> with location status information, e.g., indicating normal service. At <NUM>, the eUICC <NUM> sends to the baseband processor <NUM> a 91XX message indicating a pending event, e.g., a pending proactive command, for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends to the eUICC <NUM> a FETCH command to retrieve the pending proactive command for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with the proactive command for eSIM A, e.g., a REFRESH command. With STK scheduling, at <NUM>, the baseband processor <NUM> recognizes an ongoing proactive STK session for eSIM A 208A. At <NUM>, a user of the UE <NUM> can trigger an MO voice call via eSIM B 208B. The STK scheduler <NUM> of the baseband processor <NUM> can determine that establishment of the MO voice call has a higher priority and supersedes the ongoing proactive STK session for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a terminal response message to the eUICC <NUM> with an indication of TERMINAL BUSY ON CALL status. The eUICC <NUM> can recognize that the proactive STK session for eSIM A 208A has terminated, and one or more pending events for eSIM A <NUM> are yet to be serviced. The baseband processor <NUM>, at <NUM>, can determine that the proactive STK session for eSIM A 208A has terminated and subsequently at <NUM> send an ENVELOPE message to the eUICC <NUM> to establish the MO call for eSIM B 208B. The eUICC <NUM> can respond, at <NUM>, with a <NUM> status message indicating NO MODIFICATION. At <NUM>, the baseband processor <NUM> and the eUICC <NUM> can proceed to establish the MO voice call via eSIM B 208B. At <NUM>, the eUICC <NUM>, 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 <NUM>. After the MO voice call is established, at <NUM>, a 91XX message from the eUICC <NUM> indicating the pending event for eSIM A 208A can be received by the baseband processor <NUM>. At <NUM>, the baseband processor <NUM> sends a FETCH message to the eUICC <NUM> to retrieve the pending event for eSIM A 208A. At <NUM>, the baseband processor <NUM> recognizes re-establishment of a proactive STK session for eSIM A 208A. At <NUM>, the baseband processor <NUM> receives from the eUICC <NUM> the pending event, e.g., a proactive REFRESH command, and at <NUM> provides a terminal response message. At <NUM>, the baseband processor <NUM> recognizes that the proactive STK session for eSIM A 208A has concluded. By prematurely terminating the proactive STK session for eSIM A 208A, at <NUM>, 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> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the communication is associated with an attempt to perform an IMSI switch for roaming without STK scheduling. At <NUM>, initialization of the eUICC <NUM> occurs. At <NUM>, a user of the UE <NUM> updates a fixed dial number (FDN) for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a WRITE command message to the eUICC <NUM> with updated elementary file (EF) information for the FDN for eSIM A 208A. At <NUM>, the eUICC <NUM> responds to the baseband processor <NUM> with a 91XX message indicating a pending event for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a FETCH command to the eUICC <NUM> to retrieve the pending event for eSIM A 208A. At <NUM>, the eUICC <NUM> responds to the baseband processor <NUM> with the pending event, e.g., a proactive REFRESH - FILE CHANGE command for eSIM A 208A. While a proactive STK session for eSIM A 208A is ongoing, at <NUM>, the UE <NUM> can change locations, e.g., move to a cellular wireless network region associated with roaming for eSIM B 208B. At <NUM>, the baseband processor <NUM>, as a result of the location change, can send to the eUICC <NUM> an ENVELOPE with LOCATION STATUS EVENT message for eSIM B 208B. As the STK handler for the eUICC <NUM> can be already handling the proactive STK session for eSIM A 208A, at <NUM>, the eUICC <NUM> returns a <NUM> TOOLKIT BUSY ERROR message to the baseband processor <NUM>. At <NUM>, a switch of IMSI associated with the location change for eSIM B 208B fails, and at <NUM>, the UE <NUM> can be unable to register with the roaming cellular wireless network.

<FIG> illustrates a diagram <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the communication is associated with an IMSI switch for roaming with STK scheduling. At <NUM>, initialization of the eUICC <NUM> occurs. At <NUM>, a user of the UE <NUM> updates a fixed dial number (FDN) for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a WRITE command message to the eUICC <NUM> with updated elementary file (EF) information for the FDN for eSIM A 208A. At <NUM>, the eUICC <NUM> responds to the baseband processor <NUM> with a 91XX message indicating a pending event for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a FETCH command to the eUICC <NUM> to retrieve the pending event for eSIM A 208A. At <NUM>, the eUICC <NUM> responds to the baseband processor <NUM> with the pending event, e.g., a proactive REFRESH - FILE CHANGE command for eSIM A 208A. At <NUM>, the baseband processor <NUM> recognizes that a proactive STK session for eSIM A 208A is ongoing. While the proactive STK session for eSIM A 208A is ongoing, at <NUM>, the UE <NUM> can change locations, e.g., move to a cellular wireless network region associated with roaming for eSIM B 208B. At <NUM>, the baseband processor <NUM>, e.g., an STK scheduler <NUM> 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 <NUM>, uninterrupted by the location change commands. At <NUM>, the baseband processor sends a terminal response REFRESH command to the eUICC <NUM> for eSIM A 208A and receives in response a status OK <NUM> message. At <NUM>, the baseband processor <NUM> recognizes that the proactive STK session for eSIM A 208A has concluded. At <NUM>, the baseband processor <NUM> can send the delayed ENVELOPE with LOCATION STATUS EVENT message for eSIM B 208B to the eUICC <NUM>. The eUICC <NUM> can respond with a 91XX message indicating a pending event for eSIM B 208B. At <NUM>, an IMSI switch for eSIM B 208B associated with the location change of the UE <NUM> can succeed. At <NUM>, the baseband processor <NUM> responds to the 91XX message for eSIM B 208B with a FETCH command and receives in response, at <NUM>, from the eUICC <NUM> a proactive REFRESH command for eSIM B 208B. By queuing actions associated with the location change for eSIM B 208B to be processed after completion of the ongoing proactive STK session for eSIM A 208A, the baseband processor <NUM> increases the probability of the IMSI switch associated with the location change succeeding.

<FIG> and <FIG> illustrate diagrams <NUM>, <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the communication is associated with bearer independent protocol (BIP) sessions for multiple eSIMs <NUM> without STK scheduling, resulting in errors. At <NUM>, initialization of the eUICC <NUM> occurs. At <NUM>, the baseband processor <NUM> receives a short message service (SMS) message for eSIM A 208A indicating an over-the-air (OTA) update for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends an ENVELOPE message including an SMS PP DOWNLOAD indication to the eUICC <NUM> for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with a 91XX message indicating a pending event for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a FETCH command to the eUICC <NUM> to retrieve the pending event for eSIM A 208A. At <NUM>, the eUICC <NUM> responds to the baseband processor <NUM> with the pending event, e.g., a proactive OPEN CHANNEL command for eSIM A 208A. At <NUM>, the baseband processor <NUM> 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. At <NUM>, the baseband processor <NUM> provides a terminal response message to the eUICC <NUM> for eSIM A 208A indicating readiness for the OTA update of eSIM A 208A. At <NUM>, the eUICC <NUM> sends a proactive command message to the baseband processor <NUM> to send data for the OTA update for eSIM A 208A. At <NUM>, the baseband processor <NUM> responds to the eUICC <NUM> with a terminal response. At <NUM>, the baseband processor <NUM> receives an SMS message for eSIM B 208A indicating an over-the-air (OTA) update for eSIM B 208B. At <NUM>, the baseband processor <NUM> sends an ENVELOPE message including an SMS PP DOWNLOAD indication to the eUICC <NUM> for eSIM B 208B. At <NUM>, the eUICC <NUM> responds with a 91XX message indicating a pending event for eSIM B 208B. At <NUM>, the baseband processor <NUM> sends a FETCH command to the eUICC <NUM> to retrieve the pending event for eSIM B 208B. At <NUM>, the eUICC <NUM> responds to the baseband processor <NUM> with the pending event, e.g., a proactive OPEN CHANNEL command for eSIM B 208B. At <NUM>, the baseband processor <NUM> 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. At this point, two parallel BIP sessions are established, a first BIP session for eSIM A 208A and a second BIP session for eSIM B 208B.

At <NUM>, the baseband processor <NUM> provides a terminal response message to the eUICC <NUM> for eSIM B 208B indicating readiness for the OTA update of eSIM B 208B. At <NUM>, the eUICC <NUM> sends a proactive command message to the baseband processor <NUM> to send data for the OTA update for eSIM B 208B. At <NUM>, the baseband processor <NUM> requests IP data for eSIM B 208B, e.g., via the established BIP session for eSIM B 208B. At <NUM>, the baseband processor <NUM> responds to the eUICC <NUM> with a terminal response. At <NUM>, the baseband processor <NUM> sends an ENVELOPE message indicating DATA AVAILABLE for eSIM B 208B to the eUICC <NUM> and receives a 91XX message in response, at <NUM>, indicating a pending event for eSIM B 208B. At <NUM>, the baseband processor retrieves the pending event for eSIM B 208B by sending a FETCH command to the eUICC <NUM>, and receives in response a proactive command for eSIM B 208B indicating readiness to receive data for eSIM B 208B by the eUICC <NUM>. At <NUM>, the baseband processor <NUM> can receive incoming data via the established BIP session for eSIM B 208B and at <NUM> provide a terminal response message to the eSIM B 208B. As noted at <NUM>, 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. 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 two different eSIMs <NUM> can be problematic, in some cases resulting in data transfer errors.

<FIG> and <FIG> illustrate diagrams <NUM>, <NUM> of communication between a baseband processor <NUM> of UE <NUM> and an eUICC <NUM> of UE <NUM>, where the communication is associated with bearer independent protocol (BIP) sessions for multiple eSIMs <NUM> with STK scheduling to reduce errors. At <NUM>, initialization of the eUICC <NUM> occurs. At <NUM>, the baseband processor <NUM> receives a short message service (SMS) message for eSIM A 208A indicating an over-the-air (OTA) update for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends an ENVELOPE message including an SMS PP DOWNLOAD indication to the eUICC <NUM> for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with a 91XX message indicating a pending event for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a FETCH command to the eUICC <NUM> to retrieve the pending event for eSIM A 208A. At <NUM>, the baseband processor <NUM> recognizes that a proactive STK session for eSIM A 208A is ongoing. At <NUM>, the eUICC <NUM> responds to the baseband processor <NUM> with the pending event, e.g., a proactive OPEN CHANNEL command for eSIM A 208A. At <NUM>, the baseband processor <NUM> 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. At <NUM>, the baseband processor <NUM> provides a terminal response message to the eUICC <NUM> for eSIM A 208A indicating readiness for the OTA update of eSIM A 208A. At <NUM>, the eUICC <NUM> sends a proactive command message to the baseband processor <NUM> to send data for the OTA update for eSIM A 208A. At <NUM>, the baseband processor <NUM> responds to the eUICC <NUM> with a terminal response. At <NUM>, the baseband processor <NUM> receives an SMS message for eSIM B 208A indicating an over-the-air (OTA) update for eSIM B 208B. As the proactive STK session for eSIM A 208A is ongoing, the baseband processor <NUM>, at <NUM>, queues the OTA update SMS message for eSIM B 208B for processing later. At <NUM>, the baseband processor <NUM> continues with the proactive STK session for eSIM A 208A by sending an ENVELOPE message including a DATA AVAILABLE indication to the eUICC <NUM> for eSIM A 208A. At <NUM>, the eUICC <NUM> responds with a 91XX message indicating a pending event for eSIM A 208A. At <NUM>, the baseband processor <NUM> sends a FETCH command to the eUICC <NUM> to retrieve the pending event for eSIM A 208BA. At <NUM>, the eUICC <NUM> sends a proactive RECEIVE DATA command to the baseband processor <NUM> for eSIM A 208A. At <NUM>, the baseband processor <NUM> responds to the eUICC <NUM> with a terminal response. At <NUM>, the eUICC <NUM> sends a proactive CLOSE CHANNEL command to the baseband processor <NUM> to end the proactive STK session for eSIM A 208A. At <NUM>, the baseband processor <NUM> responds to the eUICC <NUM> with a terminal response message. At <NUM>, the baseband processor <NUM> recognizes that the proactive STK session for eSIM A 208A has completed. The baseband processor <NUM>, at <NUM>, 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 <NUM> for eSIM B 208B. At <NUM>, the eUICC <NUM> responds with a 91XX message indicating a pending event for eSIM B 208B. At <NUM>, the baseband processor <NUM> sends a FETCH command to retrieve the pending event for eSIM B 208B. The eUICC <NUM> responds at <NUM> with a proactive OPEN CHANNEL command message for eSIM B 208B. At <NUM>, the baseband processor <NUM> 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). By delaying execution of establishment of the second IP session for the OTA update of eSIM B 208B until the first IP session for the OTA update of eSIM A 208A, the baseband processor <NUM> avoids collision of communication of data for the two IP sessions.

<FIG> illustrates a flowchart <NUM> of an exemplary set of actions taken by a baseband processor <NUM> of a UE <NUM> to schedule STK communication for multiple eSIMs <NUM> of an eUICC <NUM> of the UE <NUM>. At <NUM>, a rest of the eUICC <NUM> occurs. At <NUM>, the eUICC <NUM> sends an ATR message indicating that the eUICC <NUM> is capable of multiple enabled eSIM <NUM> profiles (MEP capable). At <NUM>, the baseband processor <NUM> determines wither there is a pending proactive 91XX command from the eUICC <NUM> for an eSIM <NUM>, the 91XX command indicating a pending event for the eSIM <NUM>. 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 the eSIM <NUM>, the baseband processor <NUM> can determine, at <NUM>, whether there is an ongoing proactive STK session for the eSIM <NUM>. When there is no ongoing proactive STK session for the eSIM <NUM>, the baseband processor proceeds to <NUM> to retrieve the pending event for the eSIM <NUM>, e.g., by sending a FETCH command to the eUICC <NUM>. At <NUM>, the baseband processor <NUM> recognizes that a proactive STK session for the eSIM <NUM> has started. After intervening processing (not shown), at <NUM>, the baseband processor <NUM> recognizes that the proactive STK session for the eSIM <NUM> has completed. At <NUM>, the baseband processor <NUM> 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 <NUM> can continue by returning to <NUM> to determine whether a proactive 91XX command is pending. When there is an ongoing proactive STK session for the eSIM <NUM>, as determined at <NUM>, the baseband processor <NUM> can determine whether there is a critical user request to be serviced that can supersede the ongoing proactive STK session for the eSIM <NUM>. It is noted that the critical user request can be for an action that impacts a different eSIM <NUM> of the eUICC <NUM>, e.g., to establish an MO voice call for a second eSIM <NUM> of the eUICC <NUM>. When the baseband processor <NUM> determines, at <NUM>, that the user request is not critical, e.g., not of a sufficiently high priority to supersede the ongoing STK session for the eSIM <NUM>, the baseband processor <NUM>, at <NUM>, 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 <NUM> concludes. When the baseband processor <NUM> determines, at <NUM>, that the user request is critical, e.g., of a sufficiently high priority to supersede the ongoing proactive STK session for the eSIM <NUM>, the baseband processor <NUM>, at <NUM> terminates the ongoing proactive STK session for the eSIM <NUM>, e.g., by sending to the eUICC <NUM> an "unable to process command" reply message or comparable termination message to stop the ongoing proactive STK session for the eSIM <NUM> and allow for processing the critical user request. In some embodiments, the proactive STK session for the eSIM <NUM> can be restarted after processing actions associated with the critical user request.

<FIG> illustrates a flowchart <NUM> of an exemplary set of actions performed by an apparatus of a wireless device <NUM> to perform STK scheduling for multiple eSIMs <NUM> of an eUICC <NUM>. At <NUM>, the apparatus receives an input to perform an action with a first eSIM <NUM> of the eUICC <NUM> of the wireless device <NUM>. At <NUM>, the apparatus determines whether a proactive STK session for a second eSIM <NUM> on the eUICC <NUM> is ongoing. At <NUM>, when there is no ongoing proactive STK session for the second eSIM <NUM>, the apparatus performs the action associated with the first eSIM <NUM>. At <NUM>, when there is an ongoing proactive STK session for the first eSIM <NUM>, the apparatus determines whether the action has a priority that supersedes the ongoing proactive STK session for the second eSIM <NUM>. At <NUM>, when the action does not have superseding priority, the apparatus adds an entry to a queue to perform the action for the first eSIM <NUM> after the proactive STK session for the second eSIM <NUM> concludes. At <NUM>, when the action does have superseding priority, the apparatus sends a message to the eUICC <NUM> to terminate the ongoing proactive STK session for the second eSIM <NUM> and subsequently performs the action associated with the first eSIM <NUM> after the proactive STK session for the second eSIM <NUM> terminates.

<FIG> illustrates a detailed view of a representative computing device <NUM> 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 <NUM> illustrated in <FIG>. As shown in <FIG>, the computing device <NUM> can include a processor <NUM> that represents a microprocessor or controller for controlling the overall operation of computing device <NUM>. The computing device <NUM> can also include a user input device <NUM> that allows a user of the computing device <NUM> to interact with the computing device <NUM>. For example, the user input device <NUM> 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, the computing device <NUM> can include a display <NUM> that can be controlled by the processor <NUM> to display information to the user. A data bus <NUM> can facilitate data transfer between at least a storage device <NUM>, the processor <NUM>, and a controller <NUM>. The controller <NUM> can be used to interface with and control different equipment through and equipment control bus <NUM>. The computing device <NUM> can also include a network/bus interface <NUM> that couples to a data link <NUM>. In the case of a wireless connection, the network/bus interface <NUM> can include a wireless transceiver.

The computing device <NUM> also includes a storage device <NUM>, 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 <NUM>. In some embodiments, storage device <NUM> can include flash memory, semiconductor (solid state) memory or the like. The computing device <NUM> can also include a Random Access Memory (RAM) <NUM> and a Read-Only Memory (ROM) <NUM>. The ROM <NUM> can store programs, utilities or processes to be executed in a non-volatile manner. The RAM <NUM> can provide volatile data storage, and stores instructions related to the operation of the computing device <NUM>. The computing device <NUM> can further include a secure element (SE) <NUM>, which can represent the eUICC <NUM> of the UE <NUM>.

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 (<NUM>) Long Term Evolution (LTE) and LTE Advanced (LTE-A), fifth generation (<NUM>) 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 (<NUM>) and/or second generation (<NUM>) RATs in addition to communicating with <NUM> 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 <NUM> 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) <NUM> (Wi-Fi), IEEE <NUM> (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.

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.

Claim 1:
A baseband processor configured for operation in a wireless device, wherein the baseband processor is external to an embedded universal integrated circuit card, eUICC, of the wireless device, wherein the baseband processor comprises at least one processor which is communicatively coupled to a memory storing instructions that, when executed by the baseband processor, cause the baseband processor to:
receive an input to perform an action associated with a first electronic subscriber identity module, eSIM, profile on the eUICC of the wireless device;
determine whether a proactive SIM toolkit, STK, session is ongoing for a second eSIM profile on the eUICC based on receipt of a proactive command from the eUICC for the second eSIM profile to which a response from the baseband processor to the eUICC has not been completed;
when there is no ongoing proactive STK session for the second eSIM profile, perform the action associated with the first eSIM profile; and
when there is an ongoing proactive STK session for the second eSIM profile:
determine whether the action has a priority that supersedes the ongoing proactive STK session for the second eSIM profile;
when the action does not have superseding priority, add an entry to a queue to perform the action for the first eSIM profile after the proactive STK session for the second eSIM profile concludes; and
when the action does have superseding priority:
send a message to the eUICC to terminate the ongoing proactive STK session for the second eSIM profile; and
perform the action associated with the first eSIM profile after the proactive STK session for the second eSIM profile terminates.