libosmo-sigtran 2.1.0
Osmocom SIGTRAN library
Loading...
Searching...
No Matches
xua_snm.c File Reference
#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 "ss7_as.h"
#include "ss7_asp.h"
#include "ss7_internal.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)
 

Function Documentation

◆ format_affected_pcs_c()

static const char * format_affected_pcs_c ( void * ctx,
const struct osmo_ss7_instance * s7i,
const struct xua_msg_part * ie_aff_pc )
static

◆ get_all_rctx_for_asp()

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

◆ osmo_static_assert() [1/6]

osmo_static_assert ( M3UA_IEI_AFFECTED_PC = =SUA_IEI_AFFECTED_PC,
_sa_aff_pc  )

◆ osmo_static_assert() [2/6]

osmo_static_assert ( M3UA_IEI_INFO_STRING = =SUA_IEI_INFO_STRING,
_sa_inf_str  )

◆ osmo_static_assert() [3/6]

osmo_static_assert ( M3UA_IEI_ROUTE_CTX = =SUA_IEI_ROUTE_CTX,
_sa_rctx  )

◆ osmo_static_assert() [4/6]

osmo_static_assert ( M3UA_SNM_DAUD = =SUA_SNM_DAUD,
_sa_dava  )

◆ osmo_static_assert() [5/6]

osmo_static_assert ( M3UA_SNM_DAVA = =SUA_SNM_DAVA,
_sa_dava  )

◆ osmo_static_assert() [6/6]

osmo_static_assert ( M3UA_SNM_DUNA = =SUA_SNM_DUNA,
_sa_duna  )

◆ sua_snm_ssn_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

◆ sua_snm_ssn_available_to_sccp()

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

◆ xua_snm_pc_available()

◆ xua_snm_pc_available_to_sccp()

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 )
static

◆ xua_snm_rx_daud()

◆ xua_snm_rx_dava()

◆ xua_snm_rx_duna()

◆ xua_snm_rx_dupu()

◆ xua_snm_rx_scon()

◆ xua_snm_scon()

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 )
static

◆ xua_snm_upu()

static void xua_snm_upu ( struct osmo_ss7_as * as,
uint32_t dpc,
uint16_t user,
uint16_t cause,
const char * info_str )
static

◆ xua_tx_scon()

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

◆ xua_tx_snm_available()

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

◆ xua_tx_upu()

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