Radio Interface Layer
# Radio Interface Layer

A Radio Interface Layer (RIL) is a layer in an operating system which provides an interface to the hardware's radio and modem on e.g. a mobile phone.

## Android RIL

The Android Open Source Project provides a Radio Interface Layer (RIL) between Android telephony services (android.telephony) and the radio hardware.

It consists of a stack of two components: a RIL Daemon and a Vendor RIL. The RIL Daemon talks to the telephony services and dispatches "solicited commands" to the Vendor RIL. The Vendor RIL is specific to a particular radio implementation, and dispatches "unsolicited commands" up to the RIL Daemon.

## Windows Mobile RIL

A RIL is a key component of Microsoft's Windows Mobile OS. The RIL enables wireless voice or data applications to communicate with a GSM/GPRS or CDMA2000 1X modem on a Windows Mobile device. The RIL provides the system interface between the CellCore layer within the Windows Mobile OS and the radio protocol stack used by the wireless modem hardware. The RIL, therefore, also allows OEMs to integrate a variety of modems into their equipment by providing this interface.

The RIL comprises two separate components: a RIL driver, which processes AT commands and events; and a RIL proxy, which manages requests from the multiple clients to the single RIL driver. Except for PPP connections, all interaction between the Windows Mobile OS and the device radio stack is via the RIL. (PPP connections initially use the RIL to establish the connection, but then bypass the RIL to connect directly to the virtual serial port assigned to the modem.) In essence, the RIL accepts and converts all direct service requests from the upper layers (i.e., TAPI) into commands supported and understood by the modem.

Note that the RIL does not communicate directly with the modem, however. Instead, the final link to the modem is typically the standard serial driver provided by the OEM's platform.

