libosmo-sigtran 2.0.0.50-b59d
Osmocom SIGTRAN library
sccp_scmg.c File Reference
#include <string.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/fsm.h>
#include <osmocom/sigtran/sccp_sap.h>
#include <osmocom/sigtran/protocol/sua.h>
#include <osmocom/sigtran/protocol/sccp_scmg.h>
#include <osmocom/sccp/sccp_types.h>
#include "xua_internal.h"
#include "sccp_internal.h"

Functions

void sccp_scmg_rx_ssn_allowed (struct osmo_sccp_instance *inst, uint32_t dpc, uint32_t ssn, uint32_t smi)
 
void sccp_scmg_rx_ssn_prohibited (struct osmo_sccp_instance *inst, uint32_t dpc, uint32_t ssn, uint32_t smi)
 
void sccp_scmg_rx_mtp_pause (struct osmo_sccp_instance *inst, uint32_t dpc)
 brief MTP -> SNM (MTP-PAUSE.ind) - inability to providing MTP service Q.714 5.2.2 More...
 
void sccp_scmg_rx_mtp_resume (struct osmo_sccp_instance *inst, uint32_t dpc)
 brief MTP -> SNM (MTP-RESUME.ind) - ability of providing the MTP service Q.714 5.2.3 More...
 
void sccp_scmg_rx_mtp_status (struct osmo_sccp_instance *inst, uint32_t dpc, enum mtp_unavail_cause cause)
 
static int sccp_scmg_tx (struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, uint8_t msg_type, uint8_t ssn, uint16_t pc, uint8_t smi, uint8_t *ssc_cong_lvl)
 
static int scmg_rx_ssa (struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *ssa)
 
static int scmg_rx_ssp (struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *ssp)
 
static int scmg_rx_sst (struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *sst)
 
static int scmg_rx (struct osmo_sccp_user *scu, const struct osmo_sccp_addr *calling_addr, const struct osmo_sccp_addr *called_addr, const struct sccp_scmg_msg *scmg)
 
static int scmg_prim_cb (struct osmo_prim_hdr *oph, void *_scu)
 
int sccp_scmg_init (struct osmo_sccp_instance *inst)
 

Variables

const struct value_string sccp_scmg_msgt_names []
 

Function Documentation

◆ sccp_scmg_init()

int sccp_scmg_init ( struct osmo_sccp_instance inst)

◆ sccp_scmg_rx_mtp_pause()

void sccp_scmg_rx_mtp_pause ( struct osmo_sccp_instance inst,
uint32_t  dpc 
)

brief MTP -> SNM (MTP-PAUSE.ind) - inability to providing MTP service Q.714 5.2.2

References osmo_scu_pcstate_param::affected_pc, dpc, OSMO_SCCP_REM_SCCP_S_UNAVAILABLE_UNKNOWN, OSMO_SCCP_SP_S_INACCESSIBLE, and sccp_lbcs_local_bcast_pcstate().

Referenced by xua_snm_pc_available_to_sccp().

◆ sccp_scmg_rx_mtp_resume()

void sccp_scmg_rx_mtp_resume ( struct osmo_sccp_instance inst,
uint32_t  dpc 
)

brief MTP -> SNM (MTP-RESUME.ind) - ability of providing the MTP service Q.714 5.2.3

References osmo_scu_pcstate_param::affected_pc, dpc, OSMO_SCCP_REM_SCCP_S_AVAILABLE, OSMO_SCCP_SP_S_ACCESSIBLE, and sccp_lbcs_local_bcast_pcstate().

Referenced by xua_snm_pc_available_to_sccp().

◆ sccp_scmg_rx_mtp_status()

◆ sccp_scmg_rx_ssn_allowed()

void sccp_scmg_rx_ssn_allowed ( struct osmo_sccp_instance inst,
uint32_t  dpc,
uint32_t  ssn,
uint32_t  smi 
)

◆ sccp_scmg_rx_ssn_prohibited()

void sccp_scmg_rx_ssn_prohibited ( struct osmo_sccp_instance inst,
uint32_t  dpc,
uint32_t  ssn,
uint32_t  smi 
)

◆ sccp_scmg_tx()

◆ scmg_prim_cb()

◆ scmg_rx()

static int scmg_rx ( struct osmo_sccp_user scu,
const struct osmo_sccp_addr calling_addr,
const struct osmo_sccp_addr called_addr,
const struct sccp_scmg_msg scmg 
)
static

◆ scmg_rx_ssa()

static int scmg_rx_ssa ( struct osmo_sccp_user scu,
const struct osmo_sccp_addr calling_addr,
const struct osmo_sccp_addr called_addr,
const struct sccp_scmg_msg ssa 
)
static

◆ scmg_rx_ssp()

static int scmg_rx_ssp ( struct osmo_sccp_user scu,
const struct osmo_sccp_addr calling_addr,
const struct osmo_sccp_addr called_addr,
const struct sccp_scmg_msg ssp 
)
static

◆ scmg_rx_sst()

static int scmg_rx_sst ( struct osmo_sccp_user scu,
const struct osmo_sccp_addr calling_addr,
const struct osmo_sccp_addr called_addr,
const struct sccp_scmg_msg sst 
)
static

Variable Documentation

◆ sccp_scmg_msgt_names

const struct value_string sccp_scmg_msgt_names[]
Initial value:
= {
{ SCCP_SCMG_MSGT_SSA, "SSA (Subsystem Allowed)" },
{ SCCP_SCMG_MSGT_SSP, "SSP (Subsystem Prohibited)" },
{ SCCP_SCMG_MSGT_SST, "SST (Subsystem Status Test)" },
{ SCCP_SCMG_MSGT_SOR, "SOR (Subsystem Out-of-service Request)" },
{ SCCP_SCMG_MSGT_SOG, "SOG (Subsystem Out-of-service Grant)" },
{ SCCP_SCMG_MSGT_SSC, "SSC (Subsystem Congested)" },
{ 0, NULL }
}
@ SCCP_SCMG_MSGT_SSC
Definition: sccp_scmg.h:11
@ SCCP_SCMG_MSGT_SOG
Definition: sccp_scmg.h:10
@ SCCP_SCMG_MSGT_SST
Definition: sccp_scmg.h:8
@ SCCP_SCMG_MSGT_SOR
Definition: sccp_scmg.h:9
@ SCCP_SCMG_MSGT_SSP
Definition: sccp_scmg.h:7
@ SCCP_SCMG_MSGT_SSA
Definition: sccp_scmg.h:6

Referenced by sccp_scmg_msgt_name().