75 lines
2.1 KiB
Plaintext
75 lines
2.1 KiB
Plaintext
|
|
||
|
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 ==
|
||
|
|
||
|
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
|