Dual SIM

Some Series 40 devices with Java Runtime 1.0.0 for Series 40 or newer and Nokia Asha software platform 1.0 devices support Dual-SIM functionality. Dual-SIM devices have two SIM card slots: SIM1 for the default SIM under the battery and SIM2 for the swappable SIM. You can use the dual-SIM functionality to:

  • Switch between multiple SIMs to take advantage of different service offers

  • Use multiple SIMs to ensure network coverage in areas without fully developed coverage

  • Switch off their employer-provided SIM while not at work

SIM selection prompts

In a MIDlet, the user is prompted to select which SIM to use once per session for each type of communication request (call operation, network access, messaging). The prompt is shown at the first request to use a particular type of communication. There are typically one or two SIM selection prompts per session.

If a device has only one SIM inserted (SIM1), the device functions as a single-SIM device and SIM selection prompts are not shown.

Prompting for SIM selection depends on the Preferred SIM value chosen from the SIM Manager on Series 40 and from Dual SIM settings on Nokia Asha software platform devices. Some devices may have separate Preferred SIM selections for different types of communication, for example, for SMS and MMS. Preferred SIM can have the following values:

Table: Possible values for Preferred SIM

Value

Description

Ask every time

The user is prompted every time the device is used for outgoing communication. This is the default value.

SIM1

SIM1 is set as the preferred SIM.

SIM2

SIM2 is set as the preferred SIM.

Figure: Dual SIM selection

Figure: SIM selection for making a call

Note: The Series 40 and Nokia Asha software platforms channel automatically accept any requests for communication coming from a Java MIDlet to the SIM selected by the user. The selection menu is controlled by the Operating System, and there is no additional code required by the developer.

Figure: A Java MIDlet selection to send an SMS

System properties

Dual-SIM devices support the following additional System properties:

  • com.nokia.multisim.cellid.sim1 and com.nokia.multisim.cellid.sim2

  • com.nokia.multisim.countrycode.sim1 and com.nokia.multisim.countrycode.sim2

  • com.nokia.multisim.lac.sim1 and com.nokia.multisim.lac.sim2

  • com.nokia.multisim.mmsc.sim1 and com.nokia.multisim.mmsc.sim2

  • com.nokia.multisim.mnc.sim1 and com.nokia.multisim.mnc.sim2

  • com.nokia.multisim.networkavailability.sim1 and com.nokia.multisim.networkavailability.sim2

  • com.nokia.multisim.networkID.sim1 and com.nokia.multisim.networkID.sim2

  • com.nokia.multisim.networksignal.sim1 and com.nokia.multisim.networksignal.sim2

  • com.nokia.multisim.networkstatus.sim1 and com.nokia.multisim.networkstatus.sim2

  • com.nokia.multisim.smsc.sim1 and com.nokia.multisim.smsc.sim2

The following table describes the behavior of certain pre-existing single-SIM system properties when they are used in a MIDlet run on a dual-SIM device.

Table: Return values for pre-existing system properties on dual-SIM devices

System property

Return value (depending on listed factors)

Number of SIMs inserted

1 (SIM1)

2

2

2

2

Preferred SIM

N/A

"Ask every time" for all

SIM2 for SMS, "Ask every time" for others

SIM2 for all

"Ask every time" for all

MIDlet has already established a connection, which triggered a SIM selection prompt

N/A

No

No

No

Yes, SIM1 was selected

com.nokia.mid.cellid

Value from SIM1

null

null

Value from SIM2

Value from SIM1

com.nokia.mid.countrycode

Value from SIM1

null

null

Value from SIM2

Value from SIM1

com.nokia.mid.imsi

Value from SIM1

null

null

Value from SIM2

Value from SIM1

com.nokia.mid.lac

Value from SIM1

null

null

Value from SIM2

Value from SIM1

com.nokia.mid.msisdn

Value from SIM1

null

null

Value from SIM2

Value from SIM1

com.nokia.mid.networkid

Value from SIM1

null

null

Value from SIM2

Value from SIM1

com.nokia.mid.ons

Value from SIM1

null

null

Value from SIM2

Value from SIM1

com.nokia.mid.spn

Value from SIM1

null

null

Value from SIM2

Value from SIM1

wireless.messaging.sms.smsc

Value from SIM1

null

Value from SIM2

Value from SIM2

Value from SIM1