diff options
Diffstat (limited to 'doc/lchan-fsm.dot')
-rw-r--r-- | doc/lchan-fsm.dot | 48 |
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] } |