aboutsummaryrefslogtreecommitdiffstats
path: root/doc/handover-inter-bsc-mo.msc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/handover-inter-bsc-mo.msc')
-rw-r--r--doc/handover-inter-bsc-mo.msc37
1 files changed, 37 insertions, 0 deletions
diff --git a/doc/handover-inter-bsc-mo.msc b/doc/handover-inter-bsc-mo.msc
new file mode 100644
index 000000000..9aff7a728
--- /dev/null
+++ b/doc/handover-inter-bsc-mo.msc
@@ -0,0 +1,37 @@
+msc {
+ hscale=2;
+ ms [label="MS via BTS"], bsc_lchan[label="BSC lchan FSM"], bsc_gscon[label="BSC conn FSM"],
+ msc_[label="MSC"];
+
+ ms note msc_ [label="inter-BSC Handover to another BSS"];
+
+ bsc_gscon abox bsc_gscon [label="ST_ACTIVE"];
+ bsc_gscon box bsc_gscon [label="bsc_handover_start(): init conn->ho"];
+ bsc_gscon -> bsc_gscon [label="GSCON_EV_HO_START (inter-BSC MO)"];
+ bsc_gscon abox bsc_gscon [label="ST_HANDOVER_MO_\nWAIT_HO_CMD\nT7"];
+ bsc_gscon => msc_ [label="BSSMAP Handover Required"];
+ ...;
+ --- [label="On Timeout"];
+ ms note bsc_gscon [label="MS happily continues on the old lchan."];
+ bsc_gscon abox bsc_gscon [label="ST_ACTIVE"];
+ bsc_gscon box bsc_gscon [label="handover_end(fail)"];
+ --- [label="END: 'On Timeout'"];
+ ...;
+ bsc_gscon <= msc_ [label="BSSMAP Handover Command"];
+ bsc_gscon abox bsc_gscon [label="ST_HANDOVER_MO_\nWAIT_CLEAR_CMD\nT8"];
+ ms <= bsc_gscon [label="RR Handover Command"];
+ ...;
+ --- [label="On Timeout"];
+ ms note bsc_gscon [label="MS happily continues on the old lchan."];
+ bsc_gscon abox bsc_gscon [label="ST_ACTIVE"];
+ bsc_gscon box bsc_gscon [label="handover_end(fail)"];
+ --- [label="END: 'On Timeout'"];
+ ...;
+ msc_ note msc_ [label="Remote BSS reported Handover Complete to the MSC, this connection has been
+ superseded."];
+ bsc_gscon <= msc_ [label="BSSMAP Clear Command"];
+ bsc_gscon abox bsc_gscon [label="ST_CLEARING"];
+ bsc_gscon => msc_ [label="BSSMAP Clear Complete"];
+ bsc_lchan <- bsc_gscon [label="LCHAN_EV_RELEASE"];
+ ms <=> bsc_lchan [label="release procedure (async)"];
+}