digraph G {
rankdir=LR;
CRCX [label="CRCX\nfsm_crcx_cb()"]
CRCX_RESP [label="CRCX_RESP\nfsm_crcx_resp_cb()"]
READY [label="READY\nfsm_ready_cb()"]
MDCX_RESP [label="MDCX_RESP\nfsm_mdcx_resp_cb()"]
DLCX_RESP [label="DLCX_RESP\nfsm_dlcx_resp_cb()"]
mgcp_conn_create [label="mgcp_conn_create()",shape=box]
mgw_crcx_resp_cb [label="mgw_crcx_resp_cb()",shape=box]
mgcp_conn_modify [label="mgcp_conn_modify()",shape=box]
mgcp_conn_delete [label="mgcp_conn_delete()",shape=box]
mgw_mdcx_resp_cb [label="mgw_mdcx_resp_cb()",shape=box]
mgw_dlcx_resp_cb [label="mgw_dlcx_resp_cb()",shape=box]
bsc_subscr_conn_fsm_c_gscon_fsm_SUBSCR_CONN [label="gscon_fsm: WAIT_MDCX_BTS",shape=box3d]
CRCX->CRCX_RESP [label="CRCX"]
CRCX_RESP->READY [label="CRCX_RESP"]
READY->MDCX_RESP [label="-"]
READY->DLCX_RESP [label="-"]
MDCX_RESP->READY [label="MDCX_RESP"]
mgcp_conn_create->CRCX [label="CRCX",style=dotted,arrowhead=halfopen]
mgw_crcx_resp_cb->CRCX_RESP [label="CRCX_RESP",style=dotted,arrowhead=halfopen]
mgcp_conn_modify->READY [label="MDCX",style=dotted,arrowhead=halfopen]
mgcp_conn_delete->READY [label="DLCX",style=dotted,arrowhead=halfopen]
mgw_mdcx_resp_cb->MDCX_RESP [label="MDCX_RESP",style=dotted,arrowhead=halfopen]
mgw_dlcx_resp_cb->DLCX_RESP [label="DLCX_RESP",style=dotted,arrowhead=halfopen]
bsc_subscr_conn_fsm_c_gscon_fsm_SUBSCR_CONN->mgcp_conn_create [label="gscon_fsm_active()\ngscon_fsm_wait_mdcx_bts()",style=dotted]
bsc_subscr_conn_fsm_c_gscon_fsm_SUBSCR_CONN->mgcp_conn_modify [label="gscon_fsm_wait_ass_cmpl()\ngscon_fsm_wait_ho_compl()",style=dotted]
}
