radiolink timeout is a mechanism in the BTS and in the MS.
Let’s look at the BTS side :
Every time the BTS receives a good SACCH frame that can be decoded, the radiolink counter remains at its maximum value (if already at max value) or it is incremented by +1.
Every time the BTS receives a SACCH frame that cannot be decoded (probably because of poor radio conditions, degrading the signal), the RL counter is decreased by -2.
Initially the value of the RL counter = 18 (parameter RADIO LINK TIMEOUT BS).
Once the value reaches 0, the call is dropped (radio resource is dropped, message sent to the BSC).
At MS side, it is the same, except that when it reaches 0, the MS decides to release the call by itself. Therefore, it doesn’t send a message to the BTS.