Menu

Expand
Rate this page:

Thales Cinterion Modules with Super SIM

Super SIM does not support NB-IoT.

Initialization

Only configure the modem’s Radio Access Technology (RAT) preference for Cat-M1. To do so, issue AT^SXRAT=7,7.

The first parameter is the RAT to connect to immediately. The second is the preferred RAT on re-connection.

A value of 8 indicates NB-IoT, and 10 indicates Cat-M1/NB-IoT dual mode. Do not use 8, and we strongly recommend that you do not select 10. This is the default and so you should always command the module to favor Cat-M1. This prevents the modem from attempting to attach to NB-IoT networks, which will reject it.

Bring up a data connection

  1. Set the APN: AT+CGDCONT=1,"IP","super".
  2. Activate a PDP context: AT^SICA=1,1.

The first parameter of AT^SICA is the required action: 1 for enable, 0 for disable. The second parameter is the ID of the PDP context to be used to host the connection — it should match the value used in the AT+CGDCONT command.

Check the device’s IP address with AT+CGPADDR=1.

Perform a ping

To perform a ping to a remote host after bringing up a connection as described above, issue AT^SISX=Ping,1,"8.8.8.8",5,5000. This will yield:

^SISX: "Ping",1,1,"8.8.8.8",546
^SISX: "Ping",1,1,"8.8.8.8",515
^SISX: "Ping",1,1,"8.8.8.8",457
^SISX: "Ping",1,1,"8.8.8.8",443
^SISX: "Ping",1,1,"8.8.8.8",375
^SISX: "Ping",2,1,5,5,0,0
^SISX: "Ping",3,1,375,546,467
OK

Perform an HTTP GET

  1. Set at least one DNS server. The first argument is the PDP Context ID: AT^SICS=1,"dns1","8.8.8.8"
  2. Activate the data connection: AT^SICA=1,1
  3. Configure the HTTP operation’s Internet service profile. This is referenced by its ID, in the range 0-9:
    1. Set profile 0’s service type to HTTP: AT^SISS=0,srvtype,"http"
    2. Set the connection ID to match that of the current PDP context: AT^SISS=0,conid,"1"
    3. Set the target URL, including the path: AT^SISS=0,address,"http://ifconfig.co/ip"
      Note You can specify HTTP by including the protocol as a URL prefix, or by adding :80 to indicate the required port.
    4. Specify the request’s HTTP method: AT^SISS=0,cmd,"get"
  4. Start the Internet service: AT^SISO=0
  5. The modem will attempt to make the request. You may see these URCs as the response is processed:
    ^SIS: 0,0,2200,"Http connect 172.67.133.228:80"
    ^SIS: 0,0,2201,"HTTP/1.1 200 OK"
    ^SIS: 0,0,2201,"Content-Length: 13"
    ^SISR: 0,1
  6. The last line above appears when there is data available for you to read. In this case, the header data shows how much. Read 13 bytes: AT^SISR=0,13
  7. You will see:
    ^SISR: 0,13
    44.204.32.14
    OK
  8. Watch for the URC ^SISR: 0,2, which indicates that all the available data has been read. If you don’t see this — perhaps the response’s content length was much larger and you only read a portion of it — continue to issue AT^SISR=0,<NUMBER_OF_BYTES_TO_READ> commands until all the data has been read — i.e., you do receive ^SISR: 0,2
  9. Close the Internet service: AT^SISC=0

If you need to provide extra request headers, such Authorization: Basic <API_KEY> or a custom header required by your server, issue AT^SISS=0,hcprop,"<HEADERS>" when you are configuring your Internet service profile.

Pass each header in the form <key>: <value>. Multiple headers can be included by separating them with the sequence \0d\0a. Don’t add a separator after the last header and ensure your headers string is 255 bytes or less.

If you wish to include a User-Agent header, don’t add it to your headers string but instead supply it to the module with AT^SISS=0,hcuseragent,"<USER_AGENT>".

