libosmo-sigtran
1.9.0.4-dc82
Osmocom SIGTRAN library
|
#include <stdint.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/sigtran/protocol/m3ua.h>
#include <osmocom/sigtran/protocol/sua.h>
#include <osmocom/sigtran/protocol/mtp.h>
#include "xua_internal.h"
#include "sccp_internal.h"
Functions | |
osmo_static_assert (M3UA_SNM_DUNA==SUA_SNM_DUNA, _sa_duna) | |
osmo_static_assert (M3UA_SNM_DAVA==SUA_SNM_DAVA, _sa_dava) | |
osmo_static_assert (M3UA_SNM_DAUD==SUA_SNM_DAUD, _sa_dava) | |
osmo_static_assert (M3UA_IEI_AFFECTED_PC==SUA_IEI_AFFECTED_PC, _sa_aff_pc) | |
osmo_static_assert (M3UA_IEI_ROUTE_CTX==SUA_IEI_ROUTE_CTX, _sa_rctx) | |
osmo_static_assert (M3UA_IEI_INFO_STRING==SUA_IEI_INFO_STRING, _sa_inf_str) | |
static const char * | format_affected_pcs_c (void *ctx, const struct osmo_ss7_instance *s7i, const struct xua_msg_part *ie_aff_pc) |
static unsigned int | get_all_rctx_for_asp (uint32_t *rctx, unsigned int rctx_size, struct osmo_ss7_asp *asp, struct osmo_ss7_as *excl_as) |
static void | xua_tx_snm_available (struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_str, bool available) |
static void | xua_tx_upu (struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_str) |
static void | xua_tx_scon (struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *concerned_dpc, const uint8_t *cong_level, const char *info_string) |
static void | xua_snm_pc_available_to_sccp (struct osmo_sccp_instance *sccp, const uint32_t *aff_pc, unsigned int num_aff_pc, bool available) |
void | xua_snm_pc_available (struct osmo_ss7_as *as, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_str, bool available) |
static void | sua_snm_ssn_available_to_sccp (struct osmo_sccp_instance *sccp, uint32_t aff_pc, uint32_t aff_ssn, uint32_t smi, bool available) |
static void | sua_snm_ssn_available (struct osmo_ss7_as *as, uint32_t aff_pc, uint32_t aff_ssn, const uint32_t *smi, const char *info_str, bool available) |
static void | xua_snm_upu (struct osmo_ss7_as *as, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_str) |
static void | xua_snm_scon (struct osmo_ss7_as *as, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *concerned_dpc, const uint8_t *cong_level, const char *info_string) |
void | xua_snm_rx_daud (struct osmo_ss7_asp *asp, struct xua_msg *xua) |
void | xua_snm_rx_duna (struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua) |
void | xua_snm_rx_dava (struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua) |
void | xua_snm_rx_dupu (struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua) |
void | xua_snm_rx_scon (struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua) |
|
static |
References xua_msg_part::dat, xua_msg_part::len, and osmo_ss7_pointcode_print().
Referenced by xua_snm_rx_daud(), xua_snm_rx_dava(), xua_snm_rx_duna(), and xua_snm_rx_scon().
|
static |
osmo_static_assert | ( | M3UA_SNM_DUNA | = =SUA_SNM_DUNA , |
_sa_duna | |||
) |
osmo_static_assert | ( | M3UA_SNM_DAVA | = =SUA_SNM_DAVA , |
_sa_dava | |||
) |
osmo_static_assert | ( | M3UA_SNM_DAUD | = =SUA_SNM_DAUD , |
_sa_dava | |||
) |
osmo_static_assert | ( | M3UA_IEI_AFFECTED_PC | = =SUA_IEI_AFFECTED_PC , |
_sa_aff_pc | |||
) |
osmo_static_assert | ( | M3UA_IEI_ROUTE_CTX | = =SUA_IEI_ROUTE_CTX , |
_sa_rctx | |||
) |
osmo_static_assert | ( | M3UA_IEI_INFO_STRING | = =SUA_IEI_INFO_STRING , |
_sa_inf_str | |||
) |
|
static |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, get_all_rctx_for_asp(), osmo_ss7_as::inst, osmo_ss7_asp::list, osmo_ss7_asp_active(), OSMO_SS7_ASP_PROT_SUA, OSMO_SS7_ASP_ROLE_SG, osmo_ss7_asp::proto, osmo_ss7_asp::role, osmo_ss7_instance::sccp, smi, sua_snm_ssn_available_to_sccp(), and sua_tx_snm_available().
Referenced by xua_snm_rx_dava(), and xua_snm_rx_duna().
|
static |
References sccp_scmg_rx_ssn_allowed(), and sccp_scmg_rx_ssn_prohibited().
Referenced by sua_snm_ssn_available().
void xua_snm_pc_available | ( | struct osmo_ss7_as * | as, |
const uint32_t * | aff_pc, | ||
unsigned int | num_aff_pc, | ||
const char * | info_str, | ||
bool | available | ||
) |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, get_all_rctx_for_asp(), osmo_ss7_as::inst, osmo_ss7_asp::list, osmo_ss7_asp_active(), OSMO_SS7_ASP_ROLE_SG, osmo_ss7_asp::role, osmo_ss7_instance::sccp, xua_snm_pc_available_to_sccp(), and xua_tx_snm_available().
Referenced by xua_snm_rx_dava(), and xua_snm_rx_duna().
|
static |
References sccp_scmg_rx_mtp_pause(), and sccp_scmg_rx_mtp_resume().
Referenced by xua_snm_pc_available().
void xua_snm_rx_daud | ( | struct osmo_ss7_asp * | asp, |
struct xua_msg * | xua | ||
) |
References xua_msg_part::dat, format_affected_pcs_c(), get_all_rctx_for_asp(), osmo_ss7_asp::inst, xua_msg_part::len, LOGPASP, M3UA_IEI_AFFECTED_PC, M3UA_IEI_INFO_STRING, osmo_ss7_asp_get_log_subsys(), osmo_ss7_route_lookup(), xua_msg_find_tag(), xua_msg_get_str(), and xua_tx_snm_available().
Referenced by m3ua_rx_snm_asp(), m3ua_rx_snm_sg(), sua_rx_snm_asp(), and sua_rx_snm_sg().
void xua_snm_rx_dava | ( | struct osmo_ss7_asp * | asp, |
struct osmo_ss7_as * | as, | ||
struct xua_msg * | xua | ||
) |
References osmo_ss7_asp::cfg, xua_msg_part::dat, format_affected_pcs_c(), osmo_ss7_asp::inst, xua_msg_part::len, LOGPASP, M3UA_IEI_AFFECTED_PC, M3UA_IEI_INFO_STRING, osmo_ss7_asp_get_log_subsys(), OSMO_SS7_ASP_PROT_SUA, OSMO_SS7_ASP_ROLE_ASP, osmo_ss7_asp::proto, osmo_ss7_asp::role, smi, SUA_IEI_SMI, SUA_IEI_SSN, sua_snm_ssn_available(), xua_msg_find_tag(), xua_msg_get_str(), xua_msg_get_u32p(), xua_msg_part_get_u32(), and xua_snm_pc_available().
Referenced by m3ua_rx_snm_asp(), and sua_rx_snm_asp().
void xua_snm_rx_duna | ( | struct osmo_ss7_asp * | asp, |
struct osmo_ss7_as * | as, | ||
struct xua_msg * | xua | ||
) |
References osmo_ss7_asp::cfg, xua_msg_part::dat, format_affected_pcs_c(), osmo_ss7_asp::inst, xua_msg_part::len, LOGPASP, M3UA_IEI_AFFECTED_PC, M3UA_IEI_INFO_STRING, osmo_ss7_asp_get_log_subsys(), OSMO_SS7_ASP_PROT_SUA, OSMO_SS7_ASP_ROLE_ASP, osmo_ss7_asp::proto, osmo_ss7_asp::role, smi, SUA_IEI_SMI, SUA_IEI_SSN, sua_snm_ssn_available(), xua_msg_find_tag(), xua_msg_get_str(), xua_msg_get_u32p(), xua_msg_part_get_u32(), and xua_snm_pc_available().
Referenced by m3ua_rx_snm_asp(), and sua_rx_snm_asp().
void xua_snm_rx_dupu | ( | struct osmo_ss7_asp * | asp, |
struct osmo_ss7_as * | as, | ||
struct xua_msg * | xua | ||
) |
References osmo_ss7_asp::cfg, osmo_ss7_asp::inst, LOGPASP, M3UA_IEI_USER_CAUSE, mtp_si_vals, osmo_ss7_asp_get_log_subsys(), OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, OSMO_SS7_ASP_ROLE_ASP, osmo_ss7_pointcode_print(), osmo_ss7_asp::proto, osmo_ss7_asp::role, SUA_IEI_AFFECTED_PC, SUA_IEI_INFO_STRING, SUA_IEI_USER_CAUSE, xua_msg_get_str(), xua_msg_get_u32(), and xua_snm_upu().
Referenced by m3ua_rx_snm_asp(), and sua_rx_snm_asp().
void xua_snm_rx_scon | ( | struct osmo_ss7_asp * | asp, |
struct osmo_ss7_as * | as, | ||
struct xua_msg * | xua | ||
) |
References xua_msg_part::dat, format_affected_pcs_c(), osmo_ss7_asp::inst, xua_msg_part::len, LOGPASP, M3UA_IEI_AFFECTED_PC, M3UA_IEI_CONC_DEST, M3UA_IEI_CONG_IND, M3UA_IEI_INFO_STRING, osmo_ss7_asp_get_log_subsys(), xua_msg_find_tag(), xua_msg_get_str(), xua_msg_get_u32p(), and xua_snm_scon().
Referenced by m3ua_rx_snm_asp().
|
static |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, get_all_rctx_for_asp(), osmo_ss7_as::inst, osmo_ss7_asp::list, osmo_ss7_asp_active(), OSMO_SS7_ASP_ROLE_SG, osmo_ss7_asp::role, and xua_tx_scon().
Referenced by xua_snm_rx_scon().
|
static |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, get_all_rctx_for_asp(), osmo_ss7_as::inst, osmo_ss7_asp::list, MTP_SI_SCCP, osmo_ss7_asp_active(), OSMO_SS7_ASP_ROLE_SG, osmo_ss7_asp::role, osmo_ss7_instance::sccp, sccp_scmg_rx_mtp_status(), and xua_tx_upu().
Referenced by xua_snm_rx_dupu().
|
static |
References osmo_ss7_asp::cfg, m3ua_tx_snm_congestion(), OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp::proto, and sua_tx_snm_congestion().
Referenced by xua_snm_scon().
|
static |
References osmo_ss7_asp::cfg, m3ua_tx_snm_available(), OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp::proto, and sua_tx_snm_available().
Referenced by xua_snm_pc_available(), and xua_snm_rx_daud().
|
static |
References osmo_ss7_asp::cfg, m3ua_tx_dupu(), OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_asp::proto, and sua_tx_dupu().
Referenced by xua_snm_upu().