aboutsummaryrefslogtreecommitdiffstats
path: root/doc/mgw-endpoint-fsm.dot
blob: ac7c2bfd78761252d2b7923243c2500f11c1c894 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
digraph G {
rankdir=TB
labelloc=t; label="MGW Endpoint FSM"

	gscon_ensure_mgw_endpoint [label="gscon_ensure_mgw_endpoint()",shape="box"]
	UNUSED
	WAIT_MGW_RESPONSE
	IN_USE
	terminate [shape=octagon]
	mgcp [label="mgcp client FSM\n(libosmo-mgcp-client)",shape=box3d]
	notify [label="notify target FI",shape=box3d]
	gscon [label="parent FI\n(gscon)",shape=box3d]

	gscon_ensure_mgw_endpoint -> UNUSED
	UNUSED -> WAIT_MGW_RESPONSE [label="first\nmgw_endpoint_ci_request(CRCX)"]
	WAIT_MGW_RESPONSE -> mgcp [label="mgcp_conn_create()\nmgcp_conn_modify()\nmgcp_conn_delete()",style=dotted]
	mgcp -> WAIT_MGW_RESPONSE [label="CI[i] event",style=dotted]
	WAIT_MGW_RESPONSE -> IN_USE
	IN_USE -> notify [label="notify event for\nindividual CI request",style=dotted]
	IN_USE -> WAIT_MGW_RESPONSE [label="additional\nmgw_endpoint_ci_request()\nCRCX,MDCX,DLCX"]

	WAIT_MGW_RESPONSE -> terminate [label="all CI DLCX'd"]
	terminate -> gscon [label="GSCON_EV_FORGET_MGW_ENDPOINT",style=dotted]
}