aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-05-26 23:53:31 +0200
committerHarald Welte <laforge@gnumonks.org>2018-06-08 16:16:42 +0000
commitc8658ac06e97ee9db1f4416e0f8ab15a0f582462 (patch)
tree9fbfa87bf0a14df7cdb5da0002e9ef352cb24105
parentbb6c13b862c27b5953cb277e948ea0168bb0b968 (diff)
doc: tweak msc charts on Assignment/Handover: act_timer
-rw-r--r--doc/assignment.msc11
-rw-r--r--doc/handover.msc8
2 files changed, 17 insertions, 2 deletions
diff --git a/doc/assignment.msc b/doc/assignment.msc
index e2bdf845d..d470d014b 100644
--- a/doc/assignment.msc
+++ b/doc/assignment.msc
@@ -54,14 +54,17 @@ msc {
bsc_gscon abox bsc_gscon [label="ST_WAIT_ASS_COMPL (GSM0808_T10_VALUE=6s)"];
...;
bts note bsc_gscon [linecolor="red",
- label="There seems to be no timer watching over Chan Release nor dyn TS switchover!"];
+ label="Osmocom style dyn TS use lchan->act_timer to watch over RF Chan Release, but there
+ seems to be no timer watching over PDCH Deact!"];
...;
bts => bsc [label="i) RSL RF Chan Release ACK (Osmocom dyn TS)"];
bts => bsc [label="OR ii) RSL PDCH Deact ACK (ip.access dyn TS)"];
bsc box bsc [label="rsl_chan_activate_lchan() re-invoked"];
+ bsc box bsc [label="lchan->state = LCHAN_S_ACT_REQ"];
bts <= bsc [label="RSL Chan Activ"];
--- [label="else (no dyn TS switchover)"];
+ bsc box bsc [label="lchan->state = LCHAN_S_ACT_REQ"];
bts <= bsc [label="RSL Chan Activ"];
bsc -> bsc_gscon [label="gsm0808_assign_req() returns"];
bsc_gscon abox bsc_gscon [label="ST_WAIT_ASS_COMPL (GSM0808_T10_VALUE=6s)"];
@@ -79,6 +82,10 @@ msc {
...;
bts => bsc [label="RSL Chan Activ ACK"];
+ bsc box bsc [label="rsl_rx_chan_act_ack()"];
+ bsc box bsc [label="Stop lchan->act_timer"];
+ bsc box bsc [label="lchan->state = LCHAN_S_ACTIVE"];
+ bsc -> bsc [label="S_LCHAN_ACTIVATE_ACK"];
bsc box bsc [label="bsc_api.c handle_chan_ack()"];
ms <= bsc [label="RR Assignment Command"];
@@ -135,6 +142,8 @@ msc {
--- [label="End: 'On timeout'"];
...;
bts => bsc [label="RSL RF Channel Release Ack"];
+ bsc box bsc [label="Stop lchan->act_timer"];
+ bsc box bsc [label="Stop lchan->T3111"];
--- [label="End: 'Release old lchan'"];
bsc box bsc [label="still in handle_ass_compl()"];
bsc note bsc [label="officially take over new lchan: conn->lchan = conn->secondary_lchan"];
diff --git a/doc/handover.msc b/doc/handover.msc
index e5e787c0e..8862dd97b 100644
--- a/doc/handover.msc
+++ b/doc/handover.msc
@@ -20,7 +20,8 @@ msc {
bsc_gscon abox bsc_gscon [label="ST_WAIT_HO_COMPL (no timeout, relies on T3103 below)"];
...;
bts note bsc_gscon [linecolor="red",
- label="There seems to be no timer watching over Chan Release nor dyn TS switchover!"];
+ label="Osmocom style dyn TS use lchan->act_timer to watch over RF Chan Release, but there
+ seems to be no timer watching over PDCH Deact!"];
...;
bts => bsc [label="i) RSL RF Chan Release ACK (Osmocom dyn TS)"];
bts => bsc [label="OR ii) RSL PDCH Deact ACK (ip.access dyn TS)"];
@@ -38,6 +39,9 @@ msc {
label="There seems to be no timer watching out for RSL Chan Activ ACK/NACK!"];
...;
bts => bsc [label="RSL Chan Activ ACK"];
+ bsc box bsc [label="rsl_rx_chan_act_ack()"];
+ bsc box bsc [label="Stop lchan->act_timer"];
+ bsc box bsc [label="lchan->state = LCHAN_S_ACTIVE"];
bsc -> bsc [label="S_LCHAN_ACTIVATE_ACK"];
bsc box bsc [label="handover_logic.c ho_logic_sig_cb()"];
bsc box bsc [label="ho_chan_activ_ack()"];
@@ -132,6 +136,8 @@ msc {
--- [label="End: 'On timeout'"];
...;
bts => bsc [label="RSL RF Channel Release Ack"];
+ bsc box bsc [label="Stop lchan->act_timer"];
+ bsc box bsc [label="Stop lchan->T3111"];
---;
bsc box bsc [label="still in ho_gsm48_ho_compl()"];