
GSM 04.08 7.1.7 / 9.1.7		RR CHANNEL RELESE

RSL 08.58 3.4 / ?		RLL Link Release Request

RSL 08.58 4.6 / 8.4.5		DEACTivate SACCH
	* Deactivate SACCH according to Channel Release Proc 04.08
	* to be sent after RR CHANNEL RELEASE is sent to MS

RSL 08.58 4.7 / 8.4.14		RF CHANnel RELease
	* tells the BTS to release a radio channel
	* "when an activated radio channel is no longer needed"
	* BTS responds with RF CHANnel RELease ACKnowledge


GSM 04.08 3.4.13: RR connection release procedure

* network sends RR CHANNEL RELEASE to MS on the DCCH
  * start T3109
  * deactivate SACCH
* MS disconnects main signalling link (by sending DISC)
  * all other data links are disconnected by local end link release
* network receives DISC (BTS sends RLL REL IND to BSC)
  * stop T3109
  * start T3111 
* when T3111 times out, the network can reuse the channls
* if T3109 times out, the network deactivates the channels 
  and can reuse them
  * this probably means simply RF CHANnel RELease


== Implementation in OpenBSC ==

THIS IS OUTDATED and will be updated...

chan_alloc.c:lchan_auto_release()
	* checks if use count still > 0 (abort)
	* calls gsm48_send_rr_release()
		* which calls rsl_deact_sacch()
	* calls rsl_release_request()
		* which sends RLL Link Release request
	
RX of RELease INDication:
	* call rsl_rf_chan_release() (send RF_CHAN_REL)

RX of RELease CONFimem:
	* call rsl_rf_chan_release() (send RF_CHAN_REL)

* RX of RF_CHAN_REL_ACK
	* call lchan_free()
		* subscr_put()
		* delete release_timer


=== Integration with SMS ===

* RX of CP_ERROR or unimplemented MT
	* trigger trans_free() which will lchan_auto_release()

* CP TC1* expired while waiting for CP-ACK
	* trigger trans_free() which will lchan_auto_release()

* RX of RP_ERROR
	* trigger trans_free() which will lchan_auto_release()
	
* TX of CP-ACK in MT DELIVER
	* trigger trans_free() which will lchan_auto_release()

* RX of CP-ACK in MO SUBMIT
	* trigger trans_free() which will lchan_auto_release()
	
* RX of RP-ACK in MT DELIVER (and no more messages)
	* trigger rsl_release_request() for SAPI3

* RX of RP-SMMA in MT DELIVER (and no more messages)
	* trigger rsl_release_request() for SAPI3
