libosmo-sigtran 2.1.0.149-fef8
Osmocom SIGTRAN library
|
#include <errno.h>
#include <string.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/linuxrbtree.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/fsm.h>
#include <osmocom/sigtran/sccp_helpers.h>
#include <osmocom/sigtran/sccp_sap.h>
#include <osmocom/sigtran/protocol/sua.h>
#include <osmocom/sccp/sccp_types.h>
#include "xua_internal.h"
#include "sccp_connection.h"
#include "sccp_instance.h"
#include "sccp_internal.h"
#include "sccp_scoc_fsm.h"
#include "sccp_user.h"
#include "ss7_internal.h"
#include "ss7_instance.h"
Macros | |
#define | S(x) (1 << (x)) |
Functions | |
static void | scoc_fsm_idle (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | scoc_fsm_idle_onenter (struct osmo_fsm_inst *fi, uint32_t old_state) |
static void | scoc_fsm_conn_pend_in (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | scoc_fsm_conn_pend_out (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | scoc_fsm_wait_conn_conf (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | scoc_fsm_active (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | scoc_fsm_disconn_pend (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
Variables | |
static const struct value_string | scoc_event_names [] |
static const struct osmo_fsm_state | sccp_scoc_states [] |
struct osmo_fsm | sccp_scoc_fsm |
#define S | ( | x | ) | (1 << (x)) |
|
static |
References data, sccp_connection::fi, sccp_connection::importance, NULL, OSMO_SCU_PRIM_N_DATA, OSMO_SCU_PRIM_N_DISCONNECT, sccp_connection::remote_ref, S_DISCONN_PEND, S_IDLE, sccp_connection::sccp_class, sccp_conn_restart_rx_inact_timer(), sccp_conn_restart_tx_inact_timer(), sccp_conn_scu_gen_encode_and_send(), sccp_conn_start_rel_timer(), sccp_conn_stop_inact_timers(), sccp_conn_xua_gen_encode_and_send(), sccp_conn_xua_gen_relre_and_send(), SCOC_E_RCOC_CC_IND, SCOC_E_RCOC_CREF_IND, SCOC_E_RCOC_DT1_IND, SCOC_E_RCOC_ERROR_IND, SCOC_E_RCOC_IT_IND, SCOC_E_RCOC_REL_COMPL_IND, SCOC_E_RCOC_RLSD_IND, SCOC_E_RCOC_ROUT_FAIL_IND, SCOC_E_SCU_N_DATA_REQ, SCOC_E_SCU_N_DISC_REQ, SCOC_E_SCU_N_EXP_DATA_REQ, SCOC_E_T_IAR_EXP, SCOC_E_T_IAS_EXP, SUA_CAUSE_T_RELEASE, SUA_CO_CODT, SUA_CO_COIT, SUA_CO_RELCO, SUA_CO_RELRE, SUA_IEI_CAUSE, SUA_IEI_IMPORTANCE, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_REF, xua_msg_add_u32(), xua_msg_alloc(), xua_msg_free(), and xua_msg_get_u32().
|
static |
|
static |
References osmo_scu_disconn_param::cause, data, osmo_scu_prim::disconnect, sccp_connection::fi, xua_msg::hdr, xua_common_hdr::msg_class, xua_msg::mtp, NULL, osmo_mtp_transfer_param::opc, OSMO_SCU_PRIM_N_CONNECT, OSMO_SCU_PRIM_N_DISCONNECT, sccp_connection::release_cause, sccp_connection::remote_pc, sccp_connection::remote_ref, S_ACTIVE, S_IDLE, S_WAIT_CONN_CONF, sccp_conn_opt_data_send_cache(), sccp_conn_scu_gen_encode_and_send(), sccp_conn_start_connect_timer(), sccp_conn_start_inact_timers(), sccp_conn_stop_connect_timer(), sccp_conn_xua_gen_encode_and_send(), SCOC_E_CONN_TMR_EXP, SCOC_E_RCOC_CC_IND, SCOC_E_RCOC_CREF_IND, SCOC_E_RCOC_OTHER_NPDU, SCOC_E_RCOC_RLSD_IND, SCOC_E_RCOC_ROUT_FAIL_IND, SCOC_E_SCU_N_DISC_REQ, SUA_CO_CORE, SUA_CO_RELCO, SUA_IEI_SRC_REF, osmo_scu_prim::u, and xua_msg_get_u32().
|
static |
References sccp_connection::fi, NULL, S_IDLE, sccp_conn_start_int_timer(), sccp_conn_start_rep_rel_timer(), sccp_conn_stop_release_timers(), sccp_conn_xua_gen_relre_and_send(), SCOC_E_RCOC_OTHER_NPDU, SCOC_E_RCOC_REL_COMPL_IND, SCOC_E_RCOC_RLSD_IND, SCOC_E_RCOC_ROUT_FAIL_IND, SCOC_E_T_INT_EXP, SCOC_E_T_REL_EXP, and SCOC_E_T_REP_REL_EXP.
|
static |
References osmo_scu_connect_param::called_addr, sccp_connection::called_addr, osmo_scu_connect_param::calling_addr, sccp_connection::calling_addr, osmo_scu_prim::connect, data, sccp_connection::fi, sccp_connection::importance, LOGPSCC, xua_msg::mtp, NULL, osmo_mtp_transfer_param::opc, OSMO_SCCP_ADDR_T_PC, OSMO_SCU_PRIM_N_CONNECT, osmo_sccp_addr::pc, osmo_sccp_addr::presence, sccp_connection::remote_pc, sccp_connection::remote_ref, S_CONN_PEND_IN, S_CONN_PEND_OUT, S_IDLE, osmo_scu_connect_param::sccp_class, sccp_connection::sccp_class, sccp_conn_scu_gen_encode_and_send(), sccp_conn_start_connect_timer(), sccp_conn_xua_gen_encode_and_send(), SCOC_E_RCOC_CONN_IND, SCOC_E_RCOC_OTHER_NPDU, SCOC_E_RCOC_REL_COMPL_IND, SCOC_E_RCOC_RLSD_IND, SCOC_E_SCU_N_CONN_REQ, sua_addr_parse(), SUA_CO_CORE, SUA_CO_COREF, SUA_CO_RELCO, SUA_IEI_DEST_ADDR, SUA_IEI_IMPORTANCE, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_ADDR, SUA_IEI_SRC_REF, osmo_scu_prim::u, xua_dialect_sua, xua_hdr_dump(), and xua_msg_get_u32().
|
static |
References sccp_conn_free().
|
static |
References data, sccp_connection::fi, xua_msg::mtp, NULL, osmo_mtp_transfer_param::opc, sccp_connection::release_cause, sccp_connection::remote_pc, sccp_connection::remote_ref, S_DISCONN_PEND, S_IDLE, sccp_conn_start_rel_timer(), sccp_conn_stop_connect_timer(), sccp_conn_xua_gen_encode_and_send(), sccp_conn_xua_gen_relre_and_send(), SCOC_E_CONN_TMR_EXP, SCOC_E_RCOC_CC_IND, SCOC_E_RCOC_CREF_IND, SCOC_E_RCOC_OTHER_NPDU, SCOC_E_RCOC_RLSD_IND, SCOC_E_RCOC_ROUT_FAIL_IND, SUA_CO_RELCO, SUA_IEI_SRC_REF, and xua_msg_get_u32().
struct osmo_fsm sccp_scoc_fsm |
Referenced by osmo_ss7_init(), and sccp_conn_alloc().
|
static |
|
static |