diff options
author | Harald Welte <laforge@gnumonks.org> | 2009-08-10 11:35:33 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2009-08-10 11:35:33 +0200 |
commit | d26d3d953a4c9eb9550727e1a3b30b0245d257c0 (patch) | |
tree | 9dd2fca2914863b34f3be9580fc47e4b74ebd5dc /openbsc/doc/channel_release.txt | |
parent | 100325a87eec19533778b352397bf3ed66a25ff2 (diff) |
add some document about the channel release procedure
also note how we are not doing what the spec says :)
Diffstat (limited to 'openbsc/doc/channel_release.txt')
-rw-r--r-- | openbsc/doc/channel_release.txt | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/openbsc/doc/channel_release.txt b/openbsc/doc/channel_release.txt new file mode 100644 index 000000000..bacf09c8d --- /dev/null +++ b/openbsc/doc/channel_release.txt @@ -0,0 +1,74 @@ + +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 |