aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/bsc/bsc_subscr_conn_fsm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom/bsc/bsc_subscr_conn_fsm.h')
-rw-r--r--include/osmocom/bsc/bsc_subscr_conn_fsm.h74
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);