Cell Congestion State: updateGsm

Requires authorization.

Updates the cell congestion state for a GSM network. Call this method to indicate that a given cell is expected to be congested for a period of time. See an example.


HTTP request

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


This request requires authorization with the following scope.


Request body

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

  "network": {
    "countryCode": integer,
    "networkCode": integer,
    "locationAreaCode": integer,
    "cellId": integer
  "state": {
    "congestedUntil": long,
    "congestionLevel": integer
Property name Value Description Notes
network nested object Network details about the cell being updated.
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 Details of the cell's congestion state.

When the updateGsm method is called, the given cell will be marked as congested at congestionLevel until the congestedUntil timestamp is passed.
state.congestedUntil 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, congestedUntil 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 congestedUntil to 12:05am UTC (Unix timestamp 1420070700) with the expectation that your system will re-evaluate congestion within the next 5 minutes.
state.congestionLevel 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 congestionLevel 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 congestionLevel values, but may opt to do so in the future.


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.



Uses the Python client library.

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

service = discovery.build(

# Construct a body for the updateGSM request
body = {
  network: {
    countryCode: 123,
    networkCode: 99,
    locationAreaCode: 24,
    cellId: 55
  state: {
    congestedUntil: 1409002823
    congestionLevel: 100

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

print 'Response string: ' + response.status