aboutsummaryrefslogtreecommitdiffstats
path: root/doc/lchan-fsm.dot
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lchan-fsm.dot')
-rw-r--r--doc/lchan-fsm.dot48
1 files changed, 18 insertions, 30 deletions
diff --git a/doc/lchan-fsm.dot b/doc/lchan-fsm.dot
index dbb283cd1..b726b0c87 100644
--- a/doc/lchan-fsm.dot
+++ b/doc/lchan-fsm.dot
@@ -1,38 +1,22 @@
digraph G {
-rankdir=TB;
+rankdir=TB
+labelloc=t; label="lchan FSM"
invisible [style="invisible"]
UNUSED [penwidth=3.0]
- WAIT_TS_READY
- WAIT_MGW_ENDPOINT_AVAILABLE
- WAIT_ACTIV_ACK
- WAIT_IPACC_CRCX_ACK
- WAIT_IPACC_MDCX_ACK
- WAIT_RLL_ESTABLISH
- ACTIVE [penwidth=3.0]
- WAIT_SAPIS_RELEASED
- WAIT_BEFORE_RF_RELEASE
- WAIT_RF_RELEASE_ACK
- WAIT_AFTER_ERROR
- BORKEN
+ ESTABLISHED [penwidth=3.0]
- ts [label="timeslot FSM",shape=box3d];
- gscon [label="conn FSM",shape=box3d];
+ ts [label="timeslot FSM",shape=box3d]
+ rtp [label="lchan_rtp\nFSM",shape=box3d]
UNUSED -> WAIT_TS_READY [label="lchan_allocate()"]
WAIT_TS_READY -> WAIT_ACTIV_ACK
- WAIT_ACTIV_ACK -> WAIT_RLL_ESTABLISH
- WAIT_RLL_ESTABLISH -> WAIT_MGW_ENDPOINT_AVAILABLE [label="TCH"]
- WAIT_MGW_ENDPOINT_AVAILABLE -> WAIT_IPACC_CRCX_ACK [label="IPACC BTS"]
- WAIT_MGW_ENDPOINT_AVAILABLE -> ACTIVE
- WAIT_IPACC_CRCX_ACK -> WAIT_IPACC_MDCX_ACK
- WAIT_IPACC_MDCX_ACK -> ACTIVE
- WAIT_RLL_ESTABLISH -> ACTIVE [label="non-TCH"];
- WAIT_RLL_ESTABLISH -> WAIT_RF_RELEASE_ACK [label="timeout",style=dashed,constraint=false]
-
- ACTIVE -> WAIT_SAPIS_RELEASED [label="LCHAN_EV_\nRELEASE"]
- WAIT_SAPIS_RELEASED -> WAIT_BEFORE_RF_RELEASE
- WAIT_SAPIS_RELEASED -> WAIT_RF_RELEASE_ACK [label="timeout",style=dashed,constraint=false]
+ WAIT_ACTIV_ACK -> WAIT_RLL_RTP_ESTABLISH
+ WAIT_RLL_RTP_ESTABLISH -> ESTABLISHED
+
+ ESTABLISHED -> WAIT_RLL_RTP_RELEASED [label="LCHAN_EV_\nRELEASE"]
+ WAIT_RLL_RTP_RELEASED -> WAIT_BEFORE_RF_RELEASE
+ WAIT_RLL_RTP_RELEASED -> WAIT_RF_RELEASE_ACK [label="timeout",style=dashed,constraint=false]
WAIT_BEFORE_RF_RELEASE -> WAIT_RF_RELEASE_ACK [label="T3111"]
WAIT_RF_RELEASE_ACK -> UNUSED
@@ -43,11 +27,15 @@ rankdir=TB;
UNUSED -> ts [label="TS_EV_\nLCHAN_\nUNUSED",style=dotted,penwidth=3]
ts -> WAIT_TS_READY [label="LCHAN_EV_\nTS_READY",style=dotted]
+ WAIT_TS_READY -> rtp [label="TCH",style=dotted]
+
WAIT_TS_READY -> UNUSED [label="error/timeout",style=dashed,constraint=false]
{WAIT_ACTIV_ACK,WAIT_RF_RELEASE_ACK} -> BORKEN [label="error/timeout",style=dashed]
- {WAIT_MGW_ENDPOINT_AVAILABLE,WAIT_IPACC_CRCX_ACK,WAIT_IPACC_MDCX_ACK} -> WAIT_SAPIS_RELEASED [label=error,style=dashed]
+ BORKEN -> WAIT_AFTER_ERROR [label="late RF Release ACK"]
+ WAIT_RLL_RTP_ESTABLISH -> WAIT_RLL_RTP_RELEASED [label=error,style=dashed]
- WAIT_TS_READY -> gscon [label="GSCON_EV_\nENSURE_\nMGW_ENDPOINT",style=dotted]
- gscon -> WAIT_MGW_ENDPOINT_AVAILABLE [label="LCHAN_EV_\nMGW_ENDPOINT_\n{AVAILABLE,ERROR}",style=dotted]
+ WAIT_ACTIV_ACK -> rtp [label="LCHAN_RTP_EV_LCHAN_READY",style=dotted]
+ rtp -> WAIT_RLL_RTP_ESTABLISH [label="LCHAN_EV_RTP_READY",style=dotted]
+ rtp -> ESTABLISHED [label="LCHAN_EV_RTP_RELEASED",style=dotted]
}