# 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.

{% hint style="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](https://docs.korewireless.com/en-us/twilio-iot-acquisition/twilio-iot-is-now-part-of-kore/iot-customer-support-migration-to-kore#how-to-open-a-kore-customer-support-ticket) so we can show you how [Super SIM's multi-IMSI capability](https://docs.korewireless.com/supersim/supersim-multi-imsi-applet) can mitigate this issue.
{% endhint %}

* If you are using an IoT device that supports AT Commands, [click here for details](#how-do-i-enable-roaming-with-at-commands).
* If you are using an Android device, [click here for details](#where-do-i-set-roaming-on-my-android-device).
* If you are using an iOS device,[ click here for details](#where-do-i-set-roaming-on-my-ios-device).

## How do I enable roaming with AT Commands?

Refer to your device's user manual to learn how to send it [AT Commands](https://docs.korewireless.com/supersim/cellular-module-knowledgebase/about-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

```bash
AT+QCFG="roamservice",2
```

### U-blox

```bash
AT+UDCONF=20,1
```

### Enabling roaming with AT Commands via SMS

Some devices will action AT Commands that have been sent by SMS. For these devices, you can use our [SMS Commands API](https://app.gitbook.com/s/JknMM6SZJYk9EbbitKp5/products/supersim/smscommand-resource) to send a machine-to-machine SMS via the Super SIM.&#x20;

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 KORE 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:

```shell
curl -X POST https://supersim.api.korewireless.com/v1/SmsCommands \
     -d 'Sim=IoTDeviceSuperSIM' \
     -d 'Command=AT+QCFG=\"roamservice\",2' \
     -d 'CallbackUrl=https://example.com/api' \
     -h 'Authorization: Bearer <YOUR_AUTH_TOKEN>'
```

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:

```bash
HTTP/1.1 202 ACCEPTED
Content-Type: application/json

{
  "sid": "HCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "sim_sid": "HSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "command": "AT+QCFG=\"roamservice\",2",
  "status": "queued",
  "date_created": "2020-05-23T15:42:04Z",
  "date_updated": "2020-05-23T15:42:04Z",
  "account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "url": "https://supersim.api.korewireless.com/v1/SmsCommands/HCxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
```

{% hint style="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.
{% endhint %}

## Where do I set roaming on my Android device?

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?

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

You will know your device is correctly configured if you can send and receive data. Try pinging [**www.korewireless.com**](https://docs.korewireless.com/en-us/supersim), or open your favorite web browser and navigate to [**www.supersim.korewireless.com**](https://supersim.korewireless.com/overview).

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](https://docs.korewireless.com/supersim/how-to/apn-configuration).
