Skip to contentSkip to navigationSkip to topbar
On this page

How to Enable Device Roaming for Super SIM


All devices containing a Super SIM must have roaming enabled, even if they are only to be used in the US. This setting is very device specific. This guide can't include instructions for every possible device that you might use with Super SIM, but we will show you some generic steps that will get you most of the way. For the final stages, you may need to consult your device's documentation.

(warning)

Warning

Super SIM requires roaming to be enabled all the time and in every country in which the host device will be used. Some countries, including Brazil, Canada, India, and China, prohibit permanent roaming, and may disconnect roaming devices that have been on a national cellular network for more than 1-3 months. These restrictions are not specific to Super SIM: all non-local connectivity providers are subject to the same restrictions.

If you expect any of your Super SIM-enabled devices to be used in a country that prohibits or restrictions permanent roaming, please contact support(link takes you to an external page) so we can show you how Super SIM's multi-IMSI capability can mitigate this issue.

  • If you are using an IoT device that supports AT Commands, click here for details .
  • If you are using an Android device, click here for details
  • If you are using an iOS device, click here for details .

How do I enable roaming with AT Commands?

how-do-i-enable-roaming-with-at-commands page anchor

Refer to your device's user manual to learn how to send it AT Commands.

The AT command for enabling roaming is modem specific, so you will need to check the documentation for the modem your device contains. However, two commonly used IoT development device cellular modems are the Quectel BG96, and the U-blox Lara, Lisa, Sara, and Toby families. These use the following AT commands to enable roaming:

Quectel

quectel page anchor
AT+QCFG="roamservice",2
AT+UDCONF=20,1

Enabling roaming with AT Commands via SMS

enabling-roaming-with-at-commands-via-sms page anchor

Some devices will action AT Commands that have been sent by SMS. For these devices, you can use our SMS Commands API to send a machine-to-machine SMS via the Super SIM. You can use a command line tool such as curl or the Twilio CLI to transmit an API request which contains the AT command to enable roaming for the modem you are using.

In this example, IoTDeviceSuperSIM is the unique name of the Super SIM as set in Console. The AT command you use is included in the Command field. We'll use the BG96 roaming command.

The optional CallbackUrl field takes an endpoint on your server to which Twilio will send the final response once roaming has been enabled; the initial request will generate a 200 OK response on the successful receipt of the request, or an error if the request was malformed. If an error is reported, the callback will not be triggered.

Here is the initial request, made via curl and containing the roaming enable AT command:

1
curl -X POST https://supersim.twilio.com/v1/SmsCommands \
2
-d 'Sim=IoTDeviceSuperSIM' \
3
-d 'Command=AT+QCFG=\"roamservice\",2' \
4
-d 'CallbackUrl=https://example.com/api' \
5
-u 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:your_auth_token'

Here is the same request but this time made with the Twilio CLI. The --sim option's argument is the Super SIM's SID.

1
twilio api:supersim:v1:sms-commands:create \
2
--sim IoTDeviceSuperSIM \
3
--payload 'AT+CGDCONT=1,"IP","super"' \
4
--callback-url https://example.com/api

The request will eventually cause the following response to be posted to the optional callback URL. The sid, sim_sid, account_sid, and url fields will contain true values:

1
HTTP/1.1 202 ACCEPTED
2
Content-Type: application/json
3
4
{
5
"sid": "HCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
6
"sim_sid": "HSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
7
"command": "AT+QCFG=\"roamservice\",2",
8
"status": "queued",
9
"date_created": "2020-05-23T15:42:04Z",
10
"date_updated": "2020-05-23T15:42:04Z",
11
"account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
12
"url": "https://supersim.twilio.com/v1/SmsCommands/HCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
13
}
(warning)

Warning

Many devices do not support sending AT Commands via SMS. Refer to your device's user manual to see if this action is permitted and how to format the message.


Where do I set roaming on my Android device?

where-do-i-set-roaming-on-my-android-device page anchor

Depending on the version of Android installed on your device, you may see slightly different wording, but essentially you set roaming as follows:

  • Go to Settings > Wireless & networks > More > Mobile networks .
  • Make sure the Data roaming switch is turned on.

Where do I set roaming on my iOS device?

where-do-i-set-roaming-on-my-ios-device page anchor

The iOS UI changes in subtle ways with almost every release, so you may find the following guidance, for iOS 15, doesn't entirely match the UI on your device. However, it should help you find the setting you need.

  • If your device's language setting is English (US/Canada), then go to Settings > Cellular > Cellular Data Options .
  • If your device's language setting is English (UK), then go to Settings > Mobile Data > Mobile Data Options .
  • For other languages, use the appropriate menu path.
  • Make sure the Data Roaming switch is turned on.

Verify you're connected to the network

verify-youre-connected-to-the-network page anchor

You will know your device is correctly configured if you can send and receive data. Try pinging www.twilio.com(link takes you to an external page), or open your favorite web browser and navigate to www.twilio.com/docs/iot/supersim(link takes you to an external page).

If your ping is unsuccessful or if you cannot load the web page, review the instructions above and make sure you have also set the correct APN.

Need some help?

Terms of service

Copyright © 2024 Twilio Inc.