# Monitoring board temperature

CX boards provide protection from overheating by monitoring board temperature and shutting down heat-producing operations if the temperature becomes too high. A board can have one of the following temperature states:

Temperature state | Description
--- | ---
Normal | Temperature is within normal operating range.
Warning | Temperature has reached warning range.
Protection | Temperature has reached protection range.

The board's temperature is typically within the normal range. The board stays in this range as long as adequate cooling is provided and appropriate guidelines are followed. To determine the exact temperature range represented by each state and for guidelines on providing optimum cooling for CX products, refer to either the CX 2000 or CX 2000C installation and developer's manuals.

If a board begins to overheat and the temperature reaches the warning range, CDIEVN_BOARD_STATUS_CHANGE is generated. An application receives this event only if it is registered to receive status change events as described in Monitoring status changes. The thermal_state field in the CDI_BOARD_STATUS structure returned by cdiGetBoardStatus is set to CDI_THERMAL_WARNING.

If the warning condition is not addressed, overheating may progress to the protection state. When the protection state is reached, thermal_state becomes CDI_THERMAL_PROTECTION. At this stage, the board automatically takes the following actions, preventing new incoming or outgoing calls from being processed:

- The DTMF detector becomes unavailable.

- Invocations of cdiStartRing return CTAERR_BOARD_ERROR. No ringing takes place.

- New calls receive a special tone in place of the dial tone. This tone has the following characteristics and cannot be changed:

  Parameter | Value
  freq1 | 1,000 Hz
  freq2 | 2,000 Hz
  ampl1 | -15
  ampl2 | -15
  ton1 | 100 ms
  toff1 | 100 ms
  ton2 | 0 ms
  toff2 | 0 ms
  iterations | -1 (forever)

In extreme situations, the hardware reduces the loop current to the stations, impacting the operation of telephones or other attached devices.

An application can query the exact board temperature at any time by invoking cdiReadThermometer with the number of a thermometer to check. (A board has five thermometers, 0 through 4.) cdiReadThermometer returns the exact current temperature measured by the thermometer in degrees Celsius. To determine a typical operating temperature, query the temperature after the board has been running under a typical load (with a number of stations off-hook) for one hour.