Cell ID Status: updateGsm

Requires authorization.

Updates the cell status for an GSM network. Call this method to set a cell state attribute for a period of time. See an example.

Request

HTTP request

PUT https://www.googleapis.com/ispportal/v0/congestion/gsm

Authorization

This request requires authorization with the following scope.

Scope
https://www.googleapis.com/auth/isp_portal

Request body

In the request body, supply data with the following structure:

{
  "network": {
    "countryCode": integer,
    "networkCode": integer,
    "locationAreaCode": integer,
    "cellId": integer
  },
  "state": {
    "attributeStates": [
      {
        "attribute": {
          "congestion": {
            "level": integer
          },
          "offpeak": {
            "enabled": boolean,
            "maxUe": integer
          }
        },
        "expiresAt": long
      }
    ]
  }
}
Property name Value Description Notes
network nested object Network details identifying the updated cell.
network.countryCode integer The GSM mobile country code (MCC).
network.networkCode integer The GSM mobile network code (MNC).
network.locationAreaCode integer The GSM location area code (LAC).
network.cellId integer The GSM cell ID (CID).
state nested object Attributes describing the cell state. When the updateLte method is called, a network state attribute is set until the expiresAt timestamp is passed.
state.attributeStates[] list List of network state attributes and their expiration time.
state.attributeStates[].attribute nested object Arbitrary state attribute, such as cell congestion level and cell offpeak status.
state.attributeStates[].attribute.offpeak nested object Attribute describing cell offpeak status.
state.attributeStates[].expiresAt long The Unix timestamp (a.k.a. seconds since epoch) of the time when you expect this cell to become uncongested. Google's servers will treat the cell as congested until the indicated time.

If there is not a specific time at which congestion is expected to end, expiresAt may be set to a reasonably short time in the future, for example 5 or 15 minutes.

As an example, if the current time is Jan 1, 2015 12:00am UTC (Unix timestamp 1420070400) then you might reasonably set expiresAt to 12:05am UTC (Unix timestamp 1420070700) with the expectation that your system will re-evaluate congestion within the next 5 minutes.
state.attributeStates[].attribute.congestion nested object Attribute describing cell congestion.
state.attributeStates[].attribute.congestion.level integer The congestion level of the cell. Google will treat any positive value as representing traffic congestion, while zero represents no congestion. You may use different non-zero level values to communicate varying levels of congestion in a given cell. For example, the values 1, 2, and 3 may correspond to minor, moderate, and major congestion, respectively. This is purely optional, however. Google does not currently make use of different non-zero level values, but may opt to do so in the future.
state.attributeStates[].attribute.offpeak.enabled boolean The offpeak status of the cell. Google will optimize traffic by scheduling non-critical downloads during offpeak periods. Offpeak periods can be arbitrary, and are started by a message with enabled set to true.
state.attributeStates[].attribute.offpeak.maxUe integer Maximum number of UEs that can be activated during the offpeak period for a given cell. Distinct cells can report different maxUe values. This property is optional.

Response

If successful, this method returns a response body with the following structure:

{
  "status": string
}
Property name Value Description Notes
status string A short text string describing the status of the server operation.

Examples

Python

Uses the Python client library.

# http is an httplib2 instance authorized with our service account credentials.

service = discovery.build(
  'ispportal',
  'v0',
  http=http)

# Construct an updateGsm request body that sets network congestion level to 3 for 5 min.
expiresAt = int(time.time()) + 300
body = {
  'network': {
    'countryCode': 123,
    'networkCode': 99,
    'locationAreaCode': 24,
    'cellId': 55
  },
  'state': {
    'attributeStates': {
      'attribute': { 'congestion': { 'level': 3 } },
      'expiresAt': expiresAt
    }
  }
}

request = service.updateGsm(body=body)
response = request.execute(http=http)

print 'Response string: ' + response.status