To offer world-wide connectivity, EMnify uses SIMs with multiple IMSIs. The IMSI is the identifier stored on the chip which enables devices to connect to available providers in a country. In some cases, when a device goes from one country to another for example, an IMSI switch is needed. To trigger an IMSI switch, the GSM device needs to exchange specific information with the SIM. Here are configuration tips GSM devices need to respect to handle the IMSI switch:
1. Supporting IMSI Switch
a) The device must be capable of handling "SET UP EVENT LIST", "POLL INTERVAL" and "REFRESH" proactive commands as specified in 3GPP TS31.111. This is applied when the SIM-card applet modifies the IMSI value.
b) EMnify SIMs require a minimum of 128 seconds to perform an IMSI switch after an unsuccessful network-attach attempt (failed location update). As EMnify SIMs can have up to three IMSIs per country it is recommended to ensure devices try for a minimum of 300 seconds to perform a network search and a subsequent network attach.
c) Devices must not enter an IDLE state or automatically restart for a minimum of 300 seconds while no network attachment is possible.
2. Retain APN settings
APN Settings are not hard-coded on SIM cards. The APN must be configured on the device. Devices or modems must retain a user-configured APN after both:
a) attaching to another network using the same IMSI,
b) attaching to the same or another network after the SIM has switched IMSI.
3. VLR LU support
Our applet on the SIM, which handles the IMSI switch, works based on the VLR LUs (Location Update) currently. Without the VLR LUs, it will not function correctly. Mostly, the modems use only GPRS LUs when only data communication is selected. So, the modems should be configured to use both VLR LUs and GPRS LUs. Examples of these settings are as below:
AT+QCFG="servicedomain",2,1 // Service domain of UE: CS & PS, Take effect immediately
AT+USVCDOMAIN=2 // CS/PS combined
AT+CEMODE=2 // CS/PS mode 2 of operation (mode 2 = for non-VoLTE modules)
AT+CEMODE=1 // CS/PS mode 1 of operation (mode 1 = for VoLTE modules)
AT+CSDP=2 // CS(Circuit Switched Domain) + PS(Packet Switched Domain)