blob: 017c9cf0594ce887e457414a785afcb768ff7f8c [file] [log] [blame]
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +02001msc {
2 hscale=2;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +02003 ms [label="MS"], bts [label="BTS"], bsc[label="BSC"], bsc_lchan[label="BSC lchan FSM"],
4 bsc_gscon[label="BSC conn FSM"], msc_[label="MSC"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +02005
6 ms note bsc_gscon [label="various lchan release scenarios"];
7
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +02008 ms rbox msc_ [label="MSC releases"];
9 bsc_lchan abox bsc_lchan [label="LCHAN_ST_ACTIVE"];
10 bsc_gscon abox bsc_gscon [label="ST_ACTIVE"];
11 bsc_gscon <= msc_ [label="BSSMAP Clear Command"];
12 bsc_gscon abox bsc_gscon [label="ST_CLEARING"];
13 bsc_gscon => msc_ [label="BSSMAP Clear Complete"];
14 bsc_gscon -> bsc_lchan [label="LCHAN_EV_RELEASE"];
15 --- [label="IF SAPIs besides SAPI[0] are active"];
16 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nSAPIS_RELEASED\nT3109"];
17 bts <= bsc_lchan [label="RSL Release Request (Local End)..."];
18 bts <= bsc_lchan [label="...for each SAPI, except link_id=0"];
19 ms <= bsc_lchan [label="RR Channel Release"];
20 bts <= bsc_lchan [label="RSL Deactivate SACCH",ID="if appropriate pchan"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020021 ...;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020022 bts => bsc_lchan [label="RSL Release ACKs"];
23 --- [label="END: SAPIs besides SAPI[0] are active"];
24 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nBEFORE_RF_RELEASE\nT3111"];
25 bsc_lchan -> bsc_gscon [label="GSCON_EV_FORGET_LCHAN"];
26 bsc_gscon note bsc_gscon [label="has already forgotten the lchan above."];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020027 ...;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020028 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nRF_RELEASE_ACK\n4s"];
29 bts <= bsc_lchan [label="RSL RF Channel Release"];
30 ...;
31 bts => bsc_lchan [label="RSL RF Channel Release ACK"];
32 bsc_lchan abox bsc_lchan [label="LCHAN_ST_UNUSED"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020033 ...;
34 ...;
35
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020036 ms rbox msc_ [label="BSC releases, outside of conn FSM's flow"];
37 bsc -> bsc_lchan [label="LCHAN_EV_RELEASE"];
38 --- [label="IF SAPIs besides SAPI[0] are active"];
39 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nSAPIS_RELEASED\nT3109"];
40 bts <= bsc_lchan [label="RSL Release Request (Local End)..."];
41 bts <= bsc_lchan [label="...for each SAPI, except link_id=0"];
42 ms <= bsc_lchan [label="RR Channel Release",ID="if conn is present"];
43 bts <= bsc_lchan [label="RSL Deactivate SACCH",ID="if appropriate pchan"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020044 ...;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020045 bts => bsc_lchan [label="RSL Release ACKs"];
46 --- [label="END: SAPIs besides SAPI[0] are active"];
47 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nBEFORE_RF_RELEASE\nT3111"];
48 bsc_lchan -> bsc_gscon [label="GSCON_EV_FORGET_LCHAN"];
49 bsc_gscon note bsc_gscon [label="conn FSM notices that its primary lchan is gone"];
50 bsc_gscon => msc_ [label="BSSMAP Clear Request"];
51 bsc_gscon abox bsc_gscon [label="ST_WAIT_CLEAR_CMD"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020052 ...;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020053 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nRF_RELEASE_ACK\n4s"];
54 bts <= bsc_lchan [label="RSL RF Channel Release"];
55 ...;
56 bts => bsc_lchan [label="RSL RF Channel Release ACK"];
57 bsc_lchan abox bsc_lchan [label="LCHAN_ST_UNUSED"];
58 ...;
59 bsc_gscon <= msc_ [label="BSSMAP Clear Command"];
60 bsc_gscon abox bsc_gscon [label="ST_CLEARING"];
61 bsc_gscon => msc_ [label="BSSMAP Clear Complete"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020062 ...;
63 ...;
64
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020065 ms rbox msc_ [label="MS releases"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020066 ms => bts [label="DISC"];
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020067 bts => bsc_lchan [label="RLL Release Ind..."];
68 bts => bsc_lchan [label="...for each SAPI"];
69 bsc_lchan note bsc_lchan [label="The lchan FSM notices when all SAPIs have been released"];
70 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nBEFORE_RF_RELEASE\nT3111"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020071 ...;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020072 bsc_lchan abox bsc_lchan [label="LCHAN_ST_WAIT_\nRF_RELEASE_ACK\n4s"];
73 bts <= bsc_lchan [label="RSL RF Channel Release"];
74 bsc_lchan -> bsc_gscon [label="GSCON_EV_FORGET_LCHAN"];
75 bsc_gscon note bsc_gscon [label="conn FSM notices that its primary lchan is gone"];
76 bsc_gscon => msc_ [label="BSSMAP Clear Request"];
77 bsc_gscon abox bsc_gscon [label="ST_WAIT_CLEAR_CMD"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020078 ...;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020079 bts => bsc_lchan [label="RSL RF Channel Release ACK"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020080 ...;
Neels Hofmeyr44fcc9f2018-05-28 14:29:49 +020081 bsc_gscon <= msc_ [label="BSSMAP Clear Command"];
82 bsc_gscon => msc_ [label="BSSMAP Clear Complete"];
Neels Hofmeyr9d8d0c62018-05-29 02:45:07 +020083}