Getting Started with IoT Starter Kit APIs

RESTful APIs are available for operations related to data connectivity service (SIM Card). We use Swagger UI to provide you with a sandbox to explore these capabilities.

As a part of the IoT starter kit services your product can take advantage of AT&T M2X to store time-series data coming from your appliance. Optionally you can use AT&T Flow to create data flows and connect to other services (nodes) to further enrich your data and product experience.

If you already use cloud services like Microsoft Azure or IBM DeveloperWorks (Bluemix), you can connect to those too, by following their getting started guides.

This document provides the information on the IoT starter kit connectivity services API

Getting Started

Base URL

The Control Center REST API is securely available over HTTPS. You can use the following base URL for all API calls:

https://api-iotdevice.att.com/rws/api/v{apiVersion}/

The current API version is 1.

Authentication

All APIs require an authorization header containing a Control Center user name (automatically generated on account creation) and its associated API Key. Both values must be encoded in base64 and sent to the API server through HTTP Basic authentication.

The user name and unique API key for your account are located within the AT&T IoT Starter Kit portal. Both are available under the AT&T Control Center section on the Account Settings screen once logged in.

API Keys are like passwords; only you can view the API Key associated with your user name. To view the API Key for a certain user, you must be logged in as that user. No other user can view your API Key.

The API functions you can perform will depend on your role, just as they do in the web interface. In general, if you can perform a function in the web interface, you can perform it through the corresponding API.

Once you have an API Key, follow these instructions to create an authorization header:

  1. Combine the user name and API Key into a single string with a colon separating the values. For example, if the user name is starterkit and the API Key is d703f52b-1200-4318-ae0d-0f6092b2e6ab, the concatenated string would be:
    starterkit:d703f52b-1200-4318-ae0d-0f6092b2e6ab

  2. Encode the concatenated string using Base64 (i.e. RFC2045-MIME):
    c3RhcnRlcmtpdDpkNzAzZjUyYi0xMjAwLTQzMTgtYWUwZC0wZjYw OTJiMmU2YWI=

  3. Set the Authorization header value to Basic followed the encoded string from step 2. Make sure there is a space between Basic and the encoded string:
    Basic c3RhcnRlcmtpdDpkNzAzZjUyYi0xMjAwLTQzMTgtYWUwZC0wZjYw OTJiMmU2YWI=

Resources

Control Center supports the following resources and their associated functions:

ResourceFunctions
Echo
  • Echo
Devices
  • Edit Device
  • Get Device Details
  • Get Device Usage
  • Search Device
Sessions
  • Get Session Details
SMS
  • Get SMS Details
  • Search SMS
  • Send SMS

Responses

When you make a REST API request, Control Center returns a JSON- formatted response. The documentation for each API function contains a sample JSON response for that function.

Pagination

For functions that typically return numerous records (such as Search Devices and Search SMS), the API provides pagination controls that allow you to process one set of results and then request more.

For example, the first API request would define the number of records to include in the response (pageSize=50) and ask for the first page of records (pageNumber=1). The response would send an array containing the first 50 records and then let you know if there are any more pages to return (lastPage=false).

The second request would define the page size again (pageSize=50) and ask for the second page of results (pageNumber=2). The second response would return the next 50 records and alert you if there were more records to retrieve (lastPage=false). This process would continue until one of the responses indicates that the current page is the last page of results (lastPage=true).

These request parameters manage the pagination process:

Request ParameterDescription
pageSizeSpecifies the number of records returned in each response page. The maximum value is 50. The value defaults to 50.
pageNumberSpecifies the number of the response page to return. This value defaults to 1.

These response values allow your code to process the returns properly:

Response ValueDescription
pageNumberAn integer specifying the number of the current response page.
lastPageA true or false value indicating whether the current response page is the last in the series.

Date/Time Formats

The REST APIs use the following date and time formats for requests and responses:

Use CaseFormat

Search Requests, for example:

  • Search Devices (modifiedSince)
  • Search SMS (fromDate)

yyyy-MM-ddTHH:mm:ssZ

Example: 2016-04-18T17:31:34+00:00

Edit Device Request

(effectiveDate)

