Loading...
Searching...
No Matches
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
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
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 | ) |

References osmo_sccp_user::inst, osmo_sccp_user_bind(), and scmg_prim_cb().

Referenced by osmo_sccp_instance_create().

## 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()

void sccp_scmg_rx_mtp_status | ( | struct osmo_sccp_instance * | inst,
|  | uint32_t | dpc,
|  | enum mtp_unavail_cause | cause
| ) |  |

References osmo_scu_pcstate_param::affected_pc, dpc, MTP_UNAVAIL_C_INACC_REM_USER, MTP_UNAVAIL_C_UNEQUIP_REM_USER, MTP_UNAVAIL_C_UNKNOWN, OSMO_SCCP_REM_SCCP_S_UNAVAILABLE_UNKNOWN, OSMO_SCCP_SP_S_ACCESSIBLE, and sccp_lbcs_local_bcast_pcstate().

Referenced by xua_snm_upu().

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

References osmo_scu_state_param::affected_pc, dpc, sccp_lbcs_local_bcast_state(), and smi.

Referenced by scmg_rx_ssa(), and sua_snm_ssn_available_to_sccp().

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

References osmo_scu_state_param::affected_pc, dpc, sccp_lbcs_local_bcast_state(), and smi.

Referenced by scmg_rx_ssp(), and sua_snm_ssn_available_to_sccp().

## sccp_scmg_tx()

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

References sccp_scmg_msg::affected_pc, sccp_scmg_msg::affected_ssn, osmo_scu_unitdata_param::called_addr, osmo_scu_unitdata_param::calling_addr, msg_type, sccp_scmg_msg::msg_type, osmo_scu_prim::oph, osmo_sccp_user_sap_down(), OSMO_SCU_PRIM_N_UNITDATA, sccp_msgb_alloc(), SCCP_SAP_USER, SCCP_SCMG_MSGT_SSC, smi, sccp_scmg_msg::smi, sccp_scmg_msg::ssc_congestion_lvl, osmo_scu_prim::u, and osmo_scu_prim::unitdata.

Referenced by scmg_rx_sst().

## scmg_prim_cb()

static int scmg_prim_cb | ( | struct osmo_prim_hdr * | oph,
|  | void * | _scu
| ) |  |

static

References sccp_scmg_msg::affected_pc, osmo_scu_unitdata_param::called_addr, osmo_scu_unitdata_param::calling_addr, sccp_scmg_msg::msg_type, osmo_scu_prim::oph, OSMO_SCU_PRIM_N_UNITDATA, osmo_scu_prim_name(), SCCP_SCMG_MSGT_SSC, scmg_rx(), osmo_scu_prim::u, and osmo_scu_prim::unitdata.

Referenced by sccp_scmg_init().

## 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

References sccp_scmg_msg::msg_type, sccp_scmg_msgt_name(), SCCP_SCMG_MSGT_SOG, SCCP_SCMG_MSGT_SOR, SCCP_SCMG_MSGT_SSA, SCCP_SCMG_MSGT_SSC, SCCP_SCMG_MSGT_SSP, SCCP_SCMG_MSGT_SST, scmg_rx_ssa(), scmg_rx_ssp(), and scmg_rx_sst().

Referenced by scmg_prim_cb().

## 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

References sccp_scmg_msg::affected_pc, sccp_scmg_msg::affected_ssn, osmo_sccp_user::inst, sccp_scmg_rx_ssn_allowed(), and sccp_scmg_msg::smi.

Referenced by scmg_rx().

## 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

References sccp_scmg_msg::affected_pc, sccp_scmg_msg::affected_ssn, osmo_sccp_user::inst, sccp_scmg_rx_ssn_prohibited(), and sccp_scmg_msg::smi.

Referenced by scmg_rx().

## 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

References sccp_scmg_msg::affected_pc, sccp_scmg_msg::affected_ssn, osmo_sccp_user::inst, SCCP_SCMG_MSGT_SSA, sccp_scmg_tx(), and sccp_user_find().

Referenced by scmg_rx().

## 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
@ SCCP_SCMG_MSGT_SSC
Definition sccp_scmg.h:11
SCCP_SCMG_MSGT_SOG
@ SCCP_SCMG_MSGT_SOG
Definition sccp_scmg.h:10
SCCP_SCMG_MSGT_SST
@ SCCP_SCMG_MSGT_SST
Definition sccp_scmg.h:8
SCCP_SCMG_MSGT_SOR
@ SCCP_SCMG_MSGT_SOR
Definition sccp_scmg.h:9
SCCP_SCMG_MSGT_SSP
@ SCCP_SCMG_MSGT_SSP
Definition sccp_scmg.h:7
SCCP_SCMG_MSGT_SSA
@ SCCP_SCMG_MSGT_SSA
Definition sccp_scmg.h:6

Referenced by sccp_scmg_msgt_name().