digraph G {
rankdir=LR;
INIT [label="INIT\ngscon_fsm_init()"]
WAIT_CC [label="WAIT_CC\ngscon_fsm_wait_cc()"]
ACTIVE [label="ACTIVE\ngscon_fsm_active()"]
WAIT_CRCX_BTS [label="WAIT_CRCX_BTS\ngscon_fsm_wait_crcx_bts()"]
WAIT_ASS_CMPL [label="WAIT_ASS_CMPL\ngscon_fsm_wait_ass_cmpl()"]
WAIT_MDCX_BTS [label="WAIT_MDCX_BTS\ngscon_fsm_wait_mdcx_bts()"]
WAIT_CRCX_MSC [label="WAIT_CRCX_MSC\ngscon_fsm_wait_crcx_msc()"]
WAIT_MODE_MODIFY_ACK [label="WAIT_MODE_MODIFY_ACK\ngscon_fsm_wait_mode_modify_ack()"]
CLEARING [label="CLEARING\ngscon_fsm_clearing()"]
WAIT_MT_HO_ACC [label="WAIT_MT_HO_ACC"]
WAIT_MT_HO_COMPL [label="WAIT_MT_HO_COMPL"]
WAIT_MO_HO_CMD [label="WAIT_MO_HO_CMD"]
MO_HO_PROCEEDING [label="MO_HO_PROCEEDING"]
WAIT_HO_COMPL [label="WAIT_HO_COMPL\ngscon_fsm_wait_ho_compl()"]
WAIT_MDCX_BTS_HO [label="WAIT_MDCX_BTS_HO\ngscon_fsm_wait_mdcx_bts_ho()"]
gscon_timer_cb [label="gscon_timer_cb()",shape=box]
gscon_fsm_allstate [label="gscon_fsm_allstate()",shape=box]
submit_dtap [label="submit_dtap()",shape=box]
complete_layer3 [label="complete_layer3()",shape=box]
create_conn [label="create_conn()",shape=box]
sccp_sap_up [label="sccp_sap_up()",shape=box]
bssmap_handle_assignm_req [label="bssmap_handle_assignm_req()",shape=box]
bsc_handover_start [label="bsc_handover_start()",shape=box]
bsc_assign_compl [label="bsc_assign_compl()",shape=box]
handle_abisip_signal [label="handle_abisip_signal()",shape=box]
bsc_assign_fail [label="bsc_assign_fail()",shape=box]
ho_gsm48_ho_compl [label="ho_gsm48_ho_compl()",shape=box]
ho_gsm48_ho_fail [label="ho_gsm48_ho_fail()",shape=box]
bsc_subscr_con_allocate [label="bsc_subscr_con_allocate()",shape=box]
mgcp_client_fsm_c_fsm_mgcp_client_MGCP_CONN [label="mgcp_client_fsm.c fsm_mgcp_client MGCP_CONN",shape=box3d]
a_reset_c_fsm_A_RESET [label="a_reset.c fsm A-RESET",shape=box3d]
INIT->WAIT_CC [label="A_CONN_REQ"]
WAIT_CC->ACTIVE [label="A_CONN_CFM"]
ACTIVE->CLEARING [label="HO_START"]
ACTIVE->WAIT_CRCX_BTS [label="A_ASSIGNMENT_CMD"]
ACTIVE->WAIT_ASS_CMPL [label="A_ASSIGNMENT_CMD"]
ACTIVE->WAIT_MODE_MODIFY_ACK [label="-"]
ACTIVE->WAIT_MO_HO_CMD [label="-"]
ACTIVE->WAIT_HO_COMPL [label="HO_START"]
ACTIVE->submit_dtap [label="-",style=dotted]
ACTIVE->mgcp_client_fsm_c_fsm_mgcp_client_MGCP_CONN [label="-",style=dotted]
WAIT_CRCX_BTS->ACTIVE [label="MGW_CRCX_RESP_BTS"]
WAIT_CRCX_BTS->WAIT_ASS_CMPL [label="MGW_CRCX_RESP_BTS"]
WAIT_CRCX_BTS->submit_dtap [label="-",style=dotted]
WAIT_ASS_CMPL->ACTIVE [label="RR_ASS_COMPL\nRR_ASS_FAIL"]
WAIT_ASS_CMPL->WAIT_MDCX_BTS [label="RR_ASS_COMPL"]
WAIT_ASS_CMPL->submit_dtap [label="-",style=dotted]
WAIT_ASS_CMPL->mgcp_client_fsm_c_fsm_mgcp_client_MGCP_CONN [label="-",style=dotted]
WAIT_MDCX_BTS->ACTIVE [label="MGW_MDCX_RESP_BTS"]
WAIT_MDCX_BTS->WAIT_CRCX_MSC [label="MGW_MDCX_RESP_BTS"]
WAIT_MDCX_BTS->submit_dtap [label="-",style=dotted]
WAIT_MDCX_BTS->mgcp_client_fsm_c_fsm_mgcp_client_MGCP_CONN [label="-",style=dotted]
WAIT_CRCX_MSC->ACTIVE [label="MGW_CRCX_RESP_MSC"]
WAIT_CRCX_MSC->submit_dtap [label="-",style=dotted]
WAIT_MODE_MODIFY_ACK->ACTIVE [label="RR_MODE_MODIFY_ACK"]
WAIT_MODE_MODIFY_ACK->CLEARING [label="-"]
WAIT_MODE_MODIFY_ACK->submit_dtap [label="-",style=dotted]
WAIT_HO_COMPL->ACTIVE [label="HO_FAIL\nHO_TIMEOUT"]
WAIT_HO_COMPL->WAIT_MDCX_BTS_HO [label="HO_COMPL"]
WAIT_HO_COMPL->CLEARING [label="HO_COMPL"]
WAIT_HO_COMPL->mgcp_client_fsm_c_fsm_mgcp_client_MGCP_CONN [label="-",style=dotted]
WAIT_MDCX_BTS_HO->ACTIVE [label="MGW_MDCX_RESP_BTS"]
WAIT_MDCX_BTS_HO->submit_dtap [label="-",style=dotted]
gscon_timer_cb->ACTIVE [label="-",style=dotted]
gscon_timer_cb->a_reset_c_fsm_A_RESET [label="-",style=dotted]
gscon_fsm_allstate->ACTIVE [label="-",style=dotted]
gscon_fsm_allstate->CLEARING [label="RSL_CLEAR_COMPL",style=dotted]
submit_dtap->ACTIVE [label="-",style=dotted]
submit_dtap->submit_dtap [label="-",style=dotted]
complete_layer3->INIT [label="A_CONN_REQ",style=dotted,arrowhead=halfopen]
create_conn->INIT [label="A_CONN_REQ",style=dotted,arrowhead=halfopen]
create_conn->WAIT_CC [label="A_CONN_CFM",style=dotted,arrowhead=halfopen]
sccp_sap_up->INIT [label="A_CONN_IND",style=dotted,arrowhead=halfopen]
sccp_sap_up->WAIT_CC [label="A_CONN_CFM",style=dotted,arrowhead=halfopen]
sccp_sap_up->sccp_sap_up [label="-",style=dotted]
sccp_sap_up->a_reset_c_fsm_A_RESET [label="-",style=dotted]
bssmap_handle_assignm_req->ACTIVE [label="A_ASSIGNMENT_CMD",style=dotted,arrowhead=halfopen]
bsc_handover_start->ACTIVE [label="HO_START",style=dotted,arrowhead=halfopen]
bsc_assign_compl->WAIT_ASS_CMPL [label="RR_ASS_COMPL",style=dotted,arrowhead=halfopen]
handle_abisip_signal->WAIT_ASS_CMPL [label="RR_ASS_COMPL",style=dotted,arrowhead=halfopen]
bsc_assign_fail->WAIT_ASS_CMPL [label="RR_ASS_FAIL",style=dotted,arrowhead=halfopen]
ho_gsm48_ho_compl->WAIT_HO_COMPL [label="HO_COMPL",style=dotted,arrowhead=halfopen]
ho_gsm48_ho_fail->WAIT_HO_COMPL [label="HO_FAIL",style=dotted,arrowhead=halfopen]
bsc_subscr_con_allocate->INIT [label="-",style=dotted]
}
