blob: ac7c2bfd78761252d2b7923243c2500f11c1c894 [file] [log] [blame]
Neels Hofmeyr3b5de1b2018-06-16 16:08:55 +02001digraph G {
2rankdir=TB
3labelloc=t; label="MGW Endpoint FSM"
4
5 gscon_ensure_mgw_endpoint [label="gscon_ensure_mgw_endpoint()",shape="box"]
6 UNUSED
7 WAIT_MGW_RESPONSE
8 IN_USE
9 terminate [shape=octagon]
10 mgcp [label="mgcp client FSM\n(libosmo-mgcp-client)",shape=box3d]
11 notify [label="notify target FI",shape=box3d]
12 gscon [label="parent FI\n(gscon)",shape=box3d]
13
14 gscon_ensure_mgw_endpoint -> UNUSED
15 UNUSED -> WAIT_MGW_RESPONSE [label="first\nmgw_endpoint_ci_request(CRCX)"]
16 WAIT_MGW_RESPONSE -> mgcp [label="mgcp_conn_create()\nmgcp_conn_modify()\nmgcp_conn_delete()",style=dotted]
17 mgcp -> WAIT_MGW_RESPONSE [label="CI[i] event",style=dotted]
18 WAIT_MGW_RESPONSE -> IN_USE
19 IN_USE -> notify [label="notify event for\nindividual CI request",style=dotted]
20 IN_USE -> WAIT_MGW_RESPONSE [label="additional\nmgw_endpoint_ci_request()\nCRCX,MDCX,DLCX"]
21
22 WAIT_MGW_RESPONSE -> terminate [label="all CI DLCX'd"]
23 terminate -> gscon [label="GSCON_EV_FORGET_MGW_ENDPOINT",style=dotted]
24}