Cellular data services (CDS) status object
For each logical connection, CDSC publishes an attribute that provides the current state of the connection and the radio. The attribute name is the logical connection name, and the value is a JSON string comprising several fields that describe the state of the connection. Some fields may not be present, depending on the current state. For example, if enabled is false, then no other fields will be present. The fields are listed in the following table:
Field | Data type | Description |
---|---|---|
enabled | Boolean | Indicates whether the connection is configured for the carrier configuration and current radio state (always published). If true, a connection request can be made to the network. A value of false indicates the connection is not configured (essentially doesn't exist). For a given carrier, a connection could be configured (exist) for one RAT, e.g., LTE, but not for other RATs, e.g., 1X/EVDO. For another carrier a connection may not be configured for any RAT, i.e., is never supported by that carrier. Note that this attribute only reflects the known network "design" for the carrier and does not reflect transient refusals such as authorization failures or no bandwidth for pay as you go accounts. These types of transient refusals are reflected in the connection error codes in the status object. |
always_on | Boolean | Indicates whether a connection is considered "always on". Always published. If true, the CDSC component will attempt to activate this connection as part of its default connection manager logic (upon the appropriate radio and SIM events). |
access_controlled | Boolean | Indicates whether access to a connection is controlled. Always published. If access is controlled then only system processes and applications granted the appropriate connection capability can access the connection's control object to make connect and disconnect requests. Furthermore, the network interface(s) for the connection have packet filters installed to allow traffic only from such authorized processes and applications. |
zero_rated | Boolean | Indicates whether the connection is zero-rated (no customer charge) for the current configuration. Always published. Note that a carrier may have a connection as zero-rated for one RAT, e.g., LTE, but might decide to apply charges in a different RAT, e.g., 3G. |
active | Boolean | Indicates whether a connection request has been made. Always published. If true, the connection state of the service can be pending_connect or connected. |
connected | Boolean | Indicates whether the connection is active. Published only when true. If true, applications with the appropriate capabilities can route traffic over the connection through the published network interface(s). |
on_hold | Boolean | Published only if active is true and the connection request has failed (is being retried). |
bid | Integer array | Optional. Lists ID numbers of the underlying network bearers linked to this connection. |
net_if | String | The name of the network interface that is routing traffic for this connection. Published only if connected is true). This is the value used by applications to bind sockets to the specific connection as well as to get the IP information about the connection from NET_PPS. |
apn | String | The access point name (APN) used to establish this connection. Published only if connected is true. |
deactivate_reason | Number | Indicates the reason a connection isn't active (has been torn down). Published only if active is false.
The supported reason codes are:
|
This attribute indicates current data service's overall status. It can be one of the following values:
This attribute indicates the current data roaming state. It can be one of the following values:
This attribute indicates whetherdata roaming has been explicitly enabled via the control message enable_data_roaming (see /pps/services/cds/cnice/control). It can be one of the following values:
carrier_admin:json: { "enabled":true, "always_on":false, "access_controlled":true, "zero_rated":true, "connected":true, "net_if":"msm4", }
internet:json: { "enabled":true, "always_on":true, "access_controlled":false, "zero_rated":false, "connected":true, "net_if":"msm0", }
carrier_apps:json: { "enabled":true, "always_on":false, "access_controlled":true, "zero_rated":true, "active":true, "bid":[6], "connected":false, "on_hold":true }