Windows Mobile 6.5 SIM Toolkit Management

Windows Mobile 6.5 managed carrier SIM Toolkit (STK) services through a modular telephony architecture that translated proactive SIM commands into native user interface elements. By leveraging the Radio Interface Layer (RIL), the Telephony API (TAPI), and a dedicated system-level SIM Toolkit application, the operating system allowed mobile network operators to deliver value-added services such as mobile banking, menu-driven information services, and carrier-specific configurations directly from the SIM card.

The Role of the Radio Interface Layer (RIL)

At the core of Windows Mobile 6.5's telephony stack was the Radio Interface Layer (RIL), a system-level driver provided by the device's Original Equipment Manufacturer (OEM). The RIL acted as the translation bridge between the high-level operating system components and the baseband modem.

When a SIM card executed proactive commands according to GSM 11.14 and 3GPP TS 31.111 specifications, the modem sent unsolicited notifications to the RIL. The RIL then surfaced these events to the operating system using dedicated RIL APIs (such as RIL_SendSIMToolkitCmd and STK-related notification callbacks). This design abstracted the low-level AT command sets used by the cellular radio, providing a standardized pipeline for SIM-driven tasks.

Native STK Application and UI Rendering

Windows Mobile 6.5 included a built-in SIM Toolkit application client. This client continuously listened for STK events dispatched by the telephony service. Depending on the carrier and device build, this utility appeared in the user interface under the Programs or Settings menu labeled as "SIM Apps," "Carrier Services," or "SIM Toolkit."

The operating system handled common proactive commands by converting raw SIM data packets into standard Windows CE graphical controls:

  • SET UP MENU: The SIM supplied a list of menu options on device boot or network registration. Windows Mobile cached this list and dynamically populated the root menu of the STK application.
  • SELECT ITEM: Navigating a sub-menu prompted the OS to return the user's selection code to the SIM, which responded with the next menu layer or an action.
  • DISPLAY TEXT: The OS rendered dialog boxes displaying operator messages, allowing the user to acknowledge or dismiss the alert.
  • GET INPUT / GET INKEY: The system displayed a secure input prompt requesting text or numeric input (such as a PIN or banking account number) and routed the entered data back to the card via RIL.
  • LAUNCH BROWSER: Windows Mobile 6.5 translated browser requests directly to Internet Explorer Mobile, opening the carrier-specified URL.

Session Handling and Command Sequences

SIM Toolkit operations function as request-and-response sessions. Windows Mobile 6.5 maintained a state machine to track active STK dialogues. If a user was interrupted by an incoming phone call or navigated away from the STK screen, the operating system reported a terminal response to the SIM card indicating that the user aborted the session or that the display was unavailable.

For security-sensitive tasks like SIM-based mobile money, the OS prioritized STK input dialogs to prevent session timeouts dictated by the SIM hardware.

OEM and Carrier Customization

Because Windows Mobile 6.5 was heavily customized by operators, carriers frequently altered the integration of STK services. Microsoft allowed OEMs and mobile network operators to brand the STK icon, adjust timeout parameters, or embed STK entry points directly into custom touch-friendly shells (such as HTC Sense) via the Windows Mobile registry and custom configuration service providers (CSPs).