yyyy-MM-ddZ
The default time zone is UTC

Example: 2016-04-18+05:00

Responses, for example:

  • Get Device Details (dateShipped)
  • Get Session Info (lastSessionEndTime)

yyyy-MM-dd HH:mm:ss.SSSZ

Example: 2016-05-27 07:00:00

Error Handling

If an error occurs, Control Center will return a JSON response containing an error code and an error message. The REST APIs use standard HTTP status codes as well as business-specific error messages. The documentation for each API function contains a list of the errors that may occur for that function.

SIM Status

Many API functions take the device SIM status as a parameter or return the information in the response.

Depending on the role you use in the API function, you may be able to set the following values:

  • ACTIVATED
  • ACTIVATION_READY
  • DEACTIVATED
  • INVENTORY
  • RETIRED

Validity Period

The Send SMS function uses a tpvp request parameter for time-sensitive messages. This value defines the length of time the message is available before expiring. The SMSC will attempt to deliver the SMS message to the mobile device within this validity period. If the message cannot be delivered to the device by the end of this period (because the device is off or out of coverage, for example), the message will be dropped.

For example, suppose you have an application that sends a Door Lock/Unlock command to a vehicle via SMS. If the car is out of coverage when the message is sent, you wouldn't necessarily want to deliver the message hours later when the car is back in coverage. In this scenario, you might choose to expire the message after a 5 minute validity period.

The tpvp parameter supports validity periods between 5 minutes and 63 weeks in length using the TP-VP relative format defined by the GSM 03.40 standards:

TPVP ValueValidity PeriodPossible Validity Periods

0-143

(TP-VP + 1) x 5 minutes

5, 10, 15 minutes ... 11:55, 12:00 hours

144-167

(12 + (TP-VP - 143) / 2 ) hours

12:30, 13:00, ... 23:30, 24:00 hours

168-196

(TP-VP - 166) days

2, 3, 4, ... 30 days

197-255

(TP-VP - 192) weeks

5, 6, 7, ... 63 weeks

In the Door Lock/Unlock example, if you pass a value of 0 for tpvp, the message would expire in 5 minutes: (0 + 1) x 5 = 5 minutes.

Echo Resource

Echo

Description

Simple API endpoint returning the value that was passed to it.

Resource URL

GET https://api-iotdevice.att.com/rws/api/echo/{param}

Devices Resource

Edit Device

Description

Modify device attributes such as SIM status, rate plan, communication plan, and custom fields for a specified device.

Please contact AT&T if you would like to try out the ability to edit the Rate Plan of a device via API. Your trial account comes pre-configured with a single Rate Plan. Also, the ability to edit the Communication Plan and overageLimitOverride for a device will be available to you once you upgrade to a commercial account.

Resource URL

PUT https://api-iotdevice.att.com/rws/api/v{apiVersion}/devices/{iccid}

Request Parameters

ParameterDescription
iccidThe ICCID of the device you want edit.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1.
At least one of the following parameters is required
statusThe device's SIM status.
ratePlanThe name of a rate plan.
communicationPlanThe name of a communication plan. Account and customer users may change this attribute only if they can change it in the web interface.
customerThe name of a customer. Customer users may not change this value.
deviceIDOptional identifier that an account or customer can give to a device.
modemIdA modem ID number.
overageLimitOverride

Determines the device behavior when it reaches the data limit defined in the rate plan. Valid values are:

  • DEFAULT. The device cannot exceed the data limit.
  • TEMPORARY_OVERRIDE. The device can use any amount of data until the end of the current billing cycle, at which point Control Center will begin enforcing the data limit set in the rate plan.
  • PERMANENT_OVERRIDE. The device can use any amount of data, regardless of the data limit defined in the rate plan.
operatorCustomField 1-5Custom device fields the operator has created in Control Center. Only operator users can modify these attributes.
accountCustomField 1-10Custom device fields the enterprise has created in Control Center. Only account users can modify these attributes.
customerCustomField 1-5Custom device fields the customer has created in Control Center. Only customer users can modify these attributes.

Response Parameters

