What’s here?The AerAdmin Web Service interface is used to provision, activate, and manage devices. This page describes the Simple Object Access Protocol (SOAP) and extensible Markup Language (XML) formats used to provision and manage the billing options for your application devices in the field.
The WSDL FileAerAdmin follows the SOAP and XML protocol standards, available at the World Wide Web Consortium (W3C) web site http://www.w3c.org. A Web Services Definition Language (WSDL) file defines the interface between the AerAdmin system and your client processes. The WSDL file can be extracted from the AerAdmin servers using the URLs listed in Table 1 below.
Test server to production serverThe Test AerAdmin server is available after you’ve completed development, internal testing, and you’re ready for Aeris Qualification. The Production AerAdmin servers are only available to customers with Aeris Qualified Client process implementations.
AerAdmin supports all BULK device operations as asynchronous. When a device is processed, the service pushes a send response to the requester. To make this call-back service work, Aeris provides an asynchronous service definition which you need to host at your end. The URL for this Async service is provided in the “CallBackURL” field in all AerAdmin BulkOperations. The WSDL file for this Async service can be extracted from the Aeris servers using the URLs listed in Table 2 below.
IP ConnectionThe IP addresses and the secure/non-secure ports for the test and production servers are shown in Table 1 below. Access to the AerAdmin servers is restricted to Customers using Static IP addresses, a Virtual Private Network (“VPN”) connection , or over Leased Lines. Information on these options is available at the Aeris web site (see http://www.aeris.net for more information). [table id=15 /] [table id=16 /]
Two-way connectivity requiredTwo-way connectivity with Aeris networks is required. A ping operation is supplied with this Async WSDL to diagnose connectivity. Once you host this service, the callback URL can be shared and Aeris can attempt a “ping” operation to validate connectivity.
Device StatesFigure 1, “Device Management State Diagram,” shows the states that a Device has in the AerAdmin system. This state diagram also illustrates a few of the operations that affect a Device state—these requests are detailed later on this page. Each Device has associated properties. Some requests change the state from one to another (for example, an ActivateRequest moves a Device from Initial to Active-Billed); other requests change the property of a Device within that state (for example, an ChangeRatePlanRequest modifies the Rate Plan for a Device).
State DescriptionThe Initial state is where each Device starts, before being enabled for service on the Aeris network. In this state, the Device is completely unknown to the AerAdmin, AerBill and Aer Frame systems. The Device cannot operate in the Aeris network, does not have Device Identifiers, cannot be billed for services, and cannot be reached through Aeris Network Services.
From the Cancelled state, a Device can move to:
- the Provisioned state, using an ReprovisionRequest
- the Provisioned state, using an ProvisionRequest
- the Active Billed state, using an ActivateRequest
State DescriptionIn the Provision state, the Device is capable of operating in the network and can transmit and receive data, but it is not expected to provide you with active service or revenue. The Device does have a Rate Plan assigned to it, but is not being actively billed by Aeris or generating revenue for you. However, you do incur transmission costs for services, using the assigned Rate Plan that is charged if it is used in the Aeris network prior to being activated (i.e. in the Active Billed state).
Move from Provision to Active BilledA Device in the Provision state may be automatically moved to the Active Billed state.
If the Device in the Provision state exceeds certain parameters (such as the number of MicroBurst or SMS packets transceived, or IP data bytes transmitted, or the Device has been in the Provision state for more than a number of billing periods), it is automatically moved to the Active Billed state by the AerBill system.Essentially, in the Provision state, the Device is known to, and can operate in, the AerFrame systems, but is not yet in an Active Billed state.
State MovesFrom the Provision state, a Device can move to:
- the Active Billed state, using a StartBillingRequest.
- the Active Billed state, automatically on certain parameters being exceeded.
- the Cancelled state, using a CancelRequest.
Active Billed State
State DescriptionIn the Active Billed state, the Device is active and operating in the network as expected, delivering service and generating revenue.
Active Billed Means Generating RevenueThis is the normal operational state for deployed Devices that are generating revenue for you and for Aeris.
The Active Billed Device has a Rate Plan assigned to it, and the AerBill system is generating detailed billing records from the data messages being transceived by the Device. At the end of each billing period, the AerBill system generates an invoice to you, using the pricing arrangements contracted under your Pricing Attachment.
Active Devices and Their IdentifiersYou must record and maintain knowledge of the association between the ESN, MEID, and all Device Identifiers (IMSI, MDN, MIN, etc.) and information of active Devices.
This association is necessary to provide service to the Device and the Aeris Customer databases must be updated, as needed, when the information is changed.Essentially, the Device is known to, and operating normally in, the AerFrame network.
From the Active Billed state, a Device can move to:
- the Suspended state, using an SuspendRequest.
- the Cancelled state, using an CancelRequest.
State DescriptionIn the Suspended state, the Device is capable of operating on the network and can transmit and receive data, but it is not expected to provide active service to, or generate revenue for, the Customer. The Device has a Rate Plan assigned to it (from its presence in the previous Active Billed state), but it is not being billed by Aeris or actively generating revenue. While in the Suspended state, the Device retains its Device Identifiers.
Automatic move to Active BilledA Device in the Suspended state may automatically be moved to the Active Billed state.
If the Device in the Suspended state transmits any data during a billing period, it is automatically moved back into the Active Billed state, and the Device bill is calculated for that entire billing period.You can also move the Device from the Suspended state to the Active Billed state by using an UnsuspendRequest or cancel the Device (i.e., move to the Cancelled state) using an CancelRequest. While a Device is in a Suspended state, you may change the Rate Plan of the Device and also query/update the information associated with the Device. These operations do not place the Device back into the Active Billed state; you must explicitly use the Unsuspend operation for this purpose.
From the Suspended state, a Device can move to:
- the Active Billed state, using an UnsuspendRequest.
- the Active Billed state, automatically on certain parameters being exceeded.
- the Cancelled state, using an CancelRequest.
Single And Bulk Device State MovesIn these state descriptions, a Device can be moved from one state to another using both the single Device operations (as shown in the sections on “State Moves” above) and the bulk Device operations that can operate on more than one Device at a time, for the same functionality as above. For example, ProvisionRequest and BulkProvisionRequest provide the single and bulk Device functionality. However, the responses from these Bulk operations may be different in their structure from the single Device operations, since more than one Device can be modified in the bulk operations.
Elements topThe elements in the following table are listed alphabetically. Whether an element is Mandatory or Optional depends on the AerAdmin operation, which is described under “Request/Response Descriptions.” [table id=17 /]
Custom FieldsThe five elements <CustomField1>, <CustomField2>, <CustomField3>, <CustomField4> and <CustomField5> are fields that you can use to store and retrieve information in the AerAdmin databases. Aeris does not use or process these fields for any purpose other than to store and retrieve them on your behalf. These fields are optional and, if used, must only contain printable ASCII characters—i.e., each byte of the string must range between 0x20 and 0x7E (inclusive). In general, specifying an empty string “”, or the value NULL, clears the AerAdmin database for that field.
Field length > 64 bytes is truncatedEach of these fields can be up to 64 bytes in length. If the string value sent in these elements is longer than 64 bytes, it is truncated to 64 bytes without notice or warning.
Fixed ApplicationsWhen troubleshooting Devices, it is often important to know the exact physical location of the unit particularly for Devices that may not have Global Positioning System (“GPS”) capability, or other location determination mechanisms.
Record current locationRecording the Current Location information for Fixed Devices is strongly recommended.
For Fixed Applications you should provide (or update the AerAdmin servers after actual installation is complete) the physical location of the Device in <CurrentLocation>. This enables Aeris to assist you in troubleshooting problems with the Device at the specific location where the Device is installed.
Mobile ApplicationsFor Mobile Applications you should provide the physical location where the installation was completed, or the physical location of the end-user address (clearly, the Device may move, and this initial location information in the AerAdmin system for mobile Devices can become inaccurate fairly quickly). As an alternative, it is recommended that you provide the physical location of your, or your end-user’s, office address, in this field. For Mobile Applications, you may also choose to leave this field empty.
Current Location FormatThe <CurrentLocation> must be formatted as a 25-byte ASCII string: “HtT1T2.T3T4T5T6T7HnN1N2N3.N4N5N6N7N8SzZ1Z2Z3Z4Z5” where: HtT1 – T7 : Latitude of the Current Location. This is transmitted in ASCII, in decimal notation, using the format ±T1T2.T3T4T5T6T7 (including the byte containing the period ‘.’ between T2 and T3). Byte Ht represents the hemisphere (‘+’ for North or ‘-’ for South) of the latitude. HnN1 – N8 : Longitude of the Current Location. This is transmitted in ASCII, in decimal notation using the format ±N1N2N3.N4N5N6N7N8 (including the byte containing the period ‘.’ between N3 and N4). Byte Hn represents the hemisphere (‘-’ for West or ‘+’ for East) of the longitude. HnN1 – N8 : SzZ1 – Z5 : Sign and elevation of the Current Location in meters. This is transmitted in ASCII, in decimal notation using the format Z1Z2Z3Z4Z5. There is no decimal period since the resolution of the format is 1 meter i.e., the elevation is Z1Z2Z3Z4Z5 meters. Byte Sz represents whether the location height is above (‘+’) or below (‘-’) sea level. For example, Aeris’ offices are located at 37° 22’ 15.55” N, 121° 55’ 31.28” W, at an elevation of 31 meters above sea level. This is a physical location of +37.370986, -121.925356 in decimal notation5 and an elevation of +00031.
TechnologyIn certain query operations, the request requires the technology for which the information is desired. This is specified in <Technology>. The following table displays allowable values for this field: [table id=18 /]
Device Identifier TypeThe Device Identifier(s) in <DeviceID> must be clarified with the type of identifier being provided. This type is selected from the possible values shown in the following table.
Identifiers based on request typeThe type of identifiers allowed in depends on the specific request.
Not all values of can be used with every request, since the value(s) in <DeviceID> may not be possible in the current state of the Devices. For example, specifying a type of “IMSI”, “MDN”, or “MIN” (and providing the IMSI, MDN or MIN in <DeviceID>) when requesting a Module to be provisioned using ProvisionRequest is not possible since the Module does not yet have an IMSI or MIN assigned to it!Thus, you must make sure to provide the correct Device Identifiers and correct Device Identifier Type for the request. [table id=19 /]
Device IdentifiersIn the requests, the formats allow one of several possible values to specify the Device or Devices.
Single device requestsFor single Device requests one, and only one, of the values must be provided to ensure that the correct Device is specified.
Since only one of any value is provided to ensure that the correct Device is specified, this is in <DeviceID>, and the type of information is in <DeviceIDType>, as shown in section 4.5 “Device Identifier Type”.For the bulk requests, more than one Device can be provided in <DeviceIDList>, but they must all be of the same type specifically, as specified in <DeviceIDType>.
‘Cancel’ changes some identifiersAfter a Device is cancelled, it cannot be accessed in the AerAdmin system by its pre-cancellation MIN, MDN or IMSI after a retention period has elapsed.
Once a Device is cancelled, and stays cancelled for the retention period, the Device Identifiers of that Device are returned to the number pools for re-assignment to other Devices. Thus, to query for the history of a cancelled Device, you must use its ESN or its MEID. Regardless, the returned Device history contains information on pre-cancellation Device Identifiers that were used for the Device, even though they may now be assigned to other Customers or other Devices.
Your responibilities regarding a cancelled deviceIt is your explicit responsibility to ensure that cancelled Devices do not power up on the Aeris network with old Device Identifier values still intact within the Radio Modules contained inside the Devices.
This requirement is vital, since the old Devices may interfere with the operation of new Devices, even though they will be denied service and network access, by the Aeris systems.
Use Of Pseudo-ESN (“pESN”) In <ESN> Is Not AllowedA radio that uses an MEID does not contain a True ESN (“tESN”). Rather, the radio calculates (using a hashing algorithm) a Pseudo ESN (“pESN”) from the MEID for use with network elements and transmissions formats that need an “ESN” in any field. Since the pESN is a 32 bit number calculated from a 56 bit MEID, it is quite possible to get pESN “collisions” where more than one Device, with different MEID values, can have the same pESN. The 8-bit Manufacturer field of a pESN is always 0x80 (decimal 128).
Radio module that use MEIDFor Devices with Radio Modules that use MEID, you must use the <MEID>.
Request Date and Time
Coordinated Universal Time (UTC)
Timestamps reflect UTCThe dates of all requests and responses are referenced to UTC.
The AerAdmin system performs requests as received from your client process. Depending on the request, the time of execution is reported in <UTCTime>. These times are always specified as an absolute time in UTC, without any compensation for local time adjustments (such as Daylight Savings Time, etc.).
UTC not equal to GPS timeUTC is not the same as Global Positioning System (“GPS”) Time.
Effective Dates and Times for Requests
Request time granularityIf the granularity of a particular request result is 1 day, the execution of that request effectively occurs at 00:00:00Z (i.e. the start of the day in UTC) on that date.
For example, a Device cancellation sent at 12:00:00Z on a particular day is recorded as occurring at 00:00:00Z that same day, at an effective earlier time. This allows you to receive the appropriate reduced proration for that billing period.However, during the billing calculations at the end of the billing period, traffic sent earlier than 12:00:00Z, on that same day (for example, at 09:00:00Z), may cause the Device to be automatically re-activated if the transmission exceeds contracted data thresholds, even though the Device cancellation request was actually sent after the traffic transmission time. You must understand this effective date and time granularity and the potential effect on monthly bills accordingly, and/or ensure that the cancellation occurs on a day when no traffic has occurred.
Request IdentificationYour client process can send its own Request Identification in <RequestID>. This is often an integer value you specify, but it can be any string that serves the purpose of identification.
Request ID storageThe value in <RequestID> is never stored in the AerAdmin system. If provided in a request, it is simply copied to (i.e., “reflected” in) the response for the request in which it is sent. It is never stored in the AerAdmin system. The AerAdmin system does not check for uniqueness or validity in the Request Identification value. It is always your responsibility to assure uniqueness as required.
<RequestID> is recommendedUse of <RequestID> is strongly recommended, to correlate requests and responses.
Since requests can be transmitted without any need to wait for a response to the request before sending the next request, using this element to correlate the requests and the responses is strongly recommended even for Heartbeats requests to ensure that the action is complete.
Maximum ID lengthThe length of the Request Identifier should be limited to a maximum of 60 characters. Although longer lengths can be sent, this is not recommended as it may hurt throughput and performance unnecessarily.
Service NameWhen required, your client process must specify a valid Service Name for the Device in <ServiceName>. This Service Name must be valid for your Account ID, sent in <AccountID>. You cannot specify a Service Name that is associated with another customer’s Account ID. If you do not know your assigned Service Names, you can use GetServiceName to retrieve the one, or more, Service Names assigned to you. If more than one Service Name is returned by this operation, you must select the correct one for use in <ServiceName>.
Incorrect Service NameIf you provide an incorrect Service Name, the request fails with an error message. Please see the “Device Service Name” section for additional information.
Device Service NameThe responses from the AerAdmin system to queries and updates, also provide the Service Name associated with the Device in , for operation on the Aeris network. This value may be different from the Service Name in the requests to the AerAdmin system, particularly if you have more than one Service Name assigned.
Device StatusThe status of the Device is returned in <DeviceStatus> in responses to certain requests. This following table lists current return values: [table id=20 /]
Radio and Device
- A “Device” is the complete remote unit deployed in the network (sometimes also called a Modem or a Terminal Device).
- A “Radio” or “Module” is the cellular radio module inside a Device.
Other Components and VersionsIn addition to the Radio, the Device generally also contains processors, memory, firmware, circuit boards, I/O connectors, sensors, power-supply, antennas, case, etc. The Device can have firmware and hardware versions. These are separately identified in the elements used for AerAdmin operations: <Device>, <softwareVersion>.
Pool NamesPool Name refers to the name assigned to Rate Plan Pools. Accounts have Rate Plans and Rate Plan Pools defined. Rate Plan associated with an account can be pooled together. Aeris provides two types of pooling. In-Plan Pooling – This pooling option is available to customers with one rate across multiple devices. For example, if a customer has 2 devices each with a 5MB plan, there will be no overage charge if one device uses 7MB and the other device uses 2MB, since the total is less than the combined 10MB pool.
Cross-Plan Pooling – This option is available to customers with different rates over multiple devices. For example, if a customer has 1 device with a 10MB plan and another device with a 5MB plan, there will be no overage charge if 1 device uses 13MB and the other device uses 1MB, since the total is less than the combined 15MB pool.
Report GroupsEach Device can be optionally placed into a Report Group, specified in <ReportGroup> as an unsigned 32 bit integer, i.e., a value from 0 to 4,294,967,295, inclusive. This has no effect on the transport of data to and from the Device, and is only used for creating summary reports (such as billing subtotals) grouped by Devices within each Report Group.
Report Group usageThe Report Group to which a Device belongs is only used at the end of the billing period and when generating reports from the AerTraffic system (note: the AerTraffic system is different from the AerAdmin system described here).
Since the billing reports are generated at the end of the billing period, Report Groups are used at that time to generate the summary reports and bills by the AerBill system, and for intermediate reports (i.e., not just at the end of the billing period from the AerTraffic system).Thus, even though you can move Devices from one Report Group to another at any time during the billing period, only the Report Group assigned at the end of the billing period, or at the moment when an AerTraffic report is generated, is relevant for a Device. There is no “proration” of a Device presence within a Report Group during the billing period. Using Report Groups is optional. If a value is not specified in <ReportGroup>, a default integer value of 0 (zero) is used for the Device, and summary reports thus include all Devices associated with the entire Account. The value in <ReportGroup> is an unsigned 32-bit integer you select (even though it is sent in xsd:string format). It is strongly recommended that only a small number of Report Groups be used, since each grouping creates a separate summary for the reports that are generated. The AerAdmin system currently allows up to 256 Report Groups per Customer. You must understand and distinguish the value of a Report Group, ranging from 0 to over 4 billion, from the number or count of Report Groups that may be in use, up to 256 groups.
Report records limitThe AerTraffic system has a 10,000 record limit on reports.
Therefore, when the number of Devices in a given application is expected to exceed 10,000, using Report Groups from the first operation submitted to the AerAdmin system is strongly recommended.You systems must keep track of the Report Group to which a Device belongs and which Report Group values are used by your systems.
Report group scopeA Report Group can only be used for summaries within each Account. Each Account can have multiple Report Groups to which the Devices of that Account can be assigned, and these report Group values (and subsequent summaries) are separate and independent from similar values in other Accounts. This independence applies even when you have multiple Accounts with Aeris (each Account has separate, independent Report Groups).
Private Static IP AddressesWith prior agreement by Aeris, you can request a Private Static IP address for a Device in <ReqStaticIP> when provisioning or activating the Device, using an ProvisionRequest or ActivateRequest. If the prior agreement does not exist, a request for a Private Static IP address is rejected with an error message. In addition, an existing Device without a Private Static IP address can be assigned one using an AssignStaticIPRequest operation (again with a prior agreement with Aeris). The number of available Private Static IP addresses is limited.
Dynamic or static IP?Aeris strongly recommends using Dynamic IP addresses.
Dynamic IP addresses (the default) provide far more flexibility for your applications and address assignments particularly if it is a Mobile Application that moves to different locations (i.e., operating on different carriers) as part of the normal operation of the Application behavior. Thus, you should only use Private Static IP addresses if the Device is in a fixed location, and only if the Application requires this feature.
Aeris SKU Radio Modules
Aeris SKU radio modulesIf the Radio is an Aeris SKU Radio Module, the Profile parameter values are not returned. In various request responses values for <Profile0_*>, <Profile1_*> and the <AuthenticationKey> elements are not returned for Aeris SKU Radio Modules, since these are pre-programmed by the Radio Module Manufacturer. If these values are returned by the AerAdmin system, you must verify — and, if necessary, set or program — these parameter values into the Modules using the commands and tools provided by the Radio Module Manufacturer for this purpose.
AerAdmin Operations top
IntroductionThe AerAdmin system enables your client processes to use various operations to manage your Devices.
AerAdmin Single and Bulk OperationsYour client process submits a request to the AerAdmin system for a particular Device. The AerAdmin system returns a response, identifying if the request was processed successfully (or not) and other information relevant to the request result. Some of the APIs return the subset of attributes contained in the response object. For such APIs, the attributes that are returned are marked with an *. For example, your client process submits a request to change the Rate Plan for a Device. The AerAdmin system returns a response that confirms that the Rate Plan has been changed for that Device (if successful) or not (if unsuccessful). All the device state change operations now return a unique transaction ID which is used for further references for the device state change operation been done. All the services are either Asynchronous or Synchronous in nature. All the bulk operations are asynchronous in nature and uses the to return the asynchronous responses. The following table shows the operations for single and bulk devices grouped by the Service types and Request/Responses are further detailed in section 6. “Request/Response Descriptions.” Device Attribute Services [table id=21 /]
State Change Services[table id=22 /]
Monitoring Services[table id=23 /]
Device Query Services[table id=24 /]
Request/Response Descriptions top
This section describes the operations and the elements used in the requests and responses.Complete documentation on request response elements can be viewed at AAA50-XSD_Documentation.
Request Response ObjectsThe following tables describe the Request, Response objects for all the operations currently supported by AerAdmin. Device Attribute Services [table id=25 /] Learn more about Device Attribute Services request response elements or the Device Attribute Service XSD.
State Change Services[table id=26 /] Learn more about State Change Services request response elements or the Device State Service XSD. [table id=27 /] Learn more about Monitoring Services request response elements or the Device Monitor Service XSD.
Query Services[table id=28 /] Learn more about Query Services request response elements or the Device Query Service XSD.