Perform an HTTPS GET

  1. Initialize the module’s certificates: AT^SSECUA="CertStore/TLS/PreconfigureCerts"
  2. Set a DNS server: AT^SICS=1,"dns1","8.8.8.8"
  3. Activate the connection: AT^SICA=1,1
  4. Configure the operation’s Internet service profile:
    1. Set profile 1’s service type to HTTP: AT^SISS=1,srvtype,"http"
    2. Set the connection ID to match that of the current PDP context ID: AT^SISS=1,conid,"1"
    3. Set the target URL, including the path: AT^SISS=1,address,"https://jsonplaceholder.typicode.com/todos/1"
      Note You can specify HTTPS by including the protocol as a URL prefix, or by adding :443 to indicate the required port.
    4. Specify the request’s HTTP method: AT^SISS=1,cmd,"get"
  5. Open the Internet service: AT^SISO=1
  6. The connection will be attempted. You will see these URCs:
    ^SIS: 1,0,2200,"Http connect 172.67.131.170:443"
    ^SIS: 1,0,2201,"HTTP/1.1 200 OK"
    ^SIS: 1,0,2201,"Content-Length: 83"
    ^SISR: 1,1
  7. The last line above indicates there is data available for you to read. In this case, the header data shows how much. Read 83 bytes: AT^SISR=1,83
  8. You will see:
    ^SISR: 1,83
    {
        "userId": 1,
        "id": 1,
        "title": "delectus aut autem",
        "completed": false
    }
    OK
  9. Watch for the URC ^SISR: 1,2, which indicates that all the available data has been read. If you don’t see this — perhaps the content length was much larger and you only read a portion of it — continue to issue AT^SISR=1,<NUMBER_OF_BYTES_TO_READ> commands until all the data is read — i.e., you do receive ^SISR: 1,2
  10. Close the Internet service: AT^SISC=1

Perform an HTTP(S) POST

Sending data from the modem via an Internet-hosted API follows the paths outlined above for the HTTP and HTTPS protocols. You call AT^SISS=0,cmd,"post" instead of AT^SISS=0,cmd,"get".

The EXS62-W provides a way to load up a small amount (1-255 bytes) of body data: issue AT^SISS=0,hccontent,"<DATA_AS_STRING>" and AT^SISS=0,hccontlen,0.

If the size of the data you wish to send is greater than 255 bytes, set the size with AT^SISS=0,hccontlen,<SIZE_IN_BYTES> and then upload data to the module after opening the the Internet service with AT^SISO=0. Issue AT^SISW=0,<CHUNK_SIZE> to trigger the modem to input the data over the UART. Up to 1500 bytes can be sent to the modem at a time, and each chunk will be sent out as they are received from your application.

Low-power modes

The EXS62-W supports the eDRX and PSM low-power modes. The commands to enable each of these are:

AT+CEDRXS
AT+CPSMS

Using these features, but especially PSM, can make the modem inaccessible to the terminal during its sleep time. It’s best to experiment with these features with the modem local. To disable all power saving, send:

AT+CEDRXS=0
AT+CPSMS=0

You can learn more about implementing these modes in our low-power usage documentation.

See also AT^SEDRXS in the EXS62-W AT Commands Manual for further eDRX settings.

Known issues

The EXS62-W does not support AT+CCID to retrieve the SIM’s ICCID. Instead, issue AT^SIND? and look for the line commencing ^SIND: iccid,0.

Additional resources

EXS62-W AT Commands Manual Thales sign-in required

Rate this page:

Need some help?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.

Thank you for your feedback!

Please select the reason(s) for your feedback. The additional information you provide helps us improve our documentation:

Sending your feedback...
🎉 Thank you for your feedback!
Something went wrong. Please try again.

Thanks for your feedback!

Refer us and get $10 in 3 simple steps!

Step 1

Get link

Get a free personal referral link here

Step 2

Give $10

Your user signs up and upgrade using link

Step 3

Get $10

1,250 free SMSes
OR 1,000 free voice mins
OR 12,000 chats
OR more