diff options
Diffstat (limited to 'include/osmocom/bsc/bsc_subscr_conn_fsm.h')
-rw-r--r-- | include/osmocom/bsc/bsc_subscr_conn_fsm.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/include/osmocom/bsc/bsc_subscr_conn_fsm.h b/include/osmocom/bsc/bsc_subscr_conn_fsm.h new file mode 100644 index 000000000..234161fa0 --- /dev/null +++ b/include/osmocom/bsc/bsc_subscr_conn_fsm.h @@ -0,0 +1,74 @@ +#pragma once +#include <osmocom/core/fsm.h> + +enum gscon_fsm_event { + /* local SCCP stack tells us incoming conn from MSC */ + GSCON_EV_A_CONN_IND, + /* RSL side requests CONNECT to MSC */ + GSCON_EV_A_CONN_REQ, + /* MSC confirms the SCCP connection */ + GSCON_EV_A_CONN_CFM, + /* MSC requests assignment */ + GSCON_EV_A_ASSIGNMENT_CMD, + /* MSC has sent BSSMAP CLEAR CMD */ + GSCON_EV_A_CLEAR_CMD, + /* MSC SCCP disconnect indication */ + GSCON_EV_A_DISC_IND, + /* MSC sends Handover Request (in CR) */ + GSCON_EV_A_HO_REQ, + + /* RR ASSIGNMENT COMPLETE received */ + GSCON_EV_RR_ASS_COMPL, + /* RR ASSIGNMENT FAIL received */ + GSCON_EV_RR_ASS_FAIL, + /* RR MODE MODIFY ACK received */ + GSCON_EV_RR_MODE_MODIFY_ACK, + + /* RR HO ACC (access burst on ext HO) */ + GSCON_EV_RR_HO_ACC, /* NOT USED YET! */ + /* RR HANDOVER COMPLETE received */ + GSCON_EV_RR_HO_COMPL, /* NOT USED YET! */ + GSCON_EV_RR_HO_FAIL, /* NOT USED YET! */ + + /* RSL RLL Release Indication */ + GSCON_EV_RLL_REL_IND, + /* RSL CONNection FAILure Indication */ + GSCON_EV_RSL_CONN_FAIL, + + /* RSL/lchan tells us clearing is complete */ + GSCON_EV_RSL_CLEAR_COMPL, + + /* Mobile-originated DTAP (from MS) */ + GSCON_EV_MO_DTAP, + /* Mobile-terminated DTAP (from MSC) */ + GSCON_EV_MT_DTAP, + + /* Transmit custom SCCP message */ + GSCON_EV_TX_SCCP, + + /* MGW is indicating failure (BTS) */ + GSCON_EV_MGW_FAIL_BTS, + /* MGW is indicating failure (MSC) */ + GSCON_EV_MGW_FAIL_MSC, + /* CRCX response received (BTS) */ + GSCON_EV_MGW_CRCX_RESP_BTS, + /* MDCX response received (BTS) */ + GSCON_EV_MGW_MDCX_RESP_BTS, + /* CRCX response received (MSC) */ + GSCON_EV_MGW_CRCX_RESP_MSC, + + /* Internal handover request (intra-BSC handover) */ + GSCON_EV_HO_START, + /* Handover timed out (T3103 in handover_logic.c) */ + GSCON_EV_HO_TIMEOUT, + /* Handover failed (handover_logic.c) */ + GSCON_EV_HO_FAIL, + /* Handover completed successfully (handover_logic.c) */ + GSCON_EV_HO_COMPL, +}; + +struct gsm_subscriber_connection; +struct gsm_network; + +/* Allocate a subscriber connection and its associated FSM */ +struct gsm_subscriber_connection *bsc_subscr_con_allocate(struct gsm_network *net); |