Return ValueDescription
iccidA unique identifier for the device Control Center will update.
effectiveDateThe date in UTC when the change will take effect.

Request example

{curl -X PUT --header "Content-Type: application/json" --header "Accept: application/json" -d "{ "effectiveDate": "2016-06-01T17:41:26.490Z", "status": "DEACTIVATED" }" "https://api-iotdevice.att.com/rws/api/v1/devices/9088217871987000001"

Response example

For changes that are effective immediately, this function returns an HTTP status of 200. For changes that are scheduled in the future, the HTTP status code is 202.

{
  "iccid": "9088217871987000001",
  "effectiveDate": "2016-05-30 05:48:26.046-0700"
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000005400The SIM status is invalid.
10000008400Your role does not have permission to edit the operator custom fields.
10000009400Your role does not have permission to edit the account custom fields.
10000010400Your role does not have permission to edit the customer custom fields.
10000011400One or more required fields are missing.
10000012400The date format is invalid.
10000013400The rate plan is invalid.
10000014400The communication plan is invalid.
10000015400The customer is invalid.
10000016400The overageLimitOverride value is invalid.
10000023400The JSON in the request is not well formed. Please ensure that commas, colons, braces etc. are formatted properly.
10000024400The API version number is invalid.
20000001404The specified ICCID can't be found.
30000001500Unknown server error.

Get Device Details

Description

Returns detailed information about a specified device.

Resource URL

GET https://api-iotdevice.att.com/rws/api/v{apiVersion}/devices/{iccid}

Request Parameters

ParameterDescription
iccidThe ICCID of the device you want information about.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1.

Response Parameters

Return ValueDescription
iccidThe ICCID of the device.
imsiThe device IMSI.
msisdnThe device MSISDN or phone number.
imeiThe device IMEI.
statusThe device's SIM status.
ratePlanThe name of the rate plan associated with the device.
communicationPlanThe name of the communication plan associated with the device.
customerThe name of the customer (generally an enterprise or business unit), if any, associated with this device.
endConsumerIdThe ID of the person, if any, associated with this device.
dateActivatedThe date when the device was first activated. See Date Formats for more details.
dateUpdatedThe date when the last device information update occurred. See Date Formats for more details.
dateShippedThe date when the device SIM was transferred from the operator inventory into the enterprise account. See Date Formats for more details.
accountIdThe ID of the enterprise account associated with the device.
fixedIPAddressThe IP address associated with this device, if the communication plan associated with the device uses fixed IP addresses. If the communication plan uses dynamic IP addresses, this field will be null.
operatorCustomField 1-5Values for any custom device fields the operator has created in Control Center. This information is applicable to operator roles only.
accountCustomField 1-10Values for any custom device fields the enterprise has created in Control Center. This information is applicable to account roles only.
customerCustomField 1-5Values for any custom device fields the customer has created in Control Center. This information is applicable to customer roles only.
simNotesInformation the operator has added about the device.
deviceIDOptional identifier that an account or customer can give to a device.
modemIDIdentifies the modem used by the device to transmit data.
globalSIMTypeFor enterprises taking advantage of Control Center's Global SIM feature, this value indicates whether the device is using a primary SIM from the lead operator or a virtual subscription from a partner operator.

Request Example

curl -X GET --header "Accept: application/json" "https://api-iotdevice.att.com/rws/api/v1/devices/9088217871987000001"

Response Example

{
  "iccid": "9088217871987000001",
  "imsi": "902871987000001",
  "msisdn": "882351987000001",
  "imei": "",
  "status": "DEACTIVATED",
  "ratePlan": "AT&T Control Center Shared Rate Plan",
  "communicationPlan": "DP_CommPlan",
  "customer": null,
  "endConsumerId": null,
  "dateActivated": "2016-27-05 19:17:37",
  "dateAdded": "2015-09-12 02:52:06",
  "dateUpdated": "2016-27-05 23:00:33",
  "dateShipped": "2016-27-05 07:00:00",
  "accountId": "100052902",
  "fixedIPAddress": null,
  "accountCustom1": "",
  "accountCustom2": "",
  "accountCustom3": "",
  "accountCustom4": "",
  "accountCustom5": "",
  "accountCustom6": "",
  "accountCustom7": "",
  "accountCustom8": "",
  "accountCustom9": "",
  "accountCustom10": "",
  "simNotes": null,
  "deviceID": null,
  "modemID": "8888",
  "globalSimType": ""
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000024400The API version number is invalid.
20000001404The specified ICCID can't be found.
30000001500Unknown server error.

Get Device Usage

Description

Returns cycle-to-date usage information for a specified device.

Resource URL

GET https://api-iotdevice.att.com/rws/api/v{apiVersion}/devices/{iccid}/ctdUsages

Request Parameters

ParameterDescription
iccidThe ICCID of the device you want information about.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1.

Response Parameters

The function returns an array of devices with the information below. Records are sorted by modification date in ascending order with the oldest device change listed first.

Return ValueDescription
iccidThe ICCID of the device.
imsiThe device IMSI.
msisdnThe device MSISDN or phone number.
imeiThe device IMEI.
statusThe device's SIM status.
ratePlanThe name of the rate plan associated with the device.
communicationPlanThe name of the communication plan associated with the device.
ctdDataUsageThe amount of data used (in bytes) since the beginning of the billing cycle.
ctdSMSUsageA count of the mobile-originated and mobile- terminated messages since the beginning of the billing cycle.
ctdVoiceUsageThe number of voice seconds used since the beginning of the billing cycle.
ctdSessionCountThe number of data sessions since the beginning of the billing cycle.
overageLimitReachedA true/false value indicating whether the device has reached the data limit set in the rate plan.
overageLimitOverride

Determines the device behavior when it reaches the data limit defined in the rate plan. Valid values are:

  • DEFAULT. The device cannot exceed the data limit.
  • TEMPORARY_OVERRIDE. The device can use any amount of data until the end of the current billing cycle, at which point Control Center will begin enforcing the data limit set in the rate plan.
  • PERMANENT_OVERRIDE. The device can use any amount of data, regardless of the data limit defined in the rate plan.

Request Example

curl -X GET --header "Accept: application/json" "https://api-iotdevice.att.com/rws/api/v1/devices/9088217871987000001/ctdUsages"

Response Example

{
  "id": "9088217871987000001",
  "imsi": "902871987000001",
  "msisdn": "882351987000001",
  "imei": "",
  "status": "DEACTIVATED",
  "ratePlan": "AT&T Control Center Shared Rate Plan",
  "communicationPlan": "DP_CommPlan",
  "ctdDataUsage": 0,
  "ctdSMSUsage": 0,
  "ctdVoiceUsage": 0,
  "ctdSessionCount": null,
  "overageLimitReached": false,
  "overageLimitOverride": "DEFAULT"
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000024400The API version number is invalid.
20000001404The specified ICCID can't be found.
30000001500Unknown server error.

Search Device

Description

For a given enterprise account, returns a list of devices that have changed since a specified date. You can filter the list by SIM status.

Resource URL

GET https://api-iotdevice.att.com/rws/api/v{apiVersion}/devices

Request Parameters

ParameterDescription
accountIDUnique identifier for the account that owns the devices you're searching for.
modifiedSinceA date and time using the ISO 8601 format. The function will return any devices that have been modified since this time.
status(Optional) A SIM status value. The function will return only devices with this status.
pageSize(Optional) Specifies the number of records returned in each response page. The maximum value is 50. The value defaults to 50.
pageNumber(Optional) Specifies the number of response pages to return. This value defaults to 1.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1.

Response Parameters

The function returns an array of devices with the information below. Records are sorted by modification date in ascending order with the oldest device change listed first.

Return ValueDescription
iccidThe ICCID of the device.
statusThe device's SIM status.
ratePlanThe name of the rate plan associated with the device.
communicationPlanThe name of the communication plan associated with the device.
pageNumberAn integer specifying the number of the current response page.
lastPageA true or false value indicating whether the current response page is the last in the series.

Request example

curl -X GET --header "Accept: application/json" "https://api-iotdevice.att.com/rws/api/v1/devices?accountId=100052902&modifiedS ince=2016-04- 18T17%3A31%3A34%2B00%3A00&pageSize=50&pageNumber=1"

Response example

{
"pageNumber": 1,
"devices": [
  {
    "iccid": "9088217871987000002", "status": "TEST_READY",
    "ratePlan": "AT&T Control Center Shared Rate Plan", "communicationPlan": "DP_CommPlan",
  }
],
"lastPage": true
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000002400The Account ID is missing.
10000003400The date/time is missing.
10000004400The Account ID is invalid.
10000005400The SIM status is invalid.
10000006400The page size is invalid.
10000007400The page number is invalid.
10000012400The date format is invalid.
10000024400The API version number is invalid.
30000001500Unknown server error.

Sessions Resource

Get Session Details

Description

Returns information about the current or most recent data session for a given device.

Resource URL

GET https://api-iotdevice.att.com/rws/api/v{apiVersion}/devices/ {iccid}/sessionInfo

Request Parameters

ParameterDescription
iccidThe ICCID of the device you want information about.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1.

Response Parameters

The function returns an array of devices with the information below. Records are sorted by modification date in ascending order with the oldest device change listed first.

Return ValueDescription
iccidThe ICCID of the device.
lastSessionStartTimeThe time when the current or most recent data session began.
lastSessionEndTimeThe time when the most recent data session ended. For a current data session, this field is null.
ipAddressThe IP address used by the device during the current or most recent session.

Request Example

curl -X GET --header "Accept: application/json" "https://api-iotdevice.att.com/rws/api/v1/devices/9088217871987000001/sessionInfo"

Response Example

{
  "iccid": "9088217871987000001",
  "ipAddress": null,
  "dateSessionStarted": null,
  "dateSessionEnded": null
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000024400The API version number is invalid.
20000001404The specified ICCID can't be found.
30000001500Unknown server error.

SMS Resource

Get SMS Details

Description

Returns detailed information about a particular SMS message.

Resource URL

GET https://api-iotdevice.att.com/rws/api/v{apiVersion}/smsMessages/{smsMsgId}

Request Parameters

ParameterDescription
smsMsgIdA unique identifier for the SMS message you want to retrieve.
messageEncoding(Optional) The type of message encoding used. Valid values are: LITERAL (default) or BASE64.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1

Response Parameters

Return ValueDescription
smsMsgIdA unique identifier for the SMS message.
status

The message delivery status. Valid values depend on the message type.

  • MO: Received
  • MT: Cancelled, CancelFailed, CancelPending, Delivered, Pending, Failed, Unknown.
messageTextThe content of the SMS message.
senderLoginIdentifies the message sender. For mobile-originated messages, this value is Mobile Device. For mobile- terminated messages, the value is the Control Center user name.
sentToIdentifies the recipient of the message. If the recipient is Control Center, the value is Server. Otherwise, the recipient device’s MSISDN, the equivalent of a phone number, appears.
sentFromIdentifies the device or computer that sent the message. If the sender is Control Center, the value is Server. Otherwise, the sending device’s MSISDN, the equivalent of a phone number, appears.
msgTypeMessage Type indicates whether the message was sent by the device (MO, mobile-originated) or received by the device (MT, mobile-terminated).
dateSentThe date and time (including the time zone) when the message was sent. See Date Formats.
dateReceivedThe date and time (including the time zone) when Control Center received the message. See Date Formats.
dateModifiedThe date and time (including the time zone) when the delivery status changed. See Date Formats.

Request Example

curl -X GET --header "Accept: application/json" "https://api-iotdevice.att.com/rws/api/v1/smsMessages/82109"

Response Example

{
  "smsMsgId": 82109,
  "status": "Failed",
  "messageText": "hello",
  "senderLogin": "dpTrialUser2",
  "iccid": "9088217871987000001",
  "sentTo": "882351987000001",
  "sentFrom": "Server",
  "msgType": "MT",
  "dateSent": "2016-05-27 16:11:14.455-0700", "dateModified": "2016-05-30 05:48:26.046-0700"
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000017400The messageEncoding is invalid.
10000024400The API version number is invalid.
20000001404The specified ICCID can't be found.
30000001500Unknown server error.

Search SMS

Description

Returns a list of SMS message IDs associated with a particular account during a specified time period. Optionally, you can restrict the search by a specific device as well.

Resource URL

GET https://api-iotdevice.att.com/rws/api/v{apiVersion}/devices

Request Parameters

ParameterDescription
accountIDUnique identifier for the account associated with the messages you want to retrieve.
iccid(Optional) Restricts the list of returned messages to just those messages sent or received by a particular device. This device must be owned by the specified account.
fromDateA date and time using the ISO 8601 format (see Date Formats). The function returns any messages that were sent or received on or after this date.
toDate(Optional) A date and time using the ISO 8601 format (see Date Formats). Use this parameter to specify a particular period of time for the messages. If you do not specify a toDate, Control Center returns all messages up to the current date and time.
pageSize(Optional) Specifies the number of records returned in each response page. The maximum value is 50. The value defaults to 50.
pageNumber(Optional) Specifies the number of response pages to return. This value defaults to 1.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1

Response Parameters

The function returns an array of SMS message IDs. Records are sorted by modification date in ascending order with the oldest message listed first.

Return ValueDescription
smsMsgIdsAn array of message identifiers. You must use the Get SMS Details API to retrieve the content of each message.
pageNumberAn integer specifying the number of the current page.
lastPageA true or false value indicating whether the current page is the last in the series.

Request Example

curl -X GET --header "Accept: application/json" "https://api-iotdevice.att.com/rws/api/v1/smsMessages?accountId=100052902&iccid=9088217871987000001&fromDate=2016-04-18T17%3A31%3A34%2B00%3A00&pageSize=50&pageNumber=1"

Response Example

{
  "smsMsgIds": [
    82109
  ],
  "pageNumber": 1,
  "lastPage": true
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000002400The Account ID is missing.
10000004400The Account ID is invalid.
10000006400The page size is invalid.
10000007400The page number is invalid.
10000012400The date format is invalid.
10000021400The ICCID is invalid.
10000022400The fromDate is missing.
10000024400The API version number is invalid.
30000001500Unknown server error.

Send SMS

Description

Sends an SMS message to a given device or short code.

You could use this API to send an SMS to your starter kit device. This API is not intended for purposes of sending messages to external consumer devices.

Resource URL

POST https://api-iotdevice.att.com/rws/api/v{apiVersion}/smsMessages

Request Parameters

ParameterDescription
iccidThe ICCID of the device you want information about.
apiVersionThe version of the REST APIs you want to use. This value defaults to 1.
messageText

The SMS message text. The maximum length of the message depends on the data coding type (see dataCoding).

  • 0 - 160 characters
  • 1 - 160 characters
  • 3 - 160 characters
  • 4 - 140 characters
  • 8 - 70 characters
messageEncoding(Optional) The type of message encoding used. Valid values are: LITERAL (default) or BASE64.
dataCoding

(Optional) The type of data encoding used.

  • 0 - SMSC default alphabet; often GSM encoding
  • 1 - IA5/ASCII, but sometimes GSM encoding, depending on the SMSC implementation
  • 3 - Latin 1 (ISO-8859-1)
  • 4-BinarySMS
  • 8 - Unicode UCS2
tpvp(Optional) The length of time the message is available before expiring. For more information about setting this value, see Validity Period.

Response Parameters

Return ValueDescription
smsMsgIdA unique identifier for the SMS message. You can use this ID to get details about a particular message with the Get SMS Details API.

Request Example

curl -X POST --header "Content-Type: application/json" --header "Accept: application/json" -d "{ "messageText": "Hello world" }" "https://api-iotdevice.att.com/rws/api/v1/devices/9088217871987000001/smsMessages"

Response Example

{
  "smsMsgId": 82265
}

Errors

Error CodeHTTP CodeDescription
10000001401The API credentials are invalid.
10000017400The messageEncoding is invalid.
10000018400The dataCoding is invalid.
10000019400The validityPeriod is invalid.
10000020400The message contains too many characters.
10000024400The API version number is invalid.
20000001404The specified ICCID can't be found.
30000001500Unknown server error.
30000002500Control Center failed to submit the message to the SMSC.