aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2020-09-02 16:37:19 +0200
committerNeels Hofmeyr <neels@hofmeyr.de>2020-09-02 19:20:56 +0200
commit9bef58961f38b94202316ff2fd3c7f160cc32da0 (patch)
treeb823c6e7491cd170e7fabaac637e1f7661858d19
parent58ce1846a234abd36da8981b3b6f3de1085b08b0 (diff)
tweaks for G#19792neels/mode_modif
-rw-r--r--doc/assignment.msc8
-rw-r--r--doc/lchan-fsm.dot3
-rw-r--r--doc/lchan.msc20
3 files changed, 30 insertions, 1 deletions
diff --git a/doc/assignment.msc b/doc/assignment.msc
index 4e690a811..fae088f23 100644
--- a/doc/assignment.msc
+++ b/doc/assignment.msc
@@ -9,6 +9,14 @@ msc {
gscon note gscon [label="GSCON_EV_ASSIGNMENT_START\n data=struct assignment_request"];
gscon abox gscon [label="ST_ASSIGNMENT"];
ass <- gscon [label="assignment_fsm_start()"];
+ |||;
+ --- [label="IF current lchan supports requested channel mode (re-use)"];
+ lchan <- ass [label="LCHAN_EV_REQUEST_MODE_MODIFY"];
+ ass abox ass [label="ASSIGNMENT_ST_\nWAIT_LCHAN_ESTABLISHED"];
+ ass rbox ass [label="see below"];
+
+ |||;
+ --- [label="ELSE: if current lchan does not support requested channel mode (establish new lchan)"];
ass abox ass [label="ASSIGNMENT_ST_\nWAIT_LCHAN_ACTIVE"];
|||;
diff --git a/doc/lchan-fsm.dot b/doc/lchan-fsm.dot
index 394e946d2..fe35903f7 100644
--- a/doc/lchan-fsm.dot
+++ b/doc/lchan-fsm.dot
@@ -40,7 +40,8 @@ labelloc=t; label="lchan FSM"
ESTABLISHED -> WAIT_RR_CHAN_MODE_MODIFY_ACK [label="LCHAN_EV_REQUEST_MODE_MODIFY"]
WAIT_RR_CHAN_MODE_MODIFY_ACK -> WAIT_RSL_CHAN_MODE_MODIFY_ACK [label="LCHAN_EV_RR_CHAN_MODE_MODIFY_ACK"]
- WAIT_RSL_CHAN_MODE_MODIFY_ACK -> WAIT_RLL_RTP_ESTABLISH [label="LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK"]
+ WAIT_RSL_CHAN_MODE_MODIFY_ACK -> WAIT_RLL_RTP_ESTABLISH [label="LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK\nwhen adding RTP"]
+ WAIT_RSL_CHAN_MODE_MODIFY_ACK -> ESTABLISHED [label="LCHAN_EV_RSL_CHAN_MODE_MODIFY_ACK\nno change to RTP"]
WAIT_RR_CHAN_MODE_MODIFY_ACK -> BORKEN [label="error/timeout",style=dashed]
WAIT_RSL_CHAN_MODE_MODIFY_ACK -> BORKEN [label="error/timeout",style=dashed]
}
diff --git a/doc/lchan.msc b/doc/lchan.msc
index e2caa4875..b0e32d684 100644
--- a/doc/lchan.msc
+++ b/doc/lchan.msc
@@ -129,6 +129,26 @@ msc {
...;
...;
+ ms rbox mgwep [label="On Mode Modify (e.g. change a TCH lchan from signalling to voice)"];
+ lchan abox lchan [label="LCHAN_ST_\nWAIT_RR_CHAN_\nMODE_MODIFY_ACK"];
+ ms <= lchan [label="RR Chan Mode Modif"];
+ ...;
+ ms => lchan [label="RR Chan Mode Modif Ack"];
+ lchan abox lchan [label="LCHAN_ST_\nWAIT_RSL_CHAN_\nMODE_MODIFY_ACK"];
+ ms <= lchan [label="RSL MT Mode Modify Req"];
+ ...;
+ ms => lchan [label="RSL MT Mode Modify Ack"];
+ --- [label="IF adding RTP stream"];
+ lchan abox lchan [label="LCHAN_ST_WAIT_\nRLL_RTP_ESTABLISH\nT3101"];
+ lchan rbox rtp [label="See above at 'LCHAN_RTP_EV_LCHAN_READY'"];
+ --- [label="IF not adding RTP stream"];
+ lchan abox lchan [label="LCHAN_ST_\nESTABLISHED"];
+ --- [label="END: whether adding voice stream"];
+
+ ...;
+ ...;
+ ...;
+
ms rbox mgwep [label="When the MS or BTS release the lchan"];
lchan abox lchan [label="LCHAN_ST_\nESTABLISHED"];
ms -> lchan [label="RLL Release Ind for SAPI=0"];