sigtran/html/ 0000755 0001750 0001750 00000000000 14741332751 012460 5 ustar build build sigtran/html/structosmo__ss7__user.html 0000644 0001750 0001750 00000023525 14741332751 017727 0 ustar build build
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <ss7_user.h>
Data Fields | |
struct osmo_ss7_instance * | inst |
const char * | name |
osmo_prim_cb | prim_cb |
void * | priv |
struct osmo_ss7_instance* osmo_ss7_user::inst |
const char* osmo_ss7_user::name |
Referenced by DEFUN(), osmo_ss7_user_create(), osmo_ss7_user_register(), and ss7_mtp_to_user().
osmo_prim_cb osmo_ss7_user::prim_cb |
Referenced by deliver_to_mtp_user(), osmo_ss7_user_set_prim_cb(), and ss7_mtp_to_user().
void* osmo_ss7_user::priv |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdbool.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/msgb.h>
#include <osmocom/sccp/sccp_types.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/sigtran/sccp_sap.h>
#include <osmocom/sigtran/sccp_helpers.h>
#include <osmocom/sigtran/protocol/sua.h>
#include <osmocom/sigtran/protocol/mtp.h>
#include "sccp_internal.h"
#include "ss7_as.h"
#include "ss7_instance.h"
#include "ss7_linkset.h"
#include "ss7_route.h"
#include "xua_internal.h"
Functions | |
static bool | sua_is_connectionless (struct xua_msg *xua) |
static bool | sua_is_cr (struct xua_msg *xua) |
static bool | dpc_accessible (struct osmo_sccp_instance *inst, uint32_t pc) |
static bool | sccp_available (struct osmo_sccp_instance *inst, const struct osmo_sccp_addr *addr) |
static int | sua2sccp_tx_m3ua (struct osmo_sccp_instance *inst, struct xua_msg *sua) |
static int | gen_mtp_transfer_req_xua (struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called) |
static int | translate (struct osmo_sccp_instance *inst, const struct osmo_sccp_addr *called, struct osmo_sccp_addr *translated) |
static int | scrc_local_out_common (struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called) |
static int | scrc_node_12 (struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called) |
static int | scrc_node_2 (struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called) |
static int | scrc_node_7 (struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called) |
static int | scrc_node_4 (struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t return_cause) |
static int | scrc_translate_node_9 (struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called) |
static int | scrc_node_6 (struct osmo_sccp_instance *inst, struct xua_msg *xua, const struct osmo_sccp_addr *called) |
int | sccp_scrc_rx_scoc_conn_msg (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
int | sccp_scrc_rx_sclc_msg (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
static void | ensure_opc_in_calling_ssn (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
int | scrc_rx_mtp_xfer_ind_xua (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
|
static |
Referenced by scrc_node_2().
|
static |
References xua_msg::mtp, osmo_mtp_transfer_param::opc, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, OSMO_SCCP_RI_SSN_PC, osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_sccp_addr::ri, sua_addr_parse(), SUA_IEI_SRC_ADDR, xua_msg_add_sccp_addr(), and xua_msg_free_tag().
Referenced by scrc_rx_mtp_xfer_ind_xua().
|
static |
References osmo_ss7_route::as, osmo_ss7_as::cfg, osmo_ss7_linkset::cfg, osmo_ss7_route::dest, osmo_mtp_transfer_param::dpc, osmo_ss7_as::inst, osmo_ss7_route::linkset, xua_msg::mtp, osmo_ss7_linkset::name, osmo_sccp_addr_dump(), OSMO_SCCP_ADDR_T_PC, OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_route_lookup(), osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_ss7_as::proto, osmo_sccp_instance::ss7, sua2sccp_tx_m3ua(), and sua_tx_xua_as().
Referenced by scrc_node_12().
|
static |
Referenced by scrc_node_2().
int sccp_scrc_rx_sclc_msg | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
References xua_msg::hdr, xua_common_hdr::msg_type, OSMO_SCCP_RI_GT, osmo_sccp_addr::ri, scrc_local_out_common(), scrc_node_12(), scrc_node_7(), sua_addr_parse(), SUA_CL_CLDR, SUA_IEI_DEST_ADDR, xua_dialect_sua, and xua_msg_dump().
Referenced by sccp_sclc_rx_scrc_rout_fail(), and xua_gen_encode_and_send().
int sccp_scrc_rx_scoc_conn_msg | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
References xua_msg::hdr, xua_common_hdr::msg_type, scrc_local_out_common(), scrc_node_2(), sua_addr_parse(), SUA_CO_CORE, SUA_IEI_DEST_ADDR, xua_dialect_sua, and xua_msg_dump().
Referenced by sccp_scoc_rx_scrc_rout_fail(), tx_coerr_from_xua(), tx_relco_from_xua(), tx_rlsd_from_xua_twoway(), xua_gen_encode_and_send(), and xua_gen_relre_and_send().
|
static |
References OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, osmo_ss7_pc_is_local(), osmo_sccp_addr::pc, osmo_sccp_addr::presence, scrc_node_12(), scrc_node_4(), scrc_node_6(), scrc_translate_node_9(), and osmo_sccp_instance::ss7.
Referenced by sccp_scrc_rx_sclc_msg(), and sccp_scrc_rx_scoc_conn_msg().
|
static |
References gen_mtp_transfer_req_xua(), and osmo_ss7_as::inst.
Referenced by sccp_scrc_rx_sclc_msg(), scrc_local_out_common(), scrc_node_2(), and scrc_node_7().
|
static |
References dpc_accessible(), osmo_ss7_as::inst, osmo_sccp_addr::pc, sccp_available(), sccp_scoc_rx_scrc_rout_fail(), and scrc_node_12().
Referenced by sccp_scrc_rx_scoc_conn_msg().
|
static |
References osmo_ss7_as::inst, sccp_sclc_rx_scrc_rout_fail(), sccp_scoc_rx_scrc_rout_fail(), and sua_is_connectionless().
Referenced by scrc_local_out_common(), scrc_node_6(), scrc_rx_mtp_xfer_ind_xua(), and scrc_translate_node_9().
|
static |
References osmo_sccp_user::inst, osmo_ss7_pointcode_print(), osmo_sccp_addr::pc, sccp_sclc_rx_from_scrc(), sccp_sclc_rx_scrc_rout_fail(), sccp_scoc_rx_from_scrc(), sccp_scoc_rx_scrc_rout_fail(), sccp_user_find(), scrc_node_4(), osmo_sccp_instance::ss7, osmo_sccp_addr::ssn, and sua_is_connectionless().
Referenced by scrc_local_out_common(), and scrc_rx_mtp_xfer_ind_xua().
|
static |
References osmo_ss7_as::inst, scrc_node_12(), and sua_is_connectionless().
Referenced by sccp_scrc_rx_sclc_msg(), and scrc_translate_node_9().
int scrc_rx_mtp_xfer_ind_xua | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
References xua_msg_part::dat, ensure_opc_in_calling_ssn(), OSMO_SCCP_RI_GT, osmo_sccp_addr::ri, sccp_scoc_rx_from_scrc(), scrc_node_4(), scrc_node_6(), scrc_translate_node_9(), sua_addr_parse(), SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_S7_HOP_CTR, sua_is_connectionless(), sua_is_cr(), xua_dialect_sua, xua_msg_dump(), xua_msg_find_tag(), xua_msg_get_u32(), and xua_msg_part_get_u32().
Referenced by mtp_user_prim_cb(), sua_rx_cl(), and sua_rx_co().
|
static |
References OSMO_SCCP_RI_SSN_IP, OSMO_SCCP_RI_SSN_PC, osmo_ss7_pc_is_local(), osmo_sccp_addr::pc, osmo_sccp_addr::ri, sccp_sclc_rx_from_scrc(), sccp_sclc_rx_scrc_rout_fail(), sccp_scoc_rx_from_scrc(), scrc_node_4(), scrc_node_7(), osmo_sccp_instance::ss7, sua_is_connectionless(), and translate().
Referenced by scrc_local_out_common(), and scrc_rx_mtp_xfer_ind_xua().
|
static |
References osmo_ss7_instance::cfg, osmo_mtp_transfer_param::dpc, osmo_ss7_instance::id, xua_msg::mtp, MTP_SAP_USER, MTP_SI_SCCP, MTP_SIO, osmo_ss7_instance::network_indicator, osmo_mtp_transfer_param::opc, osmo_mtp_prim::oph, OSMO_MTP_PRIM_TRANSFER, osmo_ss7_pc_is_valid(), osmo_ss7_user_mtp_xfer_req(), osmo_sua_to_sccp(), osmo_ss7_instance::primary_pc, osmo_mtp_transfer_param::sio, osmo_mtp_transfer_param::sls, osmo_sccp_instance::ss7, osmo_mtp_prim::transfer, and osmo_mtp_prim::u.
Referenced by gen_mtp_transfer_req_xua().
|
static |
References xua_msg::hdr, xua_common_hdr::msg_class, and SUA_MSGC_CL.
Referenced by scrc_node_4(), scrc_node_6(), scrc_node_7(), scrc_rx_mtp_xfer_ind_xua(), and scrc_translate_node_9().
|
static |
References xua_msg::hdr, xua_common_hdr::msg_class, xua_common_hdr::msg_type, SUA_CO_CORE, and SUA_MSGC_CO.
Referenced by scrc_rx_mtp_xfer_ind_xua().
|
static |
Referenced by scrc_translate_node_9().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdint.h>
Go to the source code of this file.
Macros | |
#define | M2UA_VERSION 1 |
Types found in the M2UA RFC 3331. More... | |
#define | M2UA_SPARE 0 |
#define M2UA_SPARE 0 |
#define M2UA_VERSION 1 |
Types found in the M2UA RFC 3331.
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
3.3.3.1 Error (ERR)
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
MTP2 User Adaption = MAUP messages.
anonymous enum |
anonymous enum |
anonymous enum |
anonymous enum |
Tag Values for M2UA.
anonymous enum |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <osmo_ss7.h>
Data Fields | |
uint32_t | context |
uint32_t | l_rk_id |
uint32_t | pc |
uint8_t | si |
uint32_t | ssn |
uint32_t osmo_ss7_routing_key::context |
uint32_t osmo_ss7_routing_key::l_rk_id |
Referenced by handle_rkey_reg_resp(), lm_rkm_reg(), osmo_ss7_as_find_by_l_rk_id(), ss7_as_alloc(), and xua_rkm_send_reg_req().
uint32_t osmo_ss7_routing_key::pc |
uint8_t osmo_ss7_routing_key::si |
Referenced by _rout_key(), and write_one_as().
uint32_t osmo_ss7_routing_key::ssn |
Referenced by _rout_key(), and write_one_as().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <errno.h>
#include <stdint.h>
#include <unistd.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/talloc.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/sigtran/sccp_sap.h>
#include "ss7_as.h"
#include "ss7_asp.h"
#include "ss7_internal.h"
#include "ss7_instance.h"
#include "ss7_linkset.h"
#include "ss7_route_table.h"
Functions | |
struct osmo_ss7_instance * | ss7_instance_alloc (void *ctx, uint32_t id) |
void | osmo_ss7_instance_destroy (struct osmo_ss7_instance *inst) |
Destroy a SS7 Instance. More... | |
uint32_t | osmo_ss7_instance_get_id (const struct osmo_ss7_instance *inst) |
const char * | osmo_ss7_instance_get_name (const struct osmo_ss7_instance *inst) |
uint32_t | osmo_ss7_instance_get_primary_pc (const struct osmo_ss7_instance *inst) |
int | osmo_ss7_instance_set_pc_fmt (struct osmo_ss7_instance *inst, uint8_t c0, uint8_t c1, uint8_t c2) |
Set the point code format used in given SS7 instance. More... | |
const struct osmo_ss7_pc_fmt * | osmo_ss7_instance_get_pc_fmt (const struct osmo_ss7_instance *inst) |
struct osmo_sccp_instance * | osmo_ss7_ensure_sccp (struct osmo_ss7_instance *inst) |
Allocate an SCCP instance, if not present yet. More... | |
struct osmo_sccp_instance * | osmo_ss7_get_sccp (const struct osmo_ss7_instance *inst) |
Get the SCCP instance, if present. More... | |
bool | osmo_ss7_pc_is_local (const struct osmo_ss7_instance *inst, uint32_t pc) |
int | osmo_ss7_find_free_rctx (struct osmo_ss7_instance *inst) |
uint32_t | ss7_find_free_l_rk_id (struct osmo_ss7_instance *inst) |
struct osmo_ss7_as * | osmo_ss7_as_find_by_name (struct osmo_ss7_instance *inst, const char *name) |
Find Application Server by given name. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_by_rctx (struct osmo_ss7_instance *inst, uint32_t rctx) |
Find Application Server by given routing context. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_by_l_rk_id (struct osmo_ss7_instance *inst, uint32_t l_rk_id) |
Find Application Server by given local routing key ID. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_by_proto (struct osmo_ss7_instance *inst, enum osmo_ss7_asp_protocol proto) |
Find Application Server (AS) by given protocol. More... | |
struct osmo_ss7_as * | osmo_ss7_as_find_or_create (struct osmo_ss7_instance *inst, const char *name, enum osmo_ss7_asp_protocol proto) |
Find or Create Application Server. More... | |
struct osmo_ss7_asp * | osmo_ss7_asp_find_by_name (struct osmo_ss7_instance *inst, const char *name) |
struct osmo_ss7_asp * | osmo_ss7_asp_find_by_proto (struct osmo_ss7_as *as, enum osmo_ss7_asp_protocol proto) |
Find an ASP that matches the given ASP protocol (xUA variant). More... | |
struct osmo_ss7_asp * | osmo_ss7_asp_find2 (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, int trans_proto, enum osmo_ss7_asp_protocol proto) |
struct osmo_ss7_asp * | osmo_ss7_asp_find (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, enum osmo_ss7_asp_protocol proto) |
struct osmo_ss7_asp * | osmo_ss7_asp_find_or_create2 (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, int trans_proto, enum osmo_ss7_asp_protocol proto) |
struct osmo_ss7_asp * | osmo_ss7_asp_find_or_create (struct osmo_ss7_instance *inst, const char *name, uint16_t remote_port, uint16_t local_port, enum osmo_ss7_asp_protocol proto) |
static int | strnappendchar (char *str, char c, size_t n) |
static const char * | gen_pc_fmtstr (const struct osmo_ss7_pc_fmt *pc_fmt, unsigned int *num_comp_exp) |
static unsigned int | num_pc_comp_exp (const struct osmo_ss7_pc_fmt *pc_fmt) |
static unsigned int | get_pc_comp_shift (const struct osmo_ss7_pc_fmt *pc_fmt, unsigned int comp_num) |
static uint32_t | pc_comp_shift_and_mask (const struct osmo_ss7_pc_fmt *pc_fmt, unsigned int comp_num, uint32_t pc) |
int | osmo_ss7_pointcode_parse (const struct osmo_ss7_instance *inst, const char *str) |
const char * | osmo_ss7_pointcode_print_buf (char *buf, size_t len, const struct osmo_ss7_instance *inst, uint32_t pc) |
const char * | osmo_ss7_pointcode_print (const struct osmo_ss7_instance *inst, uint32_t pc) |
const char * | osmo_ss7_pointcode_print2 (const struct osmo_ss7_instance *inst, uint32_t pc) |
int | osmo_ss7_pointcode_parse_mask_or_len (const struct osmo_ss7_instance *inst, const char *in) |
Variables | |
static int32_t | next_rctx = 1 |
static int32_t | next_l_rk_id = 1 |
static const struct osmo_ss7_pc_fmt | default_pc_fmt |
|
static |
References osmo_ss7_pc_fmt::component_len, osmo_ss7_pc_fmt::delimiter, MAX_PC_STR_LEN, and strnappendchar().
Referenced by osmo_ss7_pointcode_parse(), and osmo_ss7_pointcode_print_buf().
|
static |
References osmo_ss7_pc_fmt::component_len, and osmo_ss7_pc_width().
Referenced by osmo_ss7_pointcode_parse(), and pc_comp_shift_and_mask().
|
static |
References osmo_ss7_pc_fmt::component_len.
Referenced by osmo_ss7_pointcode_parse(), and osmo_ss7_pointcode_print_buf().
struct osmo_ss7_as * osmo_ss7_as_find_by_l_rk_id | ( | struct osmo_ss7_instance * | inst, |
uint32_t | l_rk_id | ||
) |
Find Application Server by given local routing key ID.
[in] | inst | SS7 Instance on which we operate |
[in] | l_rk_id | Local Routing Key ID |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::inst, osmo_ss7_routing_key::l_rk_id, osmo_ss7_as::list, osmo_ss7_as::routing_key, and ss7_initialized.
Referenced by handle_reg_conf(), and ss7_find_free_l_rk_id().
struct osmo_ss7_as * osmo_ss7_as_find_by_name | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
Find Application Server by given name.
[in] | inst | SS7 Instance on which we operate |
[in] | name | Name of AS |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::inst, osmo_ss7_as::list, osmo_ss7_as::name, and ss7_initialized.
Referenced by DEFUN_ATTR(), ipa_asp_fsm_wait_id_resp(), osmo_ss7_as_find_or_create(), and ss7_route_set_linkset().
struct osmo_ss7_as * osmo_ss7_as_find_by_proto | ( | struct osmo_ss7_instance * | inst, |
enum osmo_ss7_asp_protocol | proto | ||
) |
Find Application Server (AS) by given protocol.
[in] | inst | SS7 Instance on which we operate |
[in] | proto | Protocol identifier that must match |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::inst, osmo_ss7_as::list, osmo_ss7_asp_find_by_proto(), osmo_ss7_as::proto, and ss7_initialized.
Referenced by osmo_sccp_simple_client_on_ss7_id().
struct osmo_ss7_as * osmo_ss7_as_find_by_rctx | ( | struct osmo_ss7_instance * | inst, |
uint32_t | rctx | ||
) |
Find Application Server by given routing context.
[in] | inst | SS7 Instance on which we operate |
[in] | rctx | Routing Context |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_routing_key::context, osmo_ss7_as::inst, osmo_ss7_as::list, osmo_ss7_as::routing_key, and ss7_initialized.
Referenced by handle_rkey_dereg(), handle_rkey_reg(), osmo_ss7_find_free_rctx(), xua_asp_fsm_inactive(), and xua_find_as_for_asp().
struct osmo_ss7_as * osmo_ss7_as_find_or_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
Find or Create Application Server.
[in] | inst | SS7 Instance on which we operate |
[in] | name | Name of Application Server |
[in] | proto | Protocol of Application Server |
References osmo_ss7_as::cfg, osmo_ss7_as::inst, LOGPAS, osmo_ss7_as::name, osmo_ss7_as_find_by_name(), osmo_ss7_as::proto, ss7_as_alloc(), and ss7_initialized.
Referenced by DEFUN_ATTR(), handle_rkey_reg(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_add_clnt().
struct osmo_ss7_asp * osmo_ss7_asp_find | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
uint16_t | remote_port, | ||
uint16_t | local_port, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
struct osmo_ss7_asp * osmo_ss7_asp_find2 | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
uint16_t | remote_port, | ||
uint16_t | local_port, | ||
int | trans_proto, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
struct osmo_ss7_asp * osmo_ss7_asp_find_by_name | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::cfg, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp::name, and ss7_initialized.
Referenced by DEFUN(), DEFUN_ATTR(), osmo_ss7_as_add_asp(), osmo_ss7_as_del_asp(), osmo_ss7_asp_find2(), osmo_ss7_asp_find_or_create2(), show_asp(), show_asp_assoc_status(), and show_asp_remaddr().
struct osmo_ss7_asp * osmo_ss7_asp_find_by_proto | ( | struct osmo_ss7_as * | as, |
enum osmo_ss7_asp_protocol | proto | ||
) |
Find an ASP that matches the given ASP protocol (xUA variant).
[in] | as | Application Server in which to look for asp |
[in] | proto | ASP protocol (xUA variant) to match |
References osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, and osmo_ss7_asp::proto.
Referenced by osmo_sccp_simple_client_on_ss7_id(), and osmo_ss7_as_find_by_proto().
struct osmo_ss7_asp * osmo_ss7_asp_find_or_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
uint16_t | remote_port, | ||
uint16_t | local_port, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
struct osmo_ss7_asp * osmo_ss7_asp_find_or_create2 | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
uint16_t | remote_port, | ||
uint16_t | local_port, | ||
int | trans_proto, | ||
enum osmo_ss7_asp_protocol | proto | ||
) |
References osmo_ss7_asp::cfg, osmo_ss7_asp::inst, osmo_ss7_asp::local, osmo_ss7_asp::name, osmo_ss7_asp_find_by_name(), osmo_ss7_asp_peer::port, osmo_ss7_asp::proto, osmo_ss7_asp::remote, ss7_asp_alloc(), ss7_initialized, and osmo_ss7_asp::trans_proto.
Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_asp_find_or_create(), and xua_accept_cb().
struct osmo_sccp_instance * osmo_ss7_ensure_sccp | ( | struct osmo_ss7_instance * | inst | ) |
Allocate an SCCP instance, if not present yet.
References LOGSS7, osmo_sccp_instance_create(), and osmo_ss7_instance::sccp.
Referenced by DEFUN_ATTR(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_on_ss7_id(), ss7_asp_alloc(), and ss7_xua_server_create2().
int osmo_ss7_find_free_rctx | ( | struct osmo_ss7_instance * | inst | ) |
References next_rctx, and osmo_ss7_as_find_by_rctx().
Referenced by handle_rkey_reg().
struct osmo_sccp_instance * osmo_ss7_get_sccp | ( | const struct osmo_ss7_instance * | inst | ) |
Get the SCCP instance, if present.
[in] | inst | SS7 Instance on which we operate |
References osmo_ss7_instance::sccp.
void osmo_ss7_instance_destroy | ( | struct osmo_ss7_instance * | inst | ) |
Destroy a SS7 Instance.
[in] | inst | SS7 Instance to be destroyed |
References osmo_ss7_instance::as_list, osmo_ss7_instance::asp_list, osmo_ss7_asp::inst, osmo_ss7_instance::linksets, osmo_ss7_asp::list, osmo_ss7_instance::list, LOGSS7, osmo_ss7_as_destroy(), osmo_ss7_asp_destroy(), ss7_initialized, and ss7_linkset_destroy().
Referenced by osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_on_ss7_id().
uint32_t osmo_ss7_instance_get_id | ( | const struct osmo_ss7_instance * | inst | ) |
References osmo_ss7_instance::cfg, osmo_ss7_instance::id, and osmo_ss7_asp::inst.
const char * osmo_ss7_instance_get_name | ( | const struct osmo_ss7_instance * | inst | ) |
References osmo_ss7_instance::cfg, osmo_ss7_asp::inst, and osmo_ss7_instance::name.
const struct osmo_ss7_pc_fmt * osmo_ss7_instance_get_pc_fmt | ( | const struct osmo_ss7_instance * | inst | ) |
References osmo_ss7_instance::cfg, and osmo_ss7_instance::pc_fmt.
uint32_t osmo_ss7_instance_get_primary_pc | ( | const struct osmo_ss7_instance * | inst | ) |
References osmo_ss7_instance::cfg, osmo_ss7_asp::inst, and osmo_ss7_instance::primary_pc.
int osmo_ss7_instance_set_pc_fmt | ( | struct osmo_ss7_instance * | inst, |
uint8_t | c0, | ||
uint8_t | c1, | ||
uint8_t | c2 | ||
) |
Set the point code format used in given SS7 instance.
References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, osmo_ss7_asp::inst, LOGSS7, and osmo_ss7_instance::pc_fmt.
bool osmo_ss7_pc_is_local | ( | const struct osmo_ss7_instance * | inst, |
uint32_t | pc | ||
) |
int osmo_ss7_pointcode_parse | ( | const struct osmo_ss7_instance * | inst, |
const char * | str | ||
) |
References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, default_pc_fmt, gen_pc_fmtstr(), get_pc_comp_shift(), LOGSS7, num_pc_comp_exp(), and osmo_ss7_instance::pc_fmt.
Referenced by _rout_key(), DEFUN_ATTR(), and osmo_ss7_pointcode_parse_mask_or_len().
int osmo_ss7_pointcode_parse_mask_or_len | ( | const struct osmo_ss7_instance * | inst, |
const char * | in | ||
) |
References osmo_ss7_instance::cfg, default_pc_fmt, osmo_ss7_pc_width(), osmo_ss7_pointcode_parse(), and osmo_ss7_instance::pc_fmt.
Referenced by DEFUN_ATTR().
const char * osmo_ss7_pointcode_print | ( | const struct osmo_ss7_instance * | inst, |
uint32_t | pc | ||
) |
References MAX_PC_STR_LEN, and osmo_ss7_pointcode_print_buf().
Referenced by DEFUN(), format_affected_pcs_c(), handle_rkey_dereg(), handle_rkey_reg(), hmrt_message_for_routing(), ipa_del_route(), m3ua_hmdc_rx_from_l2(), m3ua_rx_xfer(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_user_unbind(), osmo_ss7_route_name(), osmo_ss7_route_print(), sccp_addr_to_str_buf(), sccp_scoc_rx_inval_opc(), sccp_user_bind_pc(), scrc_node_6(), show_user(), ss7_route_destroy(), ss7_route_insert(), ss7_route_set_linkset(), vty_show_connection(), write_one_as(), write_one_cs7(), write_one_rtable(), write_sccp_addressbook(), and xua_snm_rx_dupu().
const char * osmo_ss7_pointcode_print2 | ( | const struct osmo_ss7_instance * | inst, |
uint32_t | pc | ||
) |
References MAX_PC_STR_LEN, and osmo_ss7_pointcode_print_buf().
Referenced by m3ua_rx_xfer(), osmo_ss7_route_name(), osmo_ss7_route_print(), sccp_scoc_rx_inval_opc(), and write_one_rtable().
const char * osmo_ss7_pointcode_print_buf | ( | char * | buf, |
size_t | len, | ||
const struct osmo_ss7_instance * | inst, | ||
uint32_t | pc | ||
) |
References osmo_ss7_instance::cfg, default_pc_fmt, gen_pc_fmtstr(), len, num_pc_comp_exp(), osmo_ss7_pc_is_valid(), pc_comp_shift_and_mask(), and osmo_ss7_instance::pc_fmt.
Referenced by osmo_ss7_pointcode_print(), and osmo_ss7_pointcode_print2().
|
static |
References osmo_ss7_pc_fmt::component_len, and get_pc_comp_shift().
Referenced by osmo_ss7_pointcode_print_buf().
uint32_t ss7_find_free_l_rk_id | ( | struct osmo_ss7_instance * | inst | ) |
References next_l_rk_id, and osmo_ss7_as_find_by_l_rk_id().
Referenced by ss7_as_alloc().
struct osmo_ss7_instance * ss7_instance_alloc | ( | void * | ctx, |
uint32_t | id | ||
) |
References osmo_ss7_instance::as_list, osmo_ss7_instance::asp_list, osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, osmo_ss7_pc_fmt::delimiter, osmo_ss7_instance::id, osmo_ss7_instance::linksets, osmo_ss7_instance::list, LOGSS7, osmo_ss7_instances, OSMO_SS7_PC_INVALID, osmo_ss7_instance::pc_fmt, osmo_ss7_instance::primary_pc, osmo_ss7_instance::rtable_list, osmo_ss7_instance::rtable_system, osmo_ss7_instance::sccp_address_book, osmo_ss7_instance::secondary_pc, ss7_route_table_find_or_create(), and osmo_ss7_instance::xua_servers.
Referenced by osmo_ss7_instance_find_or_create().
|
static |
Referenced by gen_pc_fmtstr().
|
static |
Referenced by osmo_ss7_pointcode_parse(), osmo_ss7_pointcode_parse_mask_or_len(), and osmo_ss7_pointcode_print_buf().
|
static |
Referenced by ss7_find_free_l_rk_id().
|
static |
Referenced by osmo_ss7_find_free_rctx().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <sccp_sap.h>
Data Fields | |
uint32_t | presence |
enum osmo_sccp_routing_ind | ri |
struct osmo_sccp_gt | gt |
uint32_t | pc |
uint32_t | ssn |
union { | |
struct in_addr v4 | |
struct in6_addr v6 | |
} | ip |
struct osmo_sccp_gt osmo_sccp_addr::gt |
union { ... } osmo_sccp_addr::ip |
Referenced by DEFUN(), osmo_sccp_addr_cmp(), osmo_sccp_addr_dump(), sccp_addr_to_str_buf(), sua_addr_parse_part(), and xua_msg_add_sccp_addr().
uint32_t osmo_sccp_addr::pc |
Referenced by DEFUN(), DEFUN_ATTR(), ensure_opc_in_calling_ssn(), gen_mtp_transfer_req_xua(), gen_ret_msg(), osmo_sccp_addr_cmp(), osmo_sccp_addr_dump(), osmo_sccp_addr_encode(), osmo_sccp_addr_parse(), osmo_sccp_make_addr_pc_ssn(), patch_sccp_with_pc(), sccp_addr_to_str_buf(), sccp_find_user(), sclc_rx_cldr(), sclc_rx_cldt(), scoc_fsm_idle(), scrc_local_out_common(), scrc_node_2(), scrc_node_6(), scrc_translate_node_9(), sua_addr_parse_part(), write_sccp_addressbook(), and xua_msg_add_sccp_addr().
uint32_t osmo_sccp_addr::presence |
Referenced by DEFUN(), DEFUN_ATTR(), ensure_opc_in_calling_ssn(), gen_mtp_transfer_req_xua(), gen_ret_msg(), osmo_sccp_addr_cmp(), osmo_sccp_addr_dump(), osmo_sccp_addr_encode(), osmo_sccp_addr_parse(), osmo_sccp_addr_ri_cmp(), osmo_sccp_addr_set_ssn(), osmo_sccp_check_addr(), osmo_sccp_make_addr_pc_ssn(), patch_sccp_with_pc(), sccp_addr_to_str_buf(), sccp_find_user(), scoc_fsm_idle(), scrc_local_out_common(), sua_addr_parse_part(), write_sccp_addressbook(), xua_gen_msg_co(), and xua_msg_add_sccp_addr().
enum osmo_sccp_routing_ind osmo_sccp_addr::ri |
Referenced by DEFUN(), DEFUN_ATTR(), ensure_opc_in_calling_ssn(), gen_ret_msg(), osmo_sccp_addr_dump(), osmo_sccp_addr_encode(), osmo_sccp_addr_parse(), osmo_sccp_addr_ri_cmp(), osmo_sccp_check_addr(), sccp_addr_to_str_buf(), sccp_scrc_rx_sclc_msg(), scrc_rx_mtp_xfer_ind_xua(), scrc_translate_node_9(), sua_addr_parse_part(), write_sccp_addressbook(), and xua_msg_add_sccp_addr().
uint32_t osmo_sccp_addr::ssn |
Referenced by DEFUN(), DEFUN_ATTR(), osmo_sccp_addr_cmp(), osmo_sccp_addr_dump(), osmo_sccp_addr_encode(), osmo_sccp_addr_parse(), osmo_sccp_addr_set_ssn(), osmo_sccp_make_addr_pc_ssn(), sccp_addr_to_str_buf(), sccp_find_user(), sclc_rx_cldr(), sclc_rx_cldt(), scrc_node_6(), sua_addr_parse_part(), vty_show_connection(), write_sccp_addressbook(), and xua_msg_add_sccp_addr().
struct in_addr osmo_sccp_addr::v4 |
Referenced by DEFUN(), osmo_sccp_addr_cmp(), osmo_sccp_addr_dump(), sccp_addr_to_str_buf(), sua_addr_parse_part(), and xua_msg_add_sccp_addr().
struct in6_addr osmo_sccp_addr::v6 |
Referenced by DEFUN(), osmo_sccp_addr_cmp(), osmo_sccp_addr_dump(), sccp_addr_to_str_buf(), sua_addr_parse_part(), and xua_msg_add_sccp_addr().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <osmocom/core/fsm.h>
#include <osmocom/core/prim.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/linuxrbtree.h>
#include <osmocom/core/tdef.h>
#include <osmocom/sigtran/sccp_sap.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/sigtran/protocol/mtp.h>
#include "ss7_user.h"
Go to the source code of this file.
Data Structures | |
struct | osmo_sccp_instance |
struct | osmo_sccp_user |
Macros | |
#define | SCCP_STR "Signalling Connection Control Part\n" |
Functions | |
static const char * | osmo_sccp_timer_name (enum osmo_sccp_timer val) |
struct osmo_sccp_user * | sccp_user_find (struct osmo_sccp_instance *inst, uint16_t ssn, uint32_t pc) |
Find a SCCP User registered for given PC+SSN or SSN only First search all users with a valid PC for a full PC+SSN match. More... | |
int | sccp_scrc_rx_scoc_conn_msg (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
int | sccp_scrc_rx_sclc_msg (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
int | scrc_rx_mtp_xfer_ind_xua (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
void | sccp_scoc_rx_from_scrc (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
Main entrance function for primitives from the SCRC (Routing Control) More... | |
void | sccp_scoc_rx_scrc_rout_fail (struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t cause) |
SCOC: Receive SCRC Routing Failure. More... | |
void | sccp_scoc_flush_connections (struct osmo_sccp_instance *inst) |
int | sccp_sclc_rx_from_scrc (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
SCRC -> SCLC (connectionless message) More... | |
void | sccp_sclc_rx_scrc_rout_fail (struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t cause) |
SCRC -> SCLC (Routing Failure. More... | |
int | sccp_user_prim_up (struct osmo_sccp_user *scut, struct osmo_scu_prim *prim) |
Send a SCCP User SAP Primitive up to the User. More... | |
int | sccp_sclc_user_sap_down (struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) |
Main entrance function for primitives from SCCP User. More... | |
int | sccp_sclc_user_sap_down_nofree (struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) |
Main entrance function for primitives from SCCP User. More... | |
struct msgb * | sccp_msgb_alloc (const char *name) |
void | sccp_scoc_show_connections (struct vty *vty, struct osmo_sccp_instance *inst) |
void | osmo_sccp_vty_write_cs7_node (struct vty *vty, const char *indent, struct osmo_sccp_instance *inst) |
void | sccp_lbcs_local_bcast_pcstate (struct osmo_sccp_instance *inst, const struct osmo_scu_pcstate_param *pcstate) |
void | sccp_lbcs_local_bcast_state (struct osmo_sccp_instance *inst, const struct osmo_scu_state_param *state) |
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) |
int | sccp_scmg_init (struct osmo_sccp_instance *inst) |
Variables | |
const struct osmo_tdef | osmo_sccp_timer_defaults [OSMO_SCCP_TIMERS_LEN] |
const struct value_string | osmo_sccp_timer_names [] |
int | DSCCP |
struct osmo_fsm | sccp_scoc_fsm |
#define SCCP_STR "Signalling Connection Control Part\n" |
enum osmo_sccp_timer |
|
inlinestatic |
References osmo_sccp_timer_names.
void osmo_sccp_vty_write_cs7_node | ( | struct vty * | vty, |
const char * | indent, | ||
struct osmo_sccp_instance * | inst | ||
) |
References osmo_sccp_instance::max_optional_data, and write_sccp_timers().
Referenced by write_one_cs7().
void sccp_lbcs_local_bcast_pcstate | ( | struct osmo_sccp_instance * | inst, |
const struct osmo_scu_pcstate_param * | pcstate | ||
) |
References osmo_sccp_user::inst, osmo_sccp_user::list, osmo_scu_prim::oph, OSMO_SCU_PRIM_N_PCSTATE, osmo_scu_prim::pcstate, sccp_msgb_alloc(), SCCP_SAP_USER, sccp_user_prim_up(), osmo_scu_prim::u, and osmo_sccp_instance::users.
Referenced by sccp_scmg_rx_mtp_pause(), sccp_scmg_rx_mtp_resume(), and sccp_scmg_rx_mtp_status().
void sccp_lbcs_local_bcast_state | ( | struct osmo_sccp_instance * | inst, |
const struct osmo_scu_state_param * | state | ||
) |
References osmo_sccp_user::inst, osmo_sccp_user::list, osmo_scu_prim::oph, OSMO_SCU_PRIM_N_STATE, sccp_msgb_alloc(), SCCP_SAP_USER, sccp_user_prim_up(), osmo_scu_prim::state, osmo_scu_prim::u, and osmo_sccp_instance::users.
Referenced by sccp_scmg_rx_ssn_allowed(), and sccp_scmg_rx_ssn_prohibited().
struct msgb * sccp_msgb_alloc | ( | const char * | name | ) |
References SCCP_MSG_HEADROOM, and SCCP_MSG_SIZE.
Referenced by osmo_sua_to_sccp(), sccp_lbcs_local_bcast_pcstate(), sccp_lbcs_local_bcast_state(), sccp_scmg_tx(), sclc_rx_cldr(), and sclc_rx_cldt().
int sccp_sclc_rx_from_scrc | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
SCRC -> SCLC (connectionless message)
[in] | inst | SCCP Instance in which we operate |
[in] | xua | SUA connectionless message |
References xua_msg::hdr, xua_common_hdr::msg_class, xua_common_hdr::msg_type, sclc_rx_cldr(), sclc_rx_cldt(), SUA_CL_CLDR, SUA_CL_CLDT, SUA_MSGC_CL, xua_dialect_sua, and xua_hdr_dump().
Referenced by scrc_node_6(), and scrc_translate_node_9().
void sccp_sclc_rx_scrc_rout_fail | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua_in, | ||
uint32_t | cause | ||
) |
SCRC -> SCLC (Routing Failure.
[in] | inst | SCCP Instance in which we operate |
[in] | xua_in | Message that failed to be routed |
[in] | cause | SCCP Return Cause |
References gen_ret_msg(), xua_msg::hdr, xua_common_hdr::msg_type, xua_msg::mtp, osmo_mtp_transfer_param::opc, osmo_ss7_pc_is_local(), sccp_scrc_rx_sclc_msg(), sclc_rx_cldr(), osmo_sccp_instance::ss7, SUA_CL_CLDR, SUA_CL_CLDT, and xua_msg_free().
Referenced by scrc_node_4(), scrc_node_6(), and scrc_translate_node_9().
int sccp_sclc_user_sap_down | ( | struct osmo_sccp_user * | scu, |
struct osmo_prim_hdr * | oph | ||
) |
Main entrance function for primitives from SCCP User.
Implies a msgb_free(oph->msg), otherwise the same as sccp_sclc_user_sap_down_nofree().
[in] | scu | SCCP User who is sending the primitive |
[on] | oph Osmocom primitive header of the primitive |
References osmo_scu_prim::oph, and sccp_sclc_user_sap_down_nofree().
int sccp_sclc_user_sap_down_nofree | ( | struct osmo_sccp_user * | scu, |
struct osmo_prim_hdr * | oph | ||
) |
Main entrance function for primitives from SCCP User.
The caller is required to free oph->msg, otherwise the same as sccp_sclc_user_sap_down().
[in] | scu | SCCP User who is sending the primitive |
[on] | oph Osmocom primitive header of the primitive |
References osmo_scu_prim::oph, OSMO_SCU_PRIM_N_UNITDATA, osmo_scu_prim_name(), SUA_CL_CLDT, and xua_gen_encode_and_send().
Referenced by osmo_sccp_user_sap_down_nofree(), and sccp_sclc_user_sap_down().
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().
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().
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().
void sccp_scmg_rx_mtp_status | ( | struct osmo_sccp_instance * | inst, |
uint32_t | dpc, | ||
enum mtp_unavail_cause | cause | ||
) |
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().
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().
void sccp_scoc_flush_connections | ( | struct osmo_sccp_instance * | inst | ) |
References conn_destroy(), osmo_sccp_instance::connections, and sccp_connection::node.
Referenced by osmo_sccp_instance_destroy().
void sccp_scoc_rx_from_scrc | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
Main entrance function for primitives from the SCRC (Routing Control)
[in] | inst | SCCP Instance in which we operate |
[in] | xua | SUA message in xua_msg format |
References conn_create(), conn_find_by_id(), sccp_connection::conn_id, sccp_connection::fi, xua_msg::hdr, sccp_connection::incoming, osmo_sccp_user::inst, xua_common_hdr::msg_type, xua_msg::mtp, osmo_mtp_transfer_param::opc, sccp_connection::remote_pc, sccp_connection::remote_ref, sccp_find_user(), sccp_scoc_rx_inval_opc(), sccp_scoc_rx_inval_src_ref(), sccp_scoc_rx_unass_local_ref(), SUA_CO_COAK, SUA_CO_CORE, SUA_CO_COREF, SUA_IEI_DEST_REF, SUA_IEI_SRC_REF, sua_scoc_event_map, xua_dialect_sua, xua_hdr_dump(), xua_msg_event_map(), xua_msg_find_tag(), and xua_msg_get_u32().
Referenced by scrc_node_6(), scrc_rx_mtp_xfer_ind_xua(), and scrc_translate_node_9().
void sccp_scoc_rx_scrc_rout_fail | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua, | ||
uint32_t | return_cause | ||
) |
SCOC: Receive SCRC Routing Failure.
[in] | inst | SCCP Instance on which we operate |
[in] | xua | SUA message that was failed to route |
[in] | return_cause | Reason (cause) for routing failure |
References conn_find_by_id(), sccp_connection::conn_id, sccp_connection::fi, gen_coref_without_conn(), get_cref_cause_for_ret(), sccp_connection::inst, sccp_scrc_rx_scoc_conn_msg(), SCOC_E_RCOC_ROUT_FAIL_IND, SUA_IEI_DEST_REF, xua_dialect_sua, xua_hdr_dump(), xua_msg_free(), and xua_msg_get_u32().
Referenced by scrc_node_2(), scrc_node_4(), and scrc_node_6().
void sccp_scoc_show_connections | ( | struct vty * | vty, |
struct osmo_sccp_instance * | inst | ||
) |
References osmo_sccp_instance::connections, and vty_show_connection().
Referenced by DEFUN().
int sccp_scrc_rx_sclc_msg | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
References xua_msg::hdr, xua_common_hdr::msg_type, OSMO_SCCP_RI_GT, osmo_sccp_addr::ri, scrc_local_out_common(), scrc_node_12(), scrc_node_7(), sua_addr_parse(), SUA_CL_CLDR, SUA_IEI_DEST_ADDR, xua_dialect_sua, and xua_msg_dump().
Referenced by sccp_sclc_rx_scrc_rout_fail(), and xua_gen_encode_and_send().
int sccp_scrc_rx_scoc_conn_msg | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
References xua_msg::hdr, xua_common_hdr::msg_type, scrc_local_out_common(), scrc_node_2(), sua_addr_parse(), SUA_CO_CORE, SUA_IEI_DEST_ADDR, xua_dialect_sua, and xua_msg_dump().
Referenced by sccp_scoc_rx_scrc_rout_fail(), tx_coerr_from_xua(), tx_relco_from_xua(), tx_rlsd_from_xua_twoway(), xua_gen_encode_and_send(), and xua_gen_relre_and_send().
struct osmo_sccp_user * sccp_user_find | ( | struct osmo_sccp_instance * | inst, |
uint16_t | ssn, | ||
uint32_t | pc | ||
) |
Find a SCCP User registered for given PC+SSN or SSN only First search all users with a valid PC for a full PC+SSN match.
If no such match was found, search all users with an invalid PC for an SSN-only match.
[in] | inst | SCCP Instance in which to search |
[in] | ssn | Sub-System Number to search for |
[in] | pc | Point Code to search for |
References osmo_sccp_user::inst, osmo_sccp_user::list, osmo_ss7_pc_is_valid(), osmo_sccp_user::pc, osmo_sccp_user::ssn, and osmo_sccp_instance::users.
Referenced by DEFUN(), osmo_sccp_user_find(), sccp_find_user(), sccp_user_bind_pc(), sclc_rx_cldr(), sclc_rx_cldt(), scmg_rx_sst(), and scrc_node_6().
int sccp_user_prim_up | ( | struct osmo_sccp_user * | scu, |
struct osmo_scu_prim * | prim | ||
) |
Send a SCCP User SAP Primitive up to the User.
[in] | scu | SCCP User to whom to send the primitive |
[in] | prim | Primitive to send to the user |
References osmo_sccp_user::name, osmo_scu_prim::oph, osmo_scu_prim_name(), and osmo_sccp_user::prim_cb.
Referenced by sccp_lbcs_local_bcast_pcstate(), sccp_lbcs_local_bcast_state(), sclc_rx_cldr(), sclc_rx_cldt(), and scu_gen_encode_and_send().
int scrc_rx_mtp_xfer_ind_xua | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
References xua_msg_part::dat, ensure_opc_in_calling_ssn(), OSMO_SCCP_RI_GT, osmo_sccp_addr::ri, sccp_scoc_rx_from_scrc(), scrc_node_4(), scrc_node_6(), scrc_translate_node_9(), sua_addr_parse(), SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_S7_HOP_CTR, sua_is_connectionless(), sua_is_cr(), xua_dialect_sua, xua_msg_dump(), xua_msg_find_tag(), xua_msg_get_u32(), and xua_msg_part_get_u32().
Referenced by mtp_user_prim_cb(), sua_rx_cl(), and sua_rx_co().
|
extern |
|
extern |
Referenced by gen_sccp_timer_cmd_strs(), and osmo_sccp_instance_create().
|
extern |
Referenced by DEFUN_ATTR(), gen_sccp_timer_cmd_strs(), osmo_sccp_timer_name(), and write_sccp_timers().
|
extern |
Referenced by conn_create_id(), and osmo_ss7_init().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
Go to the source code of this file.
Functions | |
const char * | osmo_sua_sccp_cause_name (uint32_t sccp_cause, char *out_buf, size_t out_buf_len) |
#define SUA_ASPSM_BEAT 3 |
#define SUA_ASPSM_BEAT_ACK 6 |
#define SUA_ASPSM_DOWN 2 |
#define SUA_ASPSM_DOWN_ACK 5 |
#define SUA_ASPSM_UP 1 |
#define SUA_ASPSM_UP_ACK 4 |
#define SUA_ASPTM_ACTIVE 1 |
#define SUA_ASPTM_ACTIVE_ACK 3 |
#define SUA_ASPTM_INACTIVE 2 |
#define SUA_ASPTM_INACTIVE_ACK 4 |
#define SUA_CAUSE_T_ERROR 0x0500 |
#define SUA_CAUSE_T_MASK 0xff00 |
#define SUA_CAUSE_T_REFUSAL 0x0200 |
#define SUA_CAUSE_T_RELEASE 0x0300 |
#define SUA_CAUSE_T_RESET 0x0400 |
#define SUA_CAUSE_T_RETURN 0x0100 |
#define SUA_CL_CLDR 2 |
#define SUA_CL_CLDT 1 |
#define SUA_CO_COAK 2 |
#define SUA_CO_CODA 9 |
#define SUA_CO_CODT 8 |
#define SUA_CO_COERR 10 |
#define SUA_CO_COIT 11 /* Connection Oriented Inactiviy Test */ |
#define SUA_CO_CORE 1 |
#define SUA_CO_COREF 3 |
#define SUA_CO_RELCO 5 |
#define SUA_CO_RELRE 4 |
#define SUA_CO_RESCO 6 |
#define SUA_CO_RESRE 7 |
#define SUA_ERR_ASP_ID_REQD M3UA_ERR_ASP_ID_REQD |
#define SUA_ERR_DEST_STATUS_UNKN M3UA_ERR_DEST_STATUS_UNKN |
#define SUA_ERR_INVAL_ASP_ID M3UA_ERR_INVAL_ASP_ID |
#define SUA_ERR_INVAL_LOADSH_LEVEL 0x1c |
#define SUA_ERR_INVAL_NET_APPEAR M3UA_ERR_INVAL_NET_APPEAR |
#define SUA_ERR_INVAL_PARAM_VAL M3UA_ERR_INVAL_PARAM_VAL |
#define SUA_ERR_INVAL_ROUT_CTX M3UA_ERR_INVAL_ROUT_CTX |
#define SUA_ERR_INVAL_STREAM_ID M3UA_ERR_INVAL_STREAM_ID |
#define SUA_ERR_INVALID_VERSION M3UA_ERR_INVALID_VERSION |
#define SUA_ERR_MISSING_PARAM M3UA_ERR_MISSING_PARAM |
#define SUA_ERR_NO_CONFGD_AS_FOR_ASP M3UA_ERR_NO_CONFGD_AS_FOR_ASP |
#define SUA_ERR_PARAM_FIELD_ERR M3UA_ERR_PARAM_FIELD_ERR |
#define SUA_ERR_PROTOCOL_ERR M3UA_ERR_PROTOCOL_ERR |
#define SUA_ERR_REFUSED_MGMT_BLOCKING M3UA_ERR_REFUSED_MGMT_BLOCKING |
#define SUA_ERR_SUBSYS_STATUS_UNKN 0x1b |
#define SUA_ERR_UNEXP_PARAM M3UA_ERR_UNEXP_PARAM |
#define SUA_ERR_UNEXPECTED_MSG M3UA_ERR_UNEXPECTED_MSG |
#define SUA_ERR_UNSUPP_MSG_CLASS M3UA_ERR_UNSUPP_MSG_CLASS |
#define SUA_ERR_UNSUPP_MSG_TYPE M3UA_ERR_UNSUPP_MSG_TYPE |
#define SUA_ERR_UNSUPP_TRAF_MOD_TYP M3UA_ERR_UNSUPP_TRAF_MOD_TYP |
#define SUA_IEI_AFFECTED_PC M3UA_IEI_AFFECTED_PC |
#define SUA_IEI_ASP_CAPA 0x0109 |
#define SUA_IEI_ASP_ID M3UA_IEI_ASP_ID |
#define SUA_IEI_CAUSE 0x0106 |
#define SUA_IEI_CONG_LEVEL 0x0118 |
#define SUA_IEI_CORR_ID M3UA_IEI_CORR_ID |
#define SUA_IEI_CREDIT 0x010A |
#define SUA_IEI_DATA 0x010B |
#define SUA_IEI_DEREG_RESULT 0x0015 |
#define SUA_IEI_DEST_ADDR 0x0103 |
#define SUA_IEI_DEST_REF 0x0105 |
#define SUA_IEI_DIAG_INFO M3UA_IEI_DIAG_INFO |
#define SUA_IEI_DRN 0x010F |
#define SUA_IEI_ERR_CODE M3UA_IEI_ERR_CODE |
#define SUA_IEI_GT 0x8001 |
#define SUA_IEI_HEARTBT_DATA M3UA_IEI_HEARDBT_DATA |
#define SUA_IEI_HOST 0x8005 |
#define SUA_IEI_IMPORTANCE 0x0113 |
#define SUA_IEI_INFO_STRING M3UA_IEI_INFO_STRING |
#define SUA_IEI_IPv4 0x8004 |
#define SUA_IEI_IPv6 0x8006 |
#define SUA_IEI_MSG_PRIO 0x0114 |
#define SUA_IEI_NET_APPEARANCE 0x010D |
#define SUA_IEI_PC 0x8002 |
#define SUA_IEI_PROTO_CLASS 0x0115 |
#define SUA_IEI_REG_RESULT 0x0014 |
#define SUA_IEI_ROUTE_CTX M3UA_IEI_ROUTE_CTX |
#define SUA_IEI_ROUTING_KEY 0x010E |
#define SUA_IEI_RX_SEQ_NR 0x0108 |
#define SUA_IEI_S7_HOP_CTR 0x0101 |
#define SUA_IEI_SEGMENTATION 0x0117 |
#define SUA_IEI_SEQ_CTRL 0x0116 |
#define SUA_IEI_SEQ_NR 0x0107 |
#define SUA_IEI_SMI 0x0112 |
#define SUA_IEI_SRC_ADDR 0x0102 |
#define SUA_IEI_SRC_REF 0x0104 |
#define SUA_IEI_SSN 0x8003 |
#define SUA_IEI_STATUS M3UA_IEI_STATUS |
#define SUA_IEI_TID 0x0110 |
#define SUA_IEI_TRAF_MODE_TYP M3UA_IEI_TRAF_MODE_TYP |
#define SUA_IEI_USER_CAUSE 0x010C |
#define SUA_MGMT_ERR 0 |
#define SUA_MGMT_NTFY 1 |
#define SUA_MSGC_ASPSM 3 |
#define SUA_MSGC_ASPTM 4 |
#define SUA_MSGC_CL 7 |
#define SUA_MSGC_CO 8 |
#define SUA_MSGC_MGMT 0 |
#define SUA_MSGC_RKM 9 |
#define SUA_MSGC_SNM 2 |
#define SUA_PORT 14001 |
#define SUA_PPID 4 |
#define SUA_RI_GT 1 |
#define SUA_RI_HOST 3 |
#define SUA_RI_SSN_IP 4 |
#define SUA_RI_SSN_PC 2 |
#define SUA_RKM_DEREG_REQ 3 |
#define SUA_RKM_DEREG_RSP 4 |
#define SUA_RKM_REG_REQ 1 |
#define SUA_RKM_REG_RSP 2 |
#define SUA_SNM_DAUD 3 |
#define SUA_SNM_DAVA 2 |
#define SUA_SNM_DRST 6 |
#define SUA_SNM_DUNA 1 |
#define SUA_SNM_DUPU 5 |
#define SUA_SNM_SCON 4 |
#define SUA_VERSION 1 |
const char * osmo_sua_sccp_cause_name | ( | uint32_t | sccp_cause, |
char * | out_buf, | ||
size_t | out_buf_len | ||
) |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <sccp_scmg.h>
Data Fields | |
uint8_t | msg_type |
uint8_t | affected_ssn |
uint16_t | affected_pc |
uint8_t | smi |
uint8_t | ssc_congestion_lvl [0] |
uint16_t sccp_scmg_msg::affected_pc |
Referenced by sccp_scmg_tx(), scmg_prim_cb(), scmg_rx_ssa(), scmg_rx_ssp(), and scmg_rx_sst().
uint8_t sccp_scmg_msg::affected_ssn |
Referenced by sccp_scmg_tx(), scmg_rx_ssa(), scmg_rx_ssp(), and scmg_rx_sst().
uint8_t sccp_scmg_msg::msg_type |
Referenced by sccp_scmg_tx(), scmg_prim_cb(), and scmg_rx().
uint8_t sccp_scmg_msg::smi |
Referenced by sccp_scmg_tx(), scmg_rx_ssa(), and scmg_rx_ssp().
uint8_t sccp_scmg_msg::ssc_congestion_lvl[0] |
Referenced by sccp_scmg_tx().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <osmocom/core/utils.h>
Go to the source code of this file.
Enumerations | |
enum | mtp_si_ni00 { MTP_SI_SNM = 0 , MTP_SI_STM = 1 , MTP_SI_SCCP = 3 , MTP_SI_TUP = 4 , MTP_SI_ISUP = 5 , MTP_SI_DUP = 6 , MTP_SI_DUP_FAC = 7 , MTP_SI_TESTING = 8 , MTP_SI_B_ISUP = 9 , MTP_SI_SAT_ISUP = 10 , MTP_SI_SPEECH = 11 , MTP_SI_AAL2_SIG = 12 , MTP_SI_BICC = 13 , MTP_SI_GCP = 14 } |
enum | mtp_unavail_cause { MTP_UNAVAIL_C_UNKNOWN = 0x0 , MTP_UNAVAIL_C_UNEQUIP_REM_USER = 0x1 , MTP_UNAVAIL_C_INACC_REM_USER = 0x2 } |
Functions | |
static const char * | mtp_unavail_cause_str (enum mtp_unavail_cause cs) |
Variables | |
const struct value_string | mtp_si_vals [] |
const struct value_string | mtp_unavail_cause_vals [] |
enum mtp_si_ni00 |
enum mtp_unavail_cause |
|
inlinestatic |
References mtp_unavail_cause_vals.
|
extern |
Referenced by _rout_key(), write_one_as(), and xua_snm_rx_dupu().
|
extern |
Referenced by mtp_unavail_cause_str().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | m3ua_data_hdr |
Functions | |
struct m3ua_data_hdr | __attribute__ ((packed)) |
Variables | |
uint32_t | opc |
uint32_t | dpc |
uint8_t | si |
uint8_t | ni |
uint8_t | mp |
uint8_t | sls |
enum m3ua_rkm_reg_status | __attribute__ |
#define M3UA_ASPSM_BEAT 3 |
#define M3UA_ASPSM_BEAT_ACK 6 |
#define M3UA_ASPSM_DOWN 2 |
#define M3UA_ASPSM_DOWN_ACK 5 |
#define M3UA_ASPSM_UP 1 |
#define M3UA_ASPSM_UP_ACK 4 |
#define M3UA_ASPTM_ACTIVE 1 |
#define M3UA_ASPTM_ACTIVE_ACK 3 |
#define M3UA_ASPTM_INACTIVE 2 |
#define M3UA_ASPTM_INACTIVE_ACK 4 |
#define M3UA_IEI_AFFECTED_PC 0x0012 |
#define M3UA_IEI_ASP_ID 0x0011 |
#define M3UA_IEI_CONC_DEST 0x0206 |
#define M3UA_IEI_CONG_IND 0x0205 |
#define M3UA_IEI_CORR_ID 0x0013 |
#define M3UA_IEI_DEREG_RESULT 0x0209 |
#define M3UA_IEI_DEREG_STATUS 0x0213 |
#define M3UA_IEI_DEST_PC 0x020b |
#define M3UA_IEI_DIAG_INFO 0x0007 |
#define M3UA_IEI_ERR_CODE 0x000c |
#define M3UA_IEI_HEARDBT_DATA 0x0009 |
#define M3UA_IEI_INFO_STRING 0x0004 |
#define M3UA_IEI_LOC_RKEY_ID 0x020a |
#define M3UA_IEI_NET_APPEAR 0x0200 |
#define M3UA_IEI_ORIG_PC 0x020e |
#define M3UA_IEI_PROT_DATA 0x0210 |
#define M3UA_IEI_REG_RESULT 0x0208 |
#define M3UA_IEI_REG_STATUS 0x0212 |
#define M3UA_IEI_ROUT_KEY 0x0207 |
#define M3UA_IEI_ROUTE_CTX 0x0006 |
#define M3UA_IEI_STATUS 0x000d |
#define M3UA_IEI_SVC_IND 0x020c |
#define M3UA_IEI_TRAF_MODE_TYP 0x000b |
#define M3UA_IEI_USER_CAUSE 0x0204 |
#define M3UA_MGMT_ERR 0 |
#define M3UA_MGMT_NTFY 1 |
#define M3UA_MSGC_ASPSM 3 |
#define M3UA_MSGC_ASPTM 4 |
#define M3UA_MSGC_MGMT 0 |
#define M3UA_MSGC_RKM 9 |
#define M3UA_MSGC_SNM 2 |
#define M3UA_MSGC_XFER 1 |
#define M3UA_NOTIFY | ( | type, | |
info | |||
) | ((info) << 16 | (type)) |
#define M3UA_NOTIFY_I_AS_ACT 3 |
#define M3UA_NOTIFY_I_AS_INACT 2 |
#define M3UA_NOTIFY_I_AS_PEND 4 |
#define M3UA_NOTIFY_I_OT_ALT_ASP_ACT 2 |
#define M3UA_NOTIFY_I_OT_ASP_FAILURE 3 |
#define M3UA_NOTIFY_I_OT_INS_RES 1 |
#define M3UA_NOTIFY_I_RESERVED 1 |
#define M3UA_NOTIFY_T_OTHER 2 |
#define M3UA_NOTIFY_T_STATCHG 1 |
#define M3UA_PORT 2905 |
#define M3UA_PPID 3 |
#define M3UA_RKM_DEREG_REQ 3 |
#define M3UA_RKM_DEREG_RSP 4 |
#define M3UA_RKM_REG_REQ 1 |
#define M3UA_RKM_REG_RSP 2 |
#define M3UA_SNM_DAUD 3 |
#define M3UA_SNM_DAVA 2 |
#define M3UA_SNM_DRST 6 |
#define M3UA_SNM_DUNA 1 |
#define M3UA_SNM_DUPU 5 |
#define M3UA_SNM_SCON 4 |
#define M3UA_VERSION 1 |
#define M3UA_XFER_DATA 1 |
enum m3ua_error_code |
enum m3ua_rkm_dereg_satus |
enum m3ua_rkm_reg_status |
enum m3ua_traffic_mode |
struct m3ua_data_hdr __attribute__ | ( | (packed) | ) |
struct xua_parameter_hdr __attribute__ |
uint32_t dpc |
Referenced by _rout_key(), DEFUN_ATTR(), handle_rkey_reg(), hmrt_message_for_routing(), ipa_rx_msg_sccp(), m3ua_encode_dupu(), m3ua_hmdc_rx_from_l2(), m3ua_tx_dupu(), osmo_ss7_route_lookup(), patch_sccp_with_pc(), sccp_scmg_rx_mtp_pause(), sccp_scmg_rx_mtp_resume(), sccp_scmg_rx_mtp_status(), sccp_scmg_rx_ssn_allowed(), sccp_scmg_rx_ssn_prohibited(), ss7_route_table_find_route_by_dpc(), ss7_route_table_find_route_by_dpc_mask(), sua_encode_dupu(), sua_tx_dupu(), xua_snm_upu(), and xua_tx_upu().
uint8_t mp |
uint8_t ni |
Referenced by DEFUN_ATTR().
uint32_t opc |
Referenced by ipa_rx_msg_sccp(), and patch_sccp_with_pc().
uint8_t si |
Referenced by _rout_key().
uint8_t sls |
Referenced by ipa_rx_msg(), and ipa_rx_msg_sccp().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <stdint.h>
#include <string.h>
#include <netdb.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>
#include <osmocom/core/sockaddr_str.h>
#include <osmocom/vty/vty.h>
#include <osmocom/vty/command.h>
#include <osmocom/vty/logging.h>
#include <osmocom/vty/telnet_interface.h>
#include <osmocom/vty/misc.h>
#include <osmocom/netif/stream.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/sigtran/protocol/mtp.h>
#include "xua_internal.h"
#include <osmocom/sigtran/sccp_sap.h>
#include "sccp_internal.h"
#include "ss7_as.h"
#include "ss7_asp.h"
#include "ss7_route.h"
#include "ss7_route_table.h"
#include "ss7_internal.h"
#include "ss7_xua_srv.h"
#include <netinet/tcp.h>
Data Structures | |
struct | osmo_sccp_addr_entry |
Enumerations | |
enum | cs7_role_t { CS7_ROLE_SG , CS7_ROLE_ASP } |
Functions | |
DEFUN_ATTR (cs7_instance, cs7_instance_cmd, "cs7 instance <0-15>", CS7_STR "Configure a SS7 Instance\n" INST_STR "Number of the instance\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_net_ind, cs7_net_ind_cmd, "network-indicator (international | national | reserved | spare)", "Configure the Network Indicator\n" "International Network\n" "National Network\n" "Reserved Network\n" "Spare Network\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_pc_format, cs7_pc_format_cmd, "point-code format <1-24> [<1-23>] [<1-22>]", PC_STR "Configure Point Code Format\n" "Length of first PC component\n" "Length of second PC component\n" "Length of third PC component\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_pc_format_def, cs7_pc_format_def_cmd, "point-code format default", PC_STR "Configure Point Code Format\n" "Default Point Code Format (3.8.3)\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_pc_delimiter, cs7_pc_delimiter_cmd, "point-code delimiter (default|dash)", PC_STR "Configure Point Code Delimiter\n" "Use dot as delimiter\n" "User dash as delimiter\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_point_code, cs7_point_code_cmd, "point-code POINT_CODE", "Configure the local Point Code\n" "Point Code\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_secondary_pc, cs7_secondary_pc_cmd, "secondary-pc POINT_CODE", "Configure the local Secondary Point Code\n" "Point Code\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_permit_dyn_rkm, cs7_permit_dyn_rkm_cmd, "xua rkm routing-key-allocation (static-only|dynamic-permitted)", "SIGTRAN xxxUA related\n" "Routing Key Management\n" "Routing Key Management Allocation Policy\n" "Only static (pre-configured) Routing Keys permitted\n" "Dynamically allocate Routing Keys for what ASPs request\n", CMD_ATTR_IMMEDIATE) | |
static void | write_one_cs7 (struct vty *vty, struct osmo_ss7_instance *inst, bool show_dyn_config) |
static int | write_all_cs7 (struct vty *vty, bool show_dyn_config) |
static int | config_write_cs7 (struct vty *vty) |
DEFUN (show_cs7_user, show_cs7_user_cmd, "show cs7 instance <0-15> users", SHOW_STR CS7_STR INST_STR INST_STR "User Table\n") | |
DEFUN_ATTR (cs7_route_table, cs7_route_table_cmd, "route-table system", "Specify the name of the route table\n" "Name of the route table\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_rt_upd, cs7_rt_upd_cmd, "update route POINT_CODE MASK linkset LS_NAME [priority] [" ROUTE_PRIO_VAR_STR "] [qos-class] [" QOS_CLASS_VAR_STR "]", "Update the Route\n" "Update the Route\n" "Destination Point Code\n" "Point Code Mask\n" "Specify Destination Linkset\n" "Linkset Name\n" "Specify Priority\n" ROUTE_PRIO_VAR_HELP_STR "Specify QoS Class\n" QOS_CLASS_VAR_HELP_STR, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_rt_rem, cs7_rt_rem_cmd, "remove route POINT_CODE MASK", "Remove a Route\n" "Remove a Route\n" "Destination Point Code\n" "Point Code Mask\n" "Point Code Length\n", CMD_ATTR_IMMEDIATE) | |
static void | write_one_rtable (struct vty *vty, struct osmo_ss7_route_table *rtable) |
static void | vty_dump_rtable (struct vty *vty, struct osmo_ss7_route_table *rtbl) |
DEFUN (show_cs7_route, show_cs7_route_cmd, "show cs7 instance <0-15> route", SHOW_STR CS7_STR INST_STR INST_STR "Routing Table\n") | |
static int | parse_trans_proto (const char *protocol) |
static enum osmo_ss7_asp_protocol | parse_asp_proto (const char *protocol) |
DEFUN_ATTR (cs7_xua, cs7_xua_cmd, "listen " XUA_VAR_STR " <0-65534> [" IPPROTO_VAR_STR "]", "Configure/Enable xUA Listener\n" XUA_VAR_HELP_STR "Port number\n" IPPROTO_VAR_HELP_STR, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (no_cs7_xua, no_cs7_xua_cmd, "no listen " XUA_VAR_STR " <0-65534> [" IPPROTO_VAR_STR "]", NO_STR "Disable xUA Listener on given port\n" XUA_VAR_HELP_STR "Port number\n" IPPROTO_VAR_HELP_STR, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (xua_local_ip, xua_local_ip_cmd, "local-ip " VTY_IPV46_CMD, "Configure the Local IP Address for xUA\n" "IPv4 Address to use for XUA\n" "IPv6 Address to use for XUA\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (xua_no_local_ip, xua_no_local_ip_cmd, "no local-ip " VTY_IPV46_CMD, NO_STR "Configure the Local IP Address for xUA\n" "IPv4 Address to use for XUA\n" "IPv6 Address to use for XUA\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (xua_accept_dyn_asp, xua_accept_dyn_asp_cmd, "accept-asp-connections (pre-configured|dynamic-permitted)", "Define what kind of ASP connections to accept\n" "Accept only pre-configured ASPs (source IP/port)\n" "Accept any connection and dynamically create an ASP definition\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (xua_sctp_param_init, xua_sctp_param_init_cmd, "sctp-param init " XUA_SRV_SCTP_PARAM_INIT_FIELDS " <0-65535>", XUA_SRV_SCTP_PARAM_INIT_DESC "Value of the parameter\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (xua_no_sctp_param_init, xua_no_sctp_param_init_cmd, "no sctp-param init " XUA_SRV_SCTP_PARAM_INIT_FIELDS, NO_STR XUA_SRV_SCTP_PARAM_INIT_DESC, CMD_ATTR_NODE_EXIT) | |
static void | write_one_xua (struct vty *vty, struct osmo_xua_server *xs) |
static void | vty_dump_xua_server (struct vty *vty, struct osmo_xua_server *xs) |
static int | _show_cs7_xua (struct vty *vty, enum osmo_ss7_asp_protocol proto, int trans_proto, int local_port) |
DEFUN (show_cs7_xua, show_cs7_xua_cmd, SHOW_CS7_XUA_CMD " [<0-65534>]", SHOW_CS7_XUA_CMD_HELP "Local Port Number\n") | |
DEFUN (show_cs7_xua_trans_proto, show_cs7_xua_trans_proto_cmd, SHOW_CS7_XUA_CMD " " IPPROTO_VAR_STR " [<0-65534>]", SHOW_CS7_XUA_CMD_HELP IPPROTO_VAR_HELP_STR "Local Port Number\n") | |
DEFUN (show_cs7_config, show_cs7_config_cmd, "show cs7 config", SHOW_STR CS7_STR "Currently running cs7 configuration") | |
DEFUN (cs7_asp_disconnect, cs7_asp_disconnect_cmd, "cs7 instance <0-15> asp NAME disconnect", CS7_STR "Instance related commands\n" "SS7 Instance Number\n" "ASP related commands\n" "Name of ASP\n" "Disconnect the ASP (client will reconnect)\n") | |
DEFUN_ATTR (cs7_asp, cs7_asp_cmd, "asp NAME <0-65535> <0-65535> " XUA_VAR_STR, "Configure Application Server Process\n" "Name of ASP\n" "Remote port number\n" "Local port number\n" XUA_VAR_HELP_STR, CMD_ATTR_NODE_EXIT) | |
ALIAS_ATTR (cs7_asp, cs7_asp_trans_proto_cmd, "asp NAME <0-65535> <0-65535> " XUA_VAR_STR " " IPPROTO_VAR_STR, "Configure Application Server Process\n" "Name of ASP\n" "Remote port number\n" "Local port number\n" XUA_VAR_HELP_STR IPPROTO_VAR_HELP_STR, CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (no_cs7_asp, no_cs7_asp_cmd, "no asp NAME", NO_STR "Disable Application Server Process\n" "Name of ASP\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (asp_local_ip, asp_local_ip_cmd, "local-ip " VTY_IPV46_CMD " [primary]", "Specify Local IP Address from which to contact ASP\n" "Local IPv4 Address from which to contact of ASP\n" "Local IPv6 Address from which to contact of ASP\n" "Signal the SCTP peer to use this address as Primary Address\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_no_local_ip, asp_no_local_ip_cmd, "no local-ip " VTY_IPV46_CMD, NO_STR "Specify Local IP Address from which to contact ASP\n" "Local IPv4 Address from which to contact of ASP\n" "Local IPv6 Address from which to contact of ASP\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_remote_ip, asp_remote_ip_cmd, "remote-ip " VTY_IPV46_CMD " [primary]", "Specify Remote IP Address of ASP\n" "Remote IPv4 Address of ASP\n" "Remote IPv6 Address of ASP\n" "Set remote address as SCTP Primary Address\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_no_remote_ip, asp_no_remote_ip_cmd, "no remote-ip " VTY_IPV46_CMD, NO_STR "Specify Remote IP Address of ASP\n" "Remote IPv4 Address of ASP\n" "Remote IPv6 Address of ASP\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_qos_clas, asp_qos_class_cmd, "qos-class " QOS_CLASS_RANGE_STR, "Specify QoS Class of ASP\n" QOS_CLASS_RANGE_HELP_STR, CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_role, asp_role_cmd, "role (sg|asp|ipsp)", "Specify the xUA role for this ASP\n" "SG (Signaling Gateway)\n" "ASP (Application Server Process)\n" "IPSP (IP Signalling Point)\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_transport_role, asp_transport_role_cmd, "transport-role (client|server)", "Specify the transport layer role for this ASP\n" "Operate as a client; connect to a server\n" "Operate as a server; wait for client connections\n", CMD_ATTR_NODE_EXIT) | |
ALIAS_ATTR (asp_transport_role, asp_sctp_role_cmd, "sctp-role (client|server)", "Specify the SCTP role for this ASP\n" "Operate as SCTP client; connect to a server\n" "Operate as SCTP server; wait for client connections\n", CMD_ATTR_HIDDEN|CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_sctp_param_init, asp_sctp_param_init_cmd, "sctp-param init " ASP_SCTP_PARAM_INIT_FIELDS " <0-65535>", ASP_SCTP_PARAM_INIT_DESC "Value of the parameter\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_no_sctp_param_init, asp_no_sctp_param_init_cmd, "no sctp-param init " ASP_SCTP_PARAM_INIT_FIELDS, NO_STR ASP_SCTP_PARAM_INIT_DESC, CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_block, asp_block_cmd, "block", "Allows a SCTP Association with ASP, but doesn't let it become active\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_shutdown, asp_shutdown_cmd, "shutdown", "Terminates SCTP association; New associations will be rejected\n", CMD_ATTR_NODE_EXIT) | |
DEFUN_ATTR (asp_quirk, asp_quirk_cmd, "OVERWRITTEN", "OVERWRITTEN\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (asp_no_quirk, asp_no_quirk_cmd, "OVERWRITTEN", "OVERWRITTEN\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (asp_timer, asp_timer_cmd, NULL, NULL, CMD_ATTR_IMMEDIATE) | |
static void | gen_asp_timer_cmd_strs (struct cmd_element *cmd) |
static void | write_asp_timers (struct vty *vty, const char *indent, struct osmo_ss7_asp *asp) |
static char * | as_list_for_asp (const struct osmo_ss7_asp *asp, char *buf, size_t buf_len) |
static char * | get_sockname_buf (char *buf, size_t buf_len, int fd, int proto, bool local) |
static void | show_one_asp (struct vty *vty, struct osmo_ss7_asp *asp) |
static int | show_asp (struct vty *vty, int id, const char *asp_name) |
DEFUN (show_cs7_asp, show_cs7_asp_cmd, "show cs7 instance <0-15> asp", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP)\n") | |
DEFUN (show_cs7_asp_name, show_cs7_asp_name_cmd, "show cs7 instance <0-15> asp name ASP_NAME", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP)\n" "Lookup ASP with a given name\n" "Name of the Application Server Process (ASP)\n") | |
static void | show_one_asp_remaddr_tcp (struct vty *vty, struct osmo_ss7_asp *asp) |
static void | show_one_asp_remaddr (struct vty *vty, struct osmo_ss7_asp *asp) |
static int | show_asp_remaddr (struct vty *vty, int id, const char *asp_name) |
DEFUN (show_cs7_asp_remaddr, show_cs7_asp_remaddr_cmd, "show cs7 instance <0-15> asp-remaddr", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) remote addresses information\n") | |
DEFUN (show_cs7_asp_remaddr_name, show_cs7_asp_remaddr_name_cmd, "show cs7 instance <0-15> asp-remaddr name ASP_NAME", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) remote addresses information\n" "Lookup ASP with a given name\n" "Name of the Application Server Process (ASP)\n") | |
static void | show_one_asp_assoc_status_tcp (struct vty *vty, struct osmo_ss7_asp *asp) |
static void | show_one_asp_assoc_status (struct vty *vty, struct osmo_ss7_asp *asp) |
static int | show_asp_assoc_status (struct vty *vty, int id, const char *asp_name) |
DEFUN (show_cs7_asp_assoc_status, show_cs7_asp_assoc_status_cmd, "show cs7 instance <0-15> asp-assoc-status", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) SCTP association status\n") | |
DEFUN (show_cs7_asp_assoc_status_name, show_cs7_asp_assoc_status_name_cmd, "show cs7 instance <0-15> asp-assoc-status name ASP_NAME", SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) SCTP association information\n" "Lookup ASP with a given name\n" "Name of the Application Server Process (ASP)\n") | |
static void | write_one_asp (struct vty *vty, struct osmo_ss7_asp *asp, bool show_dyn_config) |
DEFUN_ATTR (cs7_as, cs7_as_cmd, "as NAME " XUA_VAR_STR, "Configure an Application Server\n" "Name of the Application Server\n" XUA_VAR_HELP_STR, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (no_cs7_as, no_cs7_as_cmd, "no as NAME", NO_STR "Disable Application Server\n" "Name of AS\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_asp, as_asp_cmd, "asp NAME", "Specify that a given ASP is part of this AS\n" "Name of ASP to be added to AS\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_no_asp, as_no_asp_cmd, "no asp NAME", NO_STR "Specify ASP to be removed from this AS\n" "Name of ASP to be removed\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_USRATTR (as_traf_mode, as_traf_mode_cmd, OSMO_SCCP_LIB_ATTR_RSTRT_ASP, "traffic-mode (broadcast | loadshare | roundrobin | override)", "Specifies traffic mode of operation of the ASP within the AS\n" "Broadcast to all ASP within AS\n" "Share Load among all ASP within AS\n" "Round-Robin between all ASP within AS\n" "Override\n") | |
DEFUN_USRATTR (as_no_traf_mode, as_no_traf_mode_cmd, OSMO_SCCP_LIB_ATTR_RSTRT_ASP, "no traffic-mode", NO_STR "Remove explicit traffic mode of operation of this AS\n") | |
DEFUN_ATTR (as_recov_tout, as_recov_tout_cmd, "recovery-timeout <1-2000>", "Specifies the recovery timeout value in milliseconds\n" "Recovery Timeout in Milliseconds\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_qos_clas, as_qos_class_cmd, "qos-class " QOS_CLASS_RANGE_STR, "Specity QoS Class of AS\n" QOS_CLASS_RANGE_HELP_STR, CMD_ATTR_IMMEDIATE) | |
static int | _rout_key (struct vty *vty, const char *rcontext, const char *dpc, const char *si, const char *ssn) |
DEFUN_ATTR (as_rout_key, as_rout_key_cmd, ROUTING_KEY_CMD, ROUTING_KEY_CMD_STRS, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_rout_key_si, as_rout_key_si_cmd, ROUTING_KEY_CMD ROUTING_KEY_SI_ARG, ROUTING_KEY_CMD_STRS ROUTING_KEY_SI_ARG_STRS, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_rout_key_ssn, as_rout_key_ssn_cmd, ROUTING_KEY_CMD ROUTING_KEY_SSN_ARG, ROUTING_KEY_CMD_STRS ROUTING_KEY_SSN_ARG_STRS, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_rout_key_si_ssn, as_rout_key_si_ssn_cmd, ROUTING_KEY_CMD ROUTING_KEY_SI_ARG ROUTING_KEY_SSN_ARG, ROUTING_KEY_CMD_STRS ROUTING_KEY_SI_ARG_STRS ROUTING_KEY_SSN_ARG_STRS, CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_pc_override, as_pc_override_cmd, "point-code override dpc PC", "Point Code Specific Features\n" "Override (force) a point-code to hard-coded value\n" "Override Source Point Code\n" "Override Destination Point Code\n" "New Point Code\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (as_pc_patch_sccp, as_pc_patch_sccp_cmd, "point-code override patch-sccp (disabled|both)", "Point Code Specific Features\n" "Override (force) a point-code to hard-coded value\n" "Patch point code values into SCCP called/calling address\n" "Don't patch any point codes into SCCP called/calling address\n" "Patch both origin and destination point codes into SCCP called/calling address\n", CMD_ATTR_IMMEDIATE) | |
static void | write_one_as (struct vty *vty, struct osmo_ss7_as *as, bool show_dyn_config) |
DEFUN (show_cs7_as, show_cs7_as_cmd, "show cs7 instance <0-15> as (active|all|m3ua|sua)", SHOW_STR CS7_STR INST_STR INST_STR "Application Server (AS)\n" "Display all active ASs\n" "Display all ASs (default)\n" "Display all m3ua ASs\n" "Display all SUA ASs\n") | |
LLIST_HEAD (sccp_address_book_global) | |
static struct osmo_sccp_addr_entry * | addr_entry_by_name_local (const char *name, const struct osmo_ss7_instance *inst) |
static struct osmo_sccp_addr_entry * | addr_entry_by_name_global (const char *name) |
struct osmo_ss7_instance * | osmo_sccp_addr_by_name (struct osmo_sccp_addr *dest_addr, const char *name) |
Lookup an SCCP address from the addressbook by its name. More... | |
int | osmo_sccp_addr_by_name_local (struct osmo_sccp_addr *dest_addr, const char *name, const struct osmo_ss7_instance *inst) |
Lookup an SCCP address from the addressbook of a specific instance by its name. More... | |
const char * | osmo_sccp_name_by_addr (const struct osmo_sccp_addr *addr) |
Reverse lookup the lookup-name of a specified SCCP address. More... | |
static void | write_sccp_addressbook (struct vty *vty, const struct osmo_ss7_instance *inst) |
DEFUN (cs7_show_sccpaddr, cs7_show_sccpaddr_cmd, "show cs7 instance <0-15> sccp addressbook", SHOW_STR CS7_STR INST_STR INST_STR SCCP_STR "List all SCCP addressbook entries\n") | |
DEFUN_ATTR (cs7_sccpaddr, cs7_sccpaddr_cmd, "sccp-address NAME", "Create/Modify an SCCP addressbook entry\n" "Name of the SCCP Address\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_del, cs7_sccpaddr_del_cmd, "no sccp-address NAME", NO_STR "Delete an SCCP addressbook entry\n" "Name of the SCCP Address\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_ri, cs7_sccpaddr_ri_cmd, "routing-indicator (GT|PC|IP)", "Add Routing Indicator\n" "by global-title\n" "by point-code\n" "by ip-address\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_pc, cs7_sccpaddr_pc_cmd, "point-code POINT_CODE", "Add point-code Number\n" "PC\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_pc_del, cs7_sccpaddr_pc_del_cmd, "no point-code", NO_STR "Remove point-code Number\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_ssn, cs7_sccpaddr_ssn_cmd, "subsystem-number <0-4294967295>", "Add Subsystem Number\n" "SSN\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_ssn_del, cs7_sccpaddr_ssn_del_cmd, "no subsystem-number", NO_STR "Remove Subsystem Number\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_gt, cs7_sccpaddr_gt_cmd, "global-title", "Add/Modify Global Title\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_gt_del, cs7_sccpaddr_gt_del_cmd, "no global-title", NO_STR "Remove Global Title\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_gt_gti, cs7_sccpaddr_gt_gti_cmd, "global-title-indicator <0-15>", "Set Global Title Indicator\n" "GTI\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_gt_tt, cs7_sccpaddr_gt_tt_cmd, "translation-type <0-255>", "Set Global Title Translation Type\n" "TT\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_gt_npi, cs7_sccpaddr_gt_npi_cmd, "numbering-plan-indicator <0-15>", "Set Global Title Numbering Plan Indicator\n" "NPI\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_gt_nai, cs7_sccpaddr_gt_nai_cmd, "nature-of-address-indicator <0-127>", "Set Global Title Nature of Address Indicator\n" "NAI\n", CMD_ATTR_IMMEDIATE) | |
DEFUN_ATTR (cs7_sccpaddr_gt_digits, cs7_sccpaddr_gt_digits_cmd, "digits DIGITS", "Set Global Title Digits\n" "Number digits\n", CMD_ATTR_IMMEDIATE) | |
int | osmo_ss7_vty_go_parent (struct vty *vty) |
int | osmo_ss7_is_config_node (struct vty *vty, int node) |
static void | vty_init_addr (void) |
static void | vty_init_shared (void *ctx) |
void | osmo_ss7_vty_init_asp (void *ctx) |
void | osmo_ss7_vty_init_sg (void *ctx) |
Variables | |
static const struct value_string | tcp_info_state_values [] |
static const struct value_string | asp_quirk_names [] |
static const struct value_string | asp_quirk_descs [] |
static enum cs7_role_t | cs7_role |
static void * | g_ctx |
static struct cmd_node | cs7_node |
static const struct value_string | ss7_network_indicator_vals [] |
static struct cmd_node | rtable_node |
static const struct value_string | ipproto_vals [] |
static struct cmd_node | xua_node |
static struct cmd_node | asp_node |
static struct cmd_node | as_node |
const struct value_string | mtp_si_vals [] |
static struct cmd_node | sccpaddr_node |
static struct cmd_node | sccpaddr_gt_node |
#define ASP_SCTP_PARAM_INIT_DESC |
#define ASP_SCTP_PARAM_INIT_FIELDS "(num-ostreams|max-instreams|max-attempts|timeout)" |
#define IPPROTO_VAR_HELP_STR |
#define IPPROTO_VAR_STR "(sctp|tcp)" |
#define QOS_CLASS_RANGE_HELP_STR "QoS Class\n" |
#define QOS_CLASS_RANGE_STR "<0-7>" |
#define QOS_CLASS_VAR_HELP_STR |
#define QOS_CLASS_VAR_STR "(" QOS_CLASS_RANGE_STR "|default)" |
#define ROUTE_PRIO_RANGE_HELP_STR "Priority\n" |
#define ROUTE_PRIO_RANGE_STR "<1-9>" |
#define ROUTE_PRIO_VAR_HELP_STR |
#define ROUTE_PRIO_VAR_STR "(" ROUTE_PRIO_RANGE_STR "|default)" |
#define ROUTING_KEY_CMD "routing-key RCONTEXT DPC" |
#define ROUTING_KEY_CMD_STRS |
#define ROUTING_KEY_SI_ARG " si (aal2|bicc|b-isup|h248|isup|sat-isup|sccp|tup)" |
#define ROUTING_KEY_SI_ARG_STRS |
#define ROUTING_KEY_SSN_ARG " ssn SSN" |
#define ROUTING_KEY_SSN_ARG_STRS |
#define SHOW_CS7_XUA_CMD "show cs7 " XUA_VAR_STR |
#define SHOW_CS7_XUA_CMD_HELP SHOW_STR CS7_STR XUA_VAR_HELP_STR |
#define XUA_SRV_SCTP_PARAM_INIT_DESC |
#define XUA_SRV_SCTP_PARAM_INIT_FIELDS "(num-ostreams|max-instreams)" |
#define XUA_VAR_HELP_STR |
#define XUA_VAR_STR "(sua|m3ua|ipa)" |
enum cs7_role_t |
|
static |
References osmo_ss7_route::as, osmo_ss7_as::cfg, osmo_ss7_routing_key::context, cs7_role, CS7_ROLE_ASP, dpc, osmo_ss7_as::inst, mtp_si_vals, osmo_ss7_as::name, OSMO_SS7_ASP_PROT_IPA, osmo_ss7_pointcode_parse(), osmo_ss7_routing_key::pc, osmo_ss7_route::pc, osmo_ss7_as::proto, osmo_ss7_as::routing_key, osmo_ss7_instance::rtable_system, osmo_ss7_routing_key::si, si, ss7_route_create(), ss7_route_destroy(), ss7_route_table_find_route_by_dpc_mask(), and osmo_ss7_routing_key::ssn.
Referenced by DEFUN_ATTR().
|
static |
References osmo_xua_server::cfg, osmo_xua_server::inst, osmo_ss7_instance::list, osmo_xua_server::list, osmo_xua_server::local, osmo_ss7_instances, osmo_ss7_asp_peer::port, osmo_xua_server::proto, osmo_xua_server::trans_proto, vty_dump_xua_server(), and osmo_ss7_instance::xua_servers.
Referenced by DEFUN().
|
static |
References osmo_sccp_addr_entry::list_global, and osmo_sccp_addr_entry::name.
Referenced by DEFUN_ATTR(), and osmo_sccp_addr_by_name().
|
static |
References osmo_ss7_instance::cfg, osmo_sccp_addr_entry::inst, osmo_sccp_addr_entry::list, osmo_sccp_addr_entry::name, and osmo_ss7_instance::sccp_address_book.
Referenced by DEFUN_ATTR(), and osmo_sccp_addr_by_name_local().
ALIAS_ATTR | ( | asp_transport_role | , |
asp_sctp_role_cmd | , | ||
"sctp-role (client|server)" | , | ||
"Specify the SCTP role for this ASP\n" "Operate as SCTP client; connect to a server\n" "Operate as SCTP server; wait for client connections\n" | , | ||
CMD_ATTR_HIDDEN| | CMD_ATTR_NODE_EXIT | ||
) |
ALIAS_ATTR | ( | cs7_asp | , |
cs7_asp_trans_proto_cmd | , | ||
"asp NAME <0-65535> <0-65535> " XUA_VAR_STR " " | IPPROTO_VAR_STR, | ||
"Configure Application Server Process\n" "Name of ASP\n" "Remote port number\n" "Local port number\n" XUA_VAR_HELP_STR | IPPROTO_VAR_HELP_STR, | ||
CMD_ATTR_NODE_EXIT | |||
) |
|
static |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_asp::inst, osmo_ss7_as::list, osmo_ss7_as::name, and osmo_ss7_as_has_asp().
Referenced by show_one_asp().
|
static |
References write_all_cs7().
Referenced by vty_init_shared().
DEFUN | ( | cs7_asp_disconnect | , |
cs7_asp_disconnect_cmd | , | ||
"cs7 instance <0-15> asp NAME disconnect" | , | ||
CS7_STR "Instance related commands\n" "SS7 Instance Number\n" "ASP related commands\n" "Name of ASP\n" "Disconnect the ASP (client will reconnect)\n" | |||
) |
DEFUN | ( | cs7_show_sccpaddr | , |
cs7_show_sccpaddr_cmd | , | ||
"show cs7 instance <0-15> sccp addressbook" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR SCCP_STR "List all SCCP addressbook entries\n" | |||
) |
References osmo_sccp_addr_entry::addr, osmo_ss7_instance::cfg, osmo_ss7_instance::description, osmo_sccp_gt::digits, osmo_sccp_addr::gt, osmo_sccp_gt::gti, osmo_sccp_addr_entry::inst, osmo_sccp_addr::ip, osmo_sccp_addr_entry::list, osmo_sccp_gt::nai, osmo_sccp_addr_entry::name, osmo_sccp_gt::npi, OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_IPv4, OSMO_SCCP_ADDR_T_IPv6, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, OSMO_SCCP_RI_GT, OSMO_SCCP_RI_SSN_IP, OSMO_SCCP_RI_SSN_PC, osmo_ss7_instance_find(), osmo_ss7_pointcode_print(), osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_sccp_addr::ri, osmo_ss7_instance::sccp_address_book, osmo_sccp_addr::ssn, osmo_sccp_gt::tt, osmo_sccp_addr::v4, and osmo_sccp_addr::v6.
DEFUN | ( | show_cs7_as | , |
show_cs7_as_cmd | , | ||
"show cs7 instance <0-15> as (active|all|m3ua|sua)" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Application Server (AS)\n" "Display all active ASs\n" "Display all ASs (default)\n" "Display all m3ua ASs\n" "Display all SUA ASs\n" | |||
) |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_routing_key::context, osmo_ss7_as::fi, osmo_ss7_as::inst, osmo_ss7_as::list, osmo_ss7_as::mode, osmo_ss7_as::name, osmo_ss7_as_active(), osmo_ss7_as_traffic_mode_name(), OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_instance_find(), osmo_ss7_pointcode_print(), osmo_ss7_routing_key::pc, osmo_ss7_as::proto, and osmo_ss7_as::routing_key.
DEFUN | ( | show_cs7_asp | , |
show_cs7_asp_cmd | , | ||
"show cs7 instance <0-15> asp" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP)\n" | |||
) |
References show_asp().
DEFUN | ( | show_cs7_asp_assoc_status | , |
show_cs7_asp_assoc_status_cmd | , | ||
"show cs7 instance <0-15> asp-assoc-status" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) SCTP association status\n" | |||
) |
References show_asp_assoc_status().
DEFUN | ( | show_cs7_asp_assoc_status_name | , |
show_cs7_asp_assoc_status_name_cmd | , | ||
"show cs7 instance <0-15> asp-assoc-status name ASP_NAME" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) SCTP association information\n" "Lookup ASP with a given name\n" "Name of the Application Server Process (ASP)\n" | |||
) |
References show_asp_assoc_status().
DEFUN | ( | show_cs7_asp_name | , |
show_cs7_asp_name_cmd | , | ||
"show cs7 instance <0-15> asp name ASP_NAME" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP)\n" "Lookup ASP with a given name\n" "Name of the Application Server Process (ASP)\n" | |||
) |
References show_asp().
DEFUN | ( | show_cs7_asp_remaddr | , |
show_cs7_asp_remaddr_cmd | , | ||
"show cs7 instance <0-15> asp-remaddr" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) remote addresses information\n" | |||
) |
References show_asp_remaddr().
DEFUN | ( | show_cs7_asp_remaddr_name | , |
show_cs7_asp_remaddr_name_cmd | , | ||
"show cs7 instance <0-15> asp-remaddr name ASP_NAME" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Application Server Process (ASP) remote addresses information\n" "Lookup ASP with a given name\n" "Name of the Application Server Process (ASP)\n" | |||
) |
References show_asp_remaddr().
DEFUN | ( | show_cs7_config | , |
show_cs7_config_cmd | , | ||
"show cs7 config" | , | ||
SHOW_STR CS7_STR "Currently running cs7 configuration" | |||
) |
References write_all_cs7().
DEFUN | ( | show_cs7_route | , |
show_cs7_route_cmd | , | ||
"show cs7 instance <0-15> route" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "Routing Table\n" | |||
) |
References osmo_ss7_instance_find(), osmo_ss7_instance::rtable_system, and vty_dump_rtable().
DEFUN | ( | show_cs7_user | , |
show_cs7_user_cmd | , | ||
"show cs7 instance <0-15> users" | , | ||
SHOW_STR CS7_STR INST_STR INST_STR "User Table\n" | |||
) |
References osmo_ss7_user::inst, osmo_ss7_user::name, osmo_ss7_instance_find(), and osmo_ss7_instance::user.
DEFUN | ( | show_cs7_xua | , |
show_cs7_xua_cmd | , | ||
SHOW_CS7_XUA_CMD " " | [< 0-65534 >], | ||
SHOW_CS7_XUA_CMD_HELP "Local Port Number\n" | |||
) |
References _show_cs7_xua(), parse_asp_proto(), and osmo_xua_server::proto.
DEFUN | ( | show_cs7_xua_trans_proto | , |
show_cs7_xua_trans_proto_cmd | , | ||
SHOW_CS7_XUA_CMD " " IPPROTO_VAR_STR " " | [< 0-65534 >], | ||
SHOW_CS7_XUA_CMD_HELP IPPROTO_VAR_HELP_STR "Local Port Number\n" | |||
) |
DEFUN_ATTR | ( | as_asp | , |
as_asp_cmd | , | ||
"asp NAME" | , | ||
"Specify that a given ASP is part of this AS\n" "Name of ASP to be added to AS\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_as_add_asp().
DEFUN_ATTR | ( | as_no_asp | , |
as_no_asp_cmd | , | ||
"no asp NAME" | , | ||
NO_STR "Specify ASP to be removed from this AS\n" "Name of ASP to be removed\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_as_del_asp().
DEFUN_ATTR | ( | as_pc_override | , |
as_pc_override_cmd | , | ||
"point-code override dpc PC" | , | ||
"Point Code Specific Features\n" "Override (force) a point-code to hard-coded value\n" "Override Source Point Code\n" "Override Destination Point Code\n" "New Point Code\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | as_pc_patch_sccp | , |
as_pc_patch_sccp_cmd | , | ||
"point-code override patch-sccp (disabled|both)" | , | ||
"Point Code Specific Features\n" "Override (force) a point-code to hard-coded value\n" "Patch point code values into SCCP called/calling address\n" "Don't patch any point codes into SCCP called/calling address\n" "Patch both origin and destination point codes into SCCP called/calling address\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | as_qos_clas | , |
as_qos_class_cmd | , | ||
"qos-class " | QOS_CLASS_RANGE_STR, | ||
"Specity QoS Class of AS\n" | QOS_CLASS_RANGE_HELP_STR, | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_as::cfg, and osmo_ss7_as::qos_class.
DEFUN_ATTR | ( | as_recov_tout | , |
as_recov_tout_cmd | , | ||
"recovery-timeout <1-2000>" | , | ||
"Specifies the recovery timeout value in milliseconds\n" "Recovery Timeout in Milliseconds\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_as::cfg, and osmo_ss7_as::recovery_timeout_msec.
DEFUN_ATTR | ( | as_rout_key | , |
as_rout_key_cmd | , | ||
ROUTING_KEY_CMD | , | ||
ROUTING_KEY_CMD_STRS | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References _rout_key().
DEFUN_ATTR | ( | as_rout_key_si | , |
as_rout_key_si_cmd | , | ||
ROUTING_KEY_CMD | ROUTING_KEY_SI_ARG, | ||
ROUTING_KEY_CMD_STRS | ROUTING_KEY_SI_ARG_STRS, | ||
CMD_ATTR_IMMEDIATE | |||
) |
References _rout_key().
DEFUN_ATTR | ( | as_rout_key_si_ssn | , |
as_rout_key_si_ssn_cmd | , | ||
ROUTING_KEY_CMD ROUTING_KEY_SI_ARG | ROUTING_KEY_SSN_ARG, | ||
ROUTING_KEY_CMD_STRS ROUTING_KEY_SI_ARG_STRS | ROUTING_KEY_SSN_ARG_STRS, | ||
CMD_ATTR_IMMEDIATE | |||
) |
References _rout_key().
DEFUN_ATTR | ( | as_rout_key_ssn | , |
as_rout_key_ssn_cmd | , | ||
ROUTING_KEY_CMD | ROUTING_KEY_SSN_ARG, | ||
ROUTING_KEY_CMD_STRS | ROUTING_KEY_SSN_ARG_STRS, | ||
CMD_ATTR_IMMEDIATE | |||
) |
References _rout_key().
DEFUN_ATTR | ( | asp_block | , |
asp_block_cmd | , | ||
"block" | , | ||
"Allows a SCTP Association with | ASP, | ||
but doesn 't let it become active\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_ATTR | ( | asp_local_ip | , |
asp_local_ip_cmd | , | ||
"local-ip " VTY_IPV46_CMD " " | [primary], | ||
"Specify Local IP Address from which to contact ASP\n" "Local IPv4 Address from which to contact of ASP\n" "Local IPv6 Address from which to contact of ASP\n" "Signal the SCTP peer to use this address as Primary Address\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
References osmo_ss7_asp::cfg, osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, osmo_ss7_asp_peer::idx_primary, osmo_ss7_asp::local, OSMO_SS7_ASP_PROT_IPA, osmo_ss7_asp::proto, ss7_asp_apply_new_local_address(), ss7_asp_apply_peer_primary_address(), ss7_asp_is_started(), and ss7_asp_peer_add_host2().
DEFUN_ATTR | ( | asp_no_local_ip | , |
asp_no_local_ip_cmd | , | ||
"no local-ip " | VTY_IPV46_CMD, | ||
NO_STR "Specify Local IP Address from which to contact ASP\n" "Local IPv4 Address from which to contact of ASP\n" "Local IPv6 Address from which to contact of ASP\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_ATTR | ( | asp_no_quirk | , |
asp_no_quirk_cmd | , | ||
"OVERWRITTEN" | , | ||
"OVERWRITTEN\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References asp_quirk_names, osmo_ss7_asp::cfg, and osmo_ss7_asp::quirks.
DEFUN_ATTR | ( | asp_no_remote_ip | , |
asp_no_remote_ip_cmd | , | ||
"no remote-ip " | VTY_IPV46_CMD, | ||
NO_STR "Specify Remote IP Address of ASP\n" "Remote IPv4 Address of ASP\n" "Remote IPv6 Address of ASP\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
References osmo_ss7_asp::cfg, osmo_ss7_asp::remote, ss7_asp_peer_del_host(), and ss7_asp_peer_find_host().
DEFUN_ATTR | ( | asp_no_sctp_param_init | , |
asp_no_sctp_param_init_cmd | , | ||
"no sctp-param init " | ASP_SCTP_PARAM_INIT_FIELDS, | ||
NO_STR | ASP_SCTP_PARAM_INIT_DESC, | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_ATTR | ( | asp_qos_clas | , |
asp_qos_class_cmd | , | ||
"qos-class " | QOS_CLASS_RANGE_STR, | ||
"Specify QoS Class of ASP\n" | QOS_CLASS_RANGE_HELP_STR, | ||
CMD_ATTR_NODE_EXIT | |||
) |
References osmo_ss7_asp::cfg, and osmo_ss7_asp::qos_class.
DEFUN_ATTR | ( | asp_quirk | , |
asp_quirk_cmd | , | ||
"OVERWRITTEN" | , | ||
"OVERWRITTEN\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References asp_quirk_names, osmo_ss7_asp::cfg, and osmo_ss7_asp::quirks.
DEFUN_ATTR | ( | asp_remote_ip | , |
asp_remote_ip_cmd | , | ||
"remote-ip " VTY_IPV46_CMD " " | [primary], | ||
"Specify Remote IP Address of ASP\n" "Remote IPv4 Address of ASP\n" "Remote IPv6 Address of ASP\n" "Set remote address as SCTP Primary Address\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_ATTR | ( | asp_role | , |
asp_role_cmd | , | ||
"role (sg|asp|ipsp)" | , | ||
"Specify the xUA role for this ASP\n" "SG (Signaling Gateway)\n" "ASP (Application Server Process)\n" "IPSP (IP Signalling Point)\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_ATTR | ( | asp_sctp_param_init | , |
asp_sctp_param_init_cmd | , | ||
"sctp-param init " ASP_SCTP_PARAM_INIT_FIELDS " <0-65535>" | , | ||
ASP_SCTP_PARAM_INIT_DESC "Value of the parameter\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
References osmo_ss7_asp::cfg, osmo_ss7_asp::max_attempts_present, osmo_ss7_asp::max_attempts_value, osmo_ss7_asp::max_init_timeo_present, osmo_ss7_asp::max_init_timeo_value, osmo_ss7_asp::max_instreams_present, osmo_ss7_asp::max_instreams_value, osmo_ss7_asp::num_ostreams_present, osmo_ss7_asp::num_ostreams_value, and osmo_ss7_asp::sctp_init.
DEFUN_ATTR | ( | asp_shutdown | , |
asp_shutdown_cmd | , | ||
"shutdown" | , | ||
"Terminates SCTP association; New associations will be rejected\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_ATTR | ( | asp_timer | , |
asp_timer_cmd | , | ||
NULL | , | ||
NULL | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_asp::cfg, ss7_asp_lm_timer_names, SS7_ASP_LM_TIMERS_LEN, and osmo_ss7_asp::T_defs_lm.
DEFUN_ATTR | ( | asp_transport_role | , |
asp_transport_role_cmd | , | ||
"transport-role (client|server)" | , | ||
"Specify the transport layer role for this ASP\n" "Operate as a client; connect to a server\n" "Operate as a server; wait for client connections\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
References osmo_ss7_asp::cfg, osmo_ss7_asp::is_server, and osmo_ss7_asp::trans_role_set_by_vty.
DEFUN_ATTR | ( | cs7_as | , |
cs7_as_cmd | , | ||
"as NAME " | XUA_VAR_STR, | ||
"Configure an Application Server\n" "Name of the Application Server\n" | XUA_VAR_HELP_STR, | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_asp | , |
cs7_asp_cmd | , | ||
"asp NAME <0-65535> <0-65535> " | XUA_VAR_STR, | ||
"Configure Application Server Process\n" "Name of ASP\n" "Remote port number\n" "Local port number\n" | XUA_VAR_HELP_STR, | ||
CMD_ATTR_NODE_EXIT | |||
) |
References osmo_ss7_asp::cfg, osmo_ss7_asp::description, osmo_ss7_asp::inst, osmo_ss7_asp::is_server, osmo_ss7_asp::name, osmo_ss7_instance::name, osmo_ss7_asp_find2(), osmo_ss7_asp_find_or_create2(), OSMO_SS7_ASP_PROT_NONE, OSMO_SS7_ASP_ROLE_SG, parse_asp_proto(), parse_trans_proto(), osmo_ss7_asp::proto, osmo_ss7_asp::role, ss7_default_trans_proto_for_asp_proto(), and osmo_ss7_asp::trans_proto.
DEFUN_ATTR | ( | cs7_instance | , |
cs7_instance_cmd | , | ||
"cs7 instance <0-15>" | , | ||
CS7_STR "Configure a SS7 Instance\n" INST_STR "Number of the instance\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_net_ind | , |
cs7_net_ind_cmd | , | ||
"network-indicator (international | national | reserved | spare)" | , | ||
"Configure the Network Indicator\n" "International Network\n" "National Network\n" "Reserved Network\n" "Spare Network\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_instance::cfg, osmo_ss7_instance::network_indicator, ni, and ss7_network_indicator_vals.
DEFUN_ATTR | ( | cs7_pc_delimiter | , |
cs7_pc_delimiter_cmd | , | ||
"point-code delimiter (default|dash)" | , | ||
PC_STR "Configure Point Code Delimiter\n" "Use dot as delimiter\n" "User dash as delimiter\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::delimiter, and osmo_ss7_instance::pc_fmt.
DEFUN_ATTR | ( | cs7_pc_format | , |
cs7_pc_format_cmd | , | ||
"point-code format <1-24> " | [< 1-23 >][< 1-22 >], | ||
PC_STR "Configure Point Code Format\n" "Length of first PC component\n" "Length of second PC component\n" "Length of third PC component\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, and osmo_ss7_instance::pc_fmt.
DEFUN_ATTR | ( | cs7_pc_format_def | , |
cs7_pc_format_def_cmd | , | ||
"point-code format default" | , | ||
PC_STR "Configure Point Code Format\n" "Default Point Code Format (3.8.3)\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, and osmo_ss7_instance::pc_fmt.
DEFUN_ATTR | ( | cs7_permit_dyn_rkm | , |
cs7_permit_dyn_rkm_cmd | , | ||
"xua rkm routing-key-allocation (static-only|dynamic-permitted)" | , | ||
"SIGTRAN xxxUA related\n" "Routing Key Management\n" "Routing Key Management Allocation Policy\n" "Only static (pre-configured) Routing Keys permitted\n" "Dynamically allocate Routing Keys for what ASPs request\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_instance::cfg, and osmo_ss7_instance::permit_dyn_rkm_alloc.
DEFUN_ATTR | ( | cs7_point_code | , |
cs7_point_code_cmd | , | ||
"point-code POINT_CODE" | , | ||
"Configure the local Point Code\n" "Point Code\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_route_table | , |
cs7_route_table_cmd | , | ||
"route-table system" | , | ||
"Specify the name of the route table\n" "Name of the route table\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_rt_rem | , |
cs7_rt_rem_cmd | , | ||
"remove route POINT_CODE MASK" | , | ||
"Remove a Route\n" "Remove a Route\n" "Destination Point Code\n" "Point Code Mask\n" "Point Code Length\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_rt_upd | , |
cs7_rt_upd_cmd | , | ||
"update route POINT_CODE MASK linkset LS_NAME " | [priority][" ROUTE_PRIO_VAR_STR "][qos-class][" QOS_CLASS_VAR_STR "], | ||
"Update the Route\n" "Update the Route\n" "Destination Point Code\n" "Point Code Mask\n" "Specify Destination Linkset\n" "Linkset Name\n" "Specify Priority\n" ROUTE_PRIO_VAR_HELP_STR "Specify QoS Class\n" | QOS_CLASS_VAR_HELP_STR, | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_ss7_route::cfg, dpc, osmo_ss7_route_table::inst, osmo_ss7_route::mask, osmo_ss7_pointcode_parse(), osmo_ss7_pointcode_parse_mask_or_len(), osmo_ss7_route::priority, osmo_ss7_route::qos_class, osmo_ss7_route::rtable, ss7_route_alloc(), ss7_route_destroy(), ss7_route_insert(), and ss7_route_set_linkset().
DEFUN_ATTR | ( | cs7_sccpaddr | , |
cs7_sccpaddr_cmd | , | ||
"sccp-address NAME" | , | ||
"Create/Modify an SCCP addressbook entry\n" "Name of the SCCP Address\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_sccpaddr_del | , |
cs7_sccpaddr_del_cmd | , | ||
"no sccp-address NAME" | , | ||
NO_STR "Delete an SCCP addressbook entry\n" "Name of the SCCP Address\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References addr_entry_by_name_local(), and osmo_ss7_instance::name.
DEFUN_ATTR | ( | cs7_sccpaddr_gt | , |
cs7_sccpaddr_gt_cmd | , | ||
"global-title" | , | ||
"Add/Modify Global Title\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, OSMO_SCCP_ADDR_T_GT, and osmo_sccp_addr::presence.
DEFUN_ATTR | ( | cs7_sccpaddr_gt_del | , |
cs7_sccpaddr_gt_del_cmd | , | ||
"no global-title" | , | ||
NO_STR "Remove Global Title\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr::gt, and osmo_sccp_addr::presence.
DEFUN_ATTR | ( | cs7_sccpaddr_gt_digits | , |
cs7_sccpaddr_gt_digits_cmd | , | ||
"digits DIGITS" | , | ||
"Set Global Title Digits\n" "Number digits\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_gt::digits, and osmo_sccp_addr::gt.
DEFUN_ATTR | ( | cs7_sccpaddr_gt_gti | , |
cs7_sccpaddr_gt_gti_cmd | , | ||
"global-title-indicator <0-15>" | , | ||
"Set Global Title Indicator\n" "GTI\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr::gt, and osmo_sccp_gt::gti.
DEFUN_ATTR | ( | cs7_sccpaddr_gt_nai | , |
cs7_sccpaddr_gt_nai_cmd | , | ||
"nature-of-address-indicator <0-127>" | , | ||
"Set Global Title Nature of Address Indicator\n" "NAI\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr::gt, and osmo_sccp_gt::nai.
DEFUN_ATTR | ( | cs7_sccpaddr_gt_npi | , |
cs7_sccpaddr_gt_npi_cmd | , | ||
"numbering-plan-indicator <0-15>" | , | ||
"Set Global Title Numbering Plan Indicator\n" "NPI\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr::gt, and osmo_sccp_gt::npi.
DEFUN_ATTR | ( | cs7_sccpaddr_gt_tt | , |
cs7_sccpaddr_gt_tt_cmd | , | ||
"translation-type <0-255>" | , | ||
"Set Global Title Translation Type\n" "TT\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr::gt, and osmo_sccp_gt::tt.
DEFUN_ATTR | ( | cs7_sccpaddr_pc | , |
cs7_sccpaddr_pc_cmd | , | ||
"point-code POINT_CODE" | , | ||
"Add point-code Number\n" "PC\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_sccpaddr_pc_del | , |
cs7_sccpaddr_pc_del_cmd | , | ||
"no point-code" | , | ||
NO_STR "Remove point-code Number\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr::pc, and osmo_sccp_addr::presence.
DEFUN_ATTR | ( | cs7_sccpaddr_ri | , |
cs7_sccpaddr_ri_cmd | , | ||
"routing-indicator (GT|PC|IP)" | , | ||
"Add Routing Indicator\n" "by global-title\n" "by point-code\n" "by ip-address\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_sccpaddr_ssn | , |
cs7_sccpaddr_ssn_cmd | , | ||
"subsystem-number <0-4294967295>" | , | ||
"Add Subsystem Number\n" "SSN\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_sccpaddr_ssn_del | , |
cs7_sccpaddr_ssn_del_cmd | , | ||
"no subsystem-number" | , | ||
NO_STR "Remove Subsystem Number\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr::presence, and osmo_sccp_addr::ssn.
DEFUN_ATTR | ( | cs7_secondary_pc | , |
cs7_secondary_pc_cmd | , | ||
"secondary-pc POINT_CODE" | , | ||
"Configure the local Secondary Point Code\n" "Point Code\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | cs7_xua | , |
cs7_xua_cmd | , | ||
"listen " XUA_VAR_STR " <0-65534> " | [" IPPROTO_VAR_STR "], | ||
"Configure/Enable xUA Listener\n" XUA_VAR_HELP_STR "Port number\n" | IPPROTO_VAR_HELP_STR, | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | no_cs7_as | , |
no_cs7_as_cmd | , | ||
"no as NAME" | , | ||
NO_STR "Disable Application Server\n" "Name of AS\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | no_cs7_asp | , |
no_cs7_asp_cmd | , | ||
"no asp NAME" | , | ||
NO_STR "Disable Application Server Process\n" "Name of ASP\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | no_cs7_xua | , |
no_cs7_xua_cmd | , | ||
"no listen " XUA_VAR_STR " <0-65534> " | [" IPPROTO_VAR_STR "], | ||
NO_STR "Disable xUA Listener on given port\n" XUA_VAR_HELP_STR "Port number\n" | IPPROTO_VAR_HELP_STR, | ||
CMD_ATTR_IMMEDIATE | |||
) |
DEFUN_ATTR | ( | xua_accept_dyn_asp | , |
xua_accept_dyn_asp_cmd | , | ||
"accept-asp-connections (pre-configured|dynamic-permitted)" | , | ||
"Define what kind of ASP connections to accept\n" "Accept only pre-configured ASPs (source IP/port)\n" "Accept any connection and dynamically create an ASP definition\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References osmo_xua_server::accept_dyn_reg, and osmo_xua_server::cfg.
DEFUN_ATTR | ( | xua_local_ip | , |
xua_local_ip_cmd | , | ||
"local-ip " | VTY_IPV46_CMD, | ||
"Configure the Local IP Address for xUA\n" "IPv4 Address to use for XUA\n" "IPv6 Address to use for XUA\n" | , | ||
CMD_ATTR_IMMEDIATE | |||
) |
References ss7_xua_server_add_local_host().
DEFUN_ATTR | ( | xua_no_local_ip | , |
xua_no_local_ip_cmd | , | ||
"no local-ip " | VTY_IPV46_CMD, | ||
NO_STR "Configure the Local IP Address for xUA\n" "IPv4 Address to use for XUA\n" "IPv6 Address to use for XUA\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
References ss7_xua_server_del_local_host().
DEFUN_ATTR | ( | xua_no_sctp_param_init | , |
xua_no_sctp_param_init_cmd | , | ||
"no sctp-param init " | XUA_SRV_SCTP_PARAM_INIT_FIELDS, | ||
NO_STR | XUA_SRV_SCTP_PARAM_INIT_DESC, | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_ATTR | ( | xua_sctp_param_init | , |
xua_sctp_param_init_cmd | , | ||
"sctp-param init " XUA_SRV_SCTP_PARAM_INIT_FIELDS " <0-65535>" | , | ||
XUA_SRV_SCTP_PARAM_INIT_DESC "Value of the parameter\n" | , | ||
CMD_ATTR_NODE_EXIT | |||
) |
DEFUN_USRATTR | ( | as_no_traf_mode | , |
as_no_traf_mode_cmd | , | ||
OSMO_SCCP_LIB_ATTR_RSTRT_ASP | , | ||
"no traffic-mode" | , | ||
NO_STR "Remove explicit traffic mode of operation of this AS\n" | |||
) |
References osmo_ss7_as::cfg, osmo_ss7_as::mode, and osmo_ss7_as::mode_set_by_vty.
DEFUN_USRATTR | ( | as_traf_mode | , |
as_traf_mode_cmd | , | ||
OSMO_SCCP_LIB_ATTR_RSTRT_ASP | , | ||
"traffic-mode (broadcast | loadshare | roundrobin | override)" | , | ||
"Specifies traffic mode of operation of the ASP within the AS\n" "Broadcast to all ASP within AS\n" "Share Load among all ASP within AS\n" "Round-Robin between all ASP within AS\n" "Override\n" | |||
) |
|
static |
References ss7_asp_lm_timer_defaults, and ss7_asp_lm_timer_names.
Referenced by vty_init_shared().
|
static |
Referenced by show_one_asp().
LLIST_HEAD | ( | sccp_address_book_global | ) |
struct osmo_ss7_instance * osmo_sccp_addr_by_name | ( | struct osmo_sccp_addr * | dest_addr, |
const char * | name | ||
) |
Lookup an SCCP address from the addressbook by its name.
[out] | dest_addr | pointer to output the resulting sccp-address; (set to NULL if not interested) |
[in] | name | of the address to lookup |
References osmo_sccp_addr_entry::addr, addr_entry_by_name_global(), osmo_sccp_addr_entry::inst, and osmo_sccp_addr_entry::name.
int osmo_sccp_addr_by_name_local | ( | struct osmo_sccp_addr * | dest_addr, |
const char * | name, | ||
const struct osmo_ss7_instance * | inst | ||
) |
Lookup an SCCP address from the addressbook of a specific instance by its name.
[out] | dest_addr | pointer to output the resulting sccp-address; (set to NULL if not interested) |
[in] | name | of the address to lookup |
[in] | inst | ss7 instance of which the address book will be searched |
References osmo_sccp_addr_entry::addr, addr_entry_by_name_local(), osmo_sccp_addr_entry::inst, and osmo_sccp_addr_entry::name.
const char * osmo_sccp_name_by_addr | ( | const struct osmo_sccp_addr * | addr | ) |
Reverse lookup the lookup-name of a specified SCCP address.
[in] | name | of the address to lookup |
References osmo_sccp_addr_entry::addr, osmo_sccp_addr_entry::list_global, and osmo_sccp_addr_entry::name.
int osmo_ss7_is_config_node | ( | struct vty * | vty, |
int | node | ||
) |
int osmo_ss7_vty_go_parent | ( | struct vty * | vty | ) |
void osmo_ss7_vty_init_asp | ( | void * | ctx | ) |
References cs7_role, CS7_ROLE_ASP, and vty_init_shared().
void osmo_ss7_vty_init_sg | ( | void * | ctx | ) |
References cs7_role, CS7_ROLE_SG, rtable_node, vty_init_shared(), and xua_node.
|
static |
References osmo_ss7_asp_protocol_vals.
Referenced by DEFUN(), and DEFUN_ATTR().
|
static |
References ipproto_vals.
Referenced by DEFUN(), and DEFUN_ATTR().
|
static |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp_find_by_name(), osmo_ss7_instance_find(), and show_one_asp().
Referenced by DEFUN().
|
static |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp_find_by_name(), osmo_ss7_instance_find(), and show_one_asp_assoc_status().
Referenced by DEFUN().
|
static |
References osmo_ss7_instance::asp_list, osmo_ss7_asp::inst, osmo_ss7_asp::list, osmo_ss7_asp_find_by_name(), osmo_ss7_instance_find(), and show_one_asp_remaddr().
Referenced by DEFUN().
|
static |
References as_list_for_asp(), osmo_ss7_asp::cfg, osmo_ss7_asp::fi, get_sockname_buf(), osmo_ss7_asp::is_server, osmo_ss7_asp::local, osmo_ss7_asp::name, osmo_ss7_asp_protocol_vals, osmo_ss7_asp_role_names, osmo_ss7_asp::proto, osmo_ss7_asp::remote, osmo_ss7_asp::role, ss7_asp_get_fd(), ss7_asp_peer_snprintf(), and osmo_ss7_asp::trans_proto.
Referenced by show_asp().
|
static |
References osmo_ss7_asp::cfg, osmo_ss7_asp::name, show_one_asp_assoc_status_tcp(), and osmo_ss7_asp::trans_proto.
Referenced by show_asp_assoc_status().
|
static |
References osmo_ss7_asp::cfg, len, osmo_ss7_asp::name, ss7_asp_get_fd(), and tcp_info_state_values.
Referenced by show_one_asp_assoc_status().
|
static |
References osmo_ss7_asp::cfg, osmo_ss7_asp::name, show_one_asp_remaddr_tcp(), and osmo_ss7_asp::trans_proto.
Referenced by show_asp_remaddr().
|
static |
References osmo_ss7_asp::cfg, len, osmo_ss7_asp::name, ss7_asp_get_fd(), and tcp_info_state_values.
Referenced by show_one_asp_remaddr().
|
static |
|
static |
|
static |
References sccpaddr_gt_node, and sccpaddr_node.
Referenced by vty_init_shared().
|
static |
References as_node, asp_node, asp_quirk_descs, asp_quirk_names, config_write_cs7(), cs7_node, g_ctx, gen_asp_timer_cmd_strs(), and vty_init_addr().
Referenced by osmo_ss7_vty_init_asp(), and osmo_ss7_vty_init_sg().
|
static |
References osmo_ss7_instance::list, osmo_ss7_instances, and write_one_cs7().
Referenced by config_write_cs7(), and DEFUN().
|
static |
References osmo_ss7_asp::cfg, ss7_asp_lm_timer_names, and osmo_ss7_asp::T_defs_lm.
Referenced by write_one_asp().
|
static |
References osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_routing_key::context, osmo_ss7_as::description, osmo_ss7_as::dpc, osmo_ss7_asp::dyn_allocated, osmo_ss7_as::inst, osmo_ss7_as::mode, osmo_ss7_as::mode_set_by_vty, mtp_si_vals, osmo_ss7_as::name, osmo_ss7_asp::name, osmo_ss7_as_traffic_mode_name(), osmo_ss7_asp_protocol_name(), osmo_ss7_pointcode_print(), osmo_ss7_routing_key::pc, osmo_ss7_as::pc_override, osmo_ss7_as::proto, osmo_ss7_as::qos_class, osmo_ss7_as::recovery_timeout_msec, osmo_ss7_as::rkm_dyn_allocated, osmo_ss7_as::routing_key, osmo_ss7_as::sccp_mode, osmo_ss7_routing_key::si, osmo_ss7_as::simple_client_allocated, osmo_ss7_asp::simple_client_allocated, and osmo_ss7_routing_key::ssn.
Referenced by write_one_cs7().
|
static |
References asp_quirk_names, osmo_ss7_asp::cfg, osmo_ss7_asp::description, osmo_ss7_asp::dyn_allocated, osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, osmo_ss7_asp_peer::idx_primary, ipproto_vals, osmo_ss7_asp::is_server, osmo_ss7_asp::local, osmo_ss7_asp::max_attempts_present, osmo_ss7_asp::max_attempts_value, osmo_ss7_asp::max_init_timeo_present, osmo_ss7_asp::max_init_timeo_value, osmo_ss7_asp::max_instreams_present, osmo_ss7_asp::max_instreams_value, osmo_ss7_asp::name, osmo_ss7_asp::num_ostreams_present, osmo_ss7_asp::num_ostreams_value, osmo_ss7_asp_protocol_name(), osmo_ss7_asp_role_names, osmo_ss7_asp_peer::port, osmo_ss7_asp::proto, osmo_ss7_asp::qos_class, osmo_ss7_asp::quirks, osmo_ss7_asp::remote, osmo_ss7_asp::role, osmo_ss7_asp::sctp_init, osmo_ss7_asp::simple_client_allocated, ss7_default_trans_proto_for_asp_proto(), osmo_ss7_asp::trans_proto, and write_asp_timers().
Referenced by write_one_cs7().
|
static |
References osmo_ss7_instance::as_list, osmo_ss7_instance::asp_list, osmo_ss7_instance::cfg, osmo_ss7_pc_fmt::component_len, cs7_role, CS7_ROLE_SG, osmo_ss7_pc_fmt::delimiter, osmo_ss7_instance::description, osmo_ss7_instance::id, osmo_xua_server::inst, osmo_xua_server::list, osmo_ss7_instance::network_indicator, osmo_sccp_vty_write_cs7_node(), osmo_ss7_pc_is_valid(), osmo_ss7_pointcode_print(), osmo_ss7_instance::pc_fmt, osmo_ss7_instance::permit_dyn_rkm_alloc, osmo_ss7_instance::primary_pc, osmo_ss7_instance::rtable_list, osmo_ss7_instance::sccp, osmo_ss7_instance::secondary_pc, ss7_network_indicator_vals, write_one_as(), write_one_asp(), write_one_rtable(), write_one_xua(), write_sccp_addressbook(), and osmo_ss7_instance::xua_servers.
Referenced by write_all_cs7().
|
static |
References osmo_ss7_route::cfg, osmo_ss7_route_table::cfg, osmo_ss7_route_table::description, osmo_ss7_route_table::inst, osmo_ss7_route::linkset_name, osmo_ss7_route::list, osmo_ss7_route::mask, osmo_ss7_route_table::name, osmo_ss7_pointcode_print(), osmo_ss7_pointcode_print2(), OSMO_SS7_ROUTE_PRIO_DEFAULT, osmo_ss7_route::pc, osmo_ss7_route::priority, osmo_ss7_route::qos_class, osmo_ss7_route_table::routes, and osmo_ss7_route::rtable.
Referenced by write_one_cs7().
|
static |
References osmo_xua_server::accept_dyn_reg, osmo_xua_server::cfg, osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, ipproto_vals, osmo_xua_server::local, osmo_xua_server::max_instreams_present, osmo_xua_server::max_instreams_value, osmo_xua_server::num_ostreams_present, osmo_xua_server::num_ostreams_value, osmo_ss7_asp_protocol_vals, osmo_ss7_asp_peer::port, osmo_xua_server::proto, osmo_xua_server::sctp_init, ss7_default_trans_proto_for_asp_proto(), and osmo_xua_server::trans_proto.
Referenced by write_one_cs7().
|
static |
References osmo_sccp_addr_entry::addr, osmo_ss7_instance::cfg, osmo_sccp_gt::digits, osmo_sccp_addr::gt, osmo_sccp_gt::gti, osmo_sccp_addr_entry::inst, osmo_sccp_addr_entry::list, osmo_sccp_gt::nai, osmo_sccp_addr_entry::name, osmo_sccp_gt::npi, OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, OSMO_SCCP_RI_GT, OSMO_SCCP_RI_NONE, OSMO_SCCP_RI_SSN_IP, OSMO_SCCP_RI_SSN_PC, osmo_ss7_pointcode_print(), osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_sccp_addr::ri, osmo_ss7_instance::sccp_address_book, osmo_sccp_addr::ssn, and osmo_sccp_gt::tt.
Referenced by write_one_cs7().
|
static |
Referenced by vty_init_shared().
|
static |
Referenced by vty_init_shared().
|
static |
Referenced by vty_init_shared().
|
static |
Referenced by DEFUN_ATTR(), vty_init_shared(), and write_one_asp().
|
static |
Referenced by vty_init_shared().
|
static |
Referenced by _rout_key(), osmo_ss7_vty_init_asp(), osmo_ss7_vty_init_sg(), and write_one_cs7().
|
static |
Referenced by DEFUN_ATTR(), and vty_init_shared().
|
static |
Referenced by parse_trans_proto(), vty_dump_xua_server(), write_one_asp(), and write_one_xua().
const struct value_string mtp_si_vals[] |
Referenced by _rout_key(), write_one_as(), and xua_snm_rx_dupu().
|
static |
Referenced by osmo_ss7_vty_init_sg().
|
static |
Referenced by vty_init_addr().
|
static |
Referenced by vty_init_addr().
|
static |
Referenced by DEFUN_ATTR(), and write_one_cs7().
|
static |
Referenced by show_one_asp_assoc_status_tcp(), and show_one_asp_remaddr_tcp().
|
static |
Referenced by osmo_ss7_vty_init_sg().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
Go to the source code of this file.
Data Structures | |
struct | xua_msg |
struct | xua_msg_part |
struct | xua_msg_class |
struct | xua_dialect |
struct | xua_msg_event_map |
Macros | |
#define | XUA_HDR(class, type) ((struct xua_common_hdr) { .spare = 0, .msg_class = (class), .msg_type = (type) }) |
Functions | |
void | osmo_xua_msg_tall_ctx_init (void *ctx) |
struct xua_msg * | xua_msg_alloc (void) |
void | xua_msg_free (struct xua_msg *msg) |
int | xua_msg_add_data (struct xua_msg *msg, uint16_t tag, uint16_t len, const uint8_t *dat) |
struct xua_msg_part * | xua_msg_find_tag (const struct xua_msg *msg, uint16_t tag) |
int | xua_msg_free_tag (struct xua_msg *xua, uint16_t tag) |
int | xua_msg_copy_part (struct xua_msg *xua_out, uint16_t tag_out, const struct xua_msg *xua_in, uint16_t tag_in) |
struct xua_msg * | xua_from_msg (const int version, uint16_t len, uint8_t *data) |
struct msgb * | xua_to_msg (const int version, struct xua_msg *msg) |
struct xua_msg * | xua_from_nested (struct xua_msg_part *outer) |
int | msgb_t16l16vp_put (struct msgb *msg, uint16_t tag, uint16_t len, const uint8_t *data) |
int | msgb_t16l16vp_put_u32 (struct msgb *msg, uint16_t tag, uint32_t val) |
int | xua_msg_add_u32 (struct xua_msg *xua, uint16_t iei, uint32_t val) |
uint32_t | xua_msg_part_get_u32 (const struct xua_msg_part *part) |
uint32_t | xua_msg_get_u32 (const struct xua_msg *xua, uint16_t iei) |
const uint32_t * | xua_msg_get_u32p (const struct xua_msg *xua, uint16_t iei, uint32_t *out) |
const char * | xua_msg_part_get_str (const struct xua_msg_part *part) |
const char * | xua_msg_get_str (const struct xua_msg *xua, uint16_t iei) |
int | xua_msg_get_len (const struct xua_msg *xua, uint16_t iei) |
void | xua_part_add_gt (struct msgb *msg, const struct osmo_sccp_gt *gt) |
int | xua_msg_add_sccp_addr (struct xua_msg *xua, uint16_t iei, const struct osmo_sccp_addr *addr) |
const char * | xua_class_msg_name (const struct xua_msg_class *xmc, uint16_t msg_type) |
const char * | xua_class_iei_name (const struct xua_msg_class *xmc, uint16_t iei) |
char * | xua_hdr_dump (struct xua_msg *xua, const struct xua_dialect *dialect) |
char * | xua_msg_dump (struct xua_msg *xua, const struct xua_dialect *dialect) |
int | xua_dialect_check_all_mand_ies (const struct xua_dialect *dialect, struct xua_msg *xua) |
int | xua_msg_event_map (const struct xua_msg *xua, const struct xua_msg_event_map *maps, unsigned int num_maps) |
Map from a xua_msg (class+type) to an event. More... | |
Variables | |
const struct xua_dialect | xua_dialect_sua |
const struct xua_dialect | xua_dialect_m3ua |
#define XUA_HDR | ( | class, | |
type | |||
) | ((struct xua_common_hdr) { .spare = 0, .msg_class = (class), .msg_type = (type) }) |
int msgb_t16l16vp_put | ( | struct msgb * | msg, |
uint16_t | tag, | ||
uint16_t | len, | ||
const uint8_t * | data | ||
) |
References data, len, and tag.
Referenced by msgb_t16l16vp_put_u32(), and xua_msg_add_sccp_addr().
int msgb_t16l16vp_put_u32 | ( | struct msgb * | msg, |
uint16_t | tag, | ||
uint32_t | val | ||
) |
References msgb_t16l16vp_put(), and tag.
Referenced by msgb_append_dereg_res(), msgb_append_reg_res(), xua_msg_add_sccp_addr(), xua_rkm_send_dereg_req(), and xua_rkm_send_reg_req().
void osmo_xua_msg_tall_ctx_init | ( | void * | ctx | ) |
const char * xua_class_iei_name | ( | const struct xua_msg_class * | xmc, |
uint16_t | iei | ||
) |
References xua_msg_class::iei_names.
Referenced by xua_dialect_check_all_mand_ies(), and xua_msg_dump().
const char * xua_class_msg_name | ( | const struct xua_msg_class * | xmc, |
uint16_t | msg_type | ||
) |
References msg_type, and xua_msg_class::msgt_names.
Referenced by xua_dialect_check_all_mand_ies(), xua_hdr_dump(), and xua_opt_data_send_cache().
int xua_dialect_check_all_mand_ies | ( | const struct xua_dialect * | dialect, |
struct xua_msg * | xua | ||
) |
References xua_dialect::class, xua_msg::hdr, xua_dialect::log_subsys, xua_msg_class::mand_ies, msg_class, xua_common_hdr::msg_class, msg_type, xua_common_hdr::msg_type, xua_msg_class::name, xua_dialect::name, xua_class_iei_name(), xua_class_msg_name(), and xua_msg_find_tag().
Referenced by m3ua_rx_msg(), and sua_rx_msg().
struct xua_msg * xua_from_msg | ( | const int | version, |
uint16_t | len, | ||
uint8_t * | data | ||
) |
References data, xua_msg::hdr, len, xua_common_hdr::msg_length, version, xua_common_hdr::version, xua_from_msg_common(), xua_msg_alloc(), and xua_msg_free().
Referenced by m3ua_gen_error_msg(), m3ua_rx_msg(), and sua_rx_msg().
struct xua_msg * xua_from_nested | ( | struct xua_msg_part * | outer | ) |
References xua_msg_part::dat, xua_msg_part::len, xua_from_msg_common(), xua_msg_alloc(), and xua_msg_free().
Referenced by m3ua_rx_rkm_dereg_rsp(), m3ua_rx_rkm_reg_req(), and m3ua_rx_rkm_reg_rsp().
char * xua_hdr_dump | ( | struct xua_msg * | xua, |
const struct xua_dialect * | dialect | ||
) |
References xua_dialect::class, xua_msg::hdr, xua_common_hdr::msg_class, xua_common_hdr::msg_type, xua_msg_class::name, and xua_class_msg_name().
Referenced by m3ua_rx_msg(), osmo_sua_to_sccp(), sccp_find_user(), sccp_sclc_rx_from_scrc(), sccp_scoc_rx_from_scrc(), sccp_scoc_rx_inval_opc(), sccp_scoc_rx_inval_src_ref(), sccp_scoc_rx_scrc_rout_fail(), sccp_scoc_rx_unass_local_ref(), sua_rx_msg(), and xua_msg_dump().
int xua_msg_add_data | ( | struct xua_msg * | msg, |
uint16_t | tag, | ||
uint16_t | len, | ||
const uint8_t * | dat | ||
) |
References xua_msg_part::dat, xua_msg_part::entry, xua_msg::headers, xua_msg_part::len, len, xua_msg_part::tag, and tag.
Referenced by m3ua_encode_duna(), m3ua_encode_dupu(), m3ua_encode_notify(), m3ua_gen_error_msg(), m3ua_tx_snm_congestion(), sccp_data_to_sua_ptr(), sccp_longdata_to_sua_ptr(), sua_encode_duna(), sua_encode_dupu(), sua_gen_error_msg(), sua_tx_snm_congestion(), xua_from_msg_common(), xua_gen_msg_cl(), xua_gen_msg_co(), xua_gen_relre(), xua_msg_add_asp_rctx(), xua_msg_add_sccp_addr(), xua_msg_add_sccp_opt(), xua_msg_add_u32(), and xua_msg_copy_part().
int xua_msg_add_sccp_addr | ( | struct xua_msg * | xua, |
uint16_t | iei, | ||
const struct osmo_sccp_addr * | addr | ||
) |
References osmo_sccp_addr::gt, osmo_sccp_addr::ip, msgb_t16l16vp_put(), msgb_t16l16vp_put_u32(), OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_IPv4, OSMO_SCCP_ADDR_T_IPv6, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, OSMO_SCCP_RI_GT, OSMO_SCCP_RI_SSN_IP, OSMO_SCCP_RI_SSN_PC, osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_sccp_addr::ri, osmo_sccp_addr::ssn, SUA_IEI_IPv4, SUA_IEI_IPv6, SUA_IEI_PC, SUA_IEI_SSN, SUA_RI_GT, SUA_RI_SSN_IP, SUA_RI_SSN_PC, osmo_sccp_addr::v4, osmo_sccp_addr::v6, xua_msg_add_data(), and xua_part_add_gt().
Referenced by ensure_opc_in_calling_ssn(), gen_ret_msg(), patch_sccp_with_pc(), sccp_addr_to_sua(), xua_gen_msg_cl(), and xua_gen_msg_co().
int xua_msg_add_u32 | ( | struct xua_msg * | xua, |
uint16_t | iei, | ||
uint32_t | val | ||
) |
References xua_msg_add_data().
Referenced by gen_coerr(), gen_coref_without_conn(), gen_relco(), gen_ret_msg(), gen_rlsd(), m3ua_encode_dupu(), m3ua_encode_notify(), m3ua_gen_error(), m3ua_tx_snm_congestion(), m3ua_tx_xua_as(), peer_send(), peer_send_error(), sccp_to_xua_cc(), sccp_to_xua_cr(), sccp_to_xua_cref(), sccp_to_xua_dt1(), sccp_to_xua_err(), sccp_to_xua_it(), sccp_to_xua_ludt(), sccp_to_xua_ludts(), sccp_to_xua_rlc(), sccp_to_xua_rlsd(), sccp_to_xua_udt(), sccp_to_xua_udts(), sccp_to_xua_xudt(), sccp_to_xua_xudts(), scoc_fsm_active(), sua_encode_duna(), sua_encode_dupu(), sua_gen_error(), sua_tx_snm_congestion(), sua_tx_xua_as(), xua_gen_msg_cl(), xua_gen_msg_co(), xua_gen_relre(), and xua_msg_add_sccp_opt().
struct xua_msg * xua_msg_alloc | ( | void | ) |
References xua_msg::headers, and tall_xua.
Referenced by gen_coerr(), gen_coref_without_conn(), gen_relco(), gen_ret_msg(), gen_rlsd(), m3ua_encode_duna(), m3ua_encode_dupu(), m3ua_encode_notify(), m3ua_gen_error(), m3ua_tx_snm_congestion(), m3ua_xfer_from_data(), osmo_sccp_to_xua(), peer_send(), peer_send_error(), scoc_fsm_active(), sua_encode_duna(), sua_encode_dupu(), sua_gen_error(), sua_tx_snm_congestion(), xua_from_msg(), xua_from_nested(), xua_gen_msg_cl(), xua_gen_msg_co(), and xua_gen_relre().
int xua_msg_copy_part | ( | struct xua_msg * | xua_out, |
uint16_t | tag_out, | ||
const struct xua_msg * | xua_in, | ||
uint16_t | tag_in | ||
) |
References xua_msg_part::dat, xua_msg_part::len, xua_msg_add_data(), and xua_msg_find_tag().
Referenced by gen_coref_without_conn(), gen_ret_msg(), and peer_send().
char * xua_msg_dump | ( | struct xua_msg * | xua, |
const struct xua_dialect * | dialect | ||
) |
References xua_dialect::class, xua_msg_part::dat, xua_msg::hdr, xua_msg::headers, xua_msg_part::len, xua_common_hdr::msg_class, xua_common_hdr::msg_length, xua_msg_part::tag, xua_common_hdr::version, xua_class_iei_name(), and xua_hdr_dump().
Referenced by m3ua_rx_mgmt_err(), sccp_scrc_rx_sclc_msg(), sccp_scrc_rx_scoc_conn_msg(), scrc_rx_mtp_xfer_ind_xua(), and sua_rx_mgmt_err().
int xua_msg_event_map | ( | const struct xua_msg * | xua, |
const struct xua_msg_event_map * | maps, | ||
unsigned int | num_maps | ||
) |
Map from a xua_msg (class+type) to an event.
[in] | xua | xUA message which is to be mapped |
[in] | maps | Table containing msg type+class -> event maps [aram[in] num_maps number of entries in maps |
References xua_msg_event_map::event, xua_msg::hdr, xua_msg_event_map::msg_class, xua_common_hdr::msg_class, xua_msg_event_map::msg_type, and xua_common_hdr::msg_type.
Referenced by m3ua_rx_asp(), sccp_scoc_rx_from_scrc(), and sua_rx_asp().
struct xua_msg_part * xua_msg_find_tag | ( | const struct xua_msg * | msg, |
uint16_t | tag | ||
) |
References xua_msg_part::entry, xua_msg::headers, xua_msg_part::tag, and tag.
Referenced by data_hdr_from_m3ua(), handle_rkey_dereg_resp(), handle_rkey_reg(), handle_rkey_reg_resp(), ipa_tx_xua_as(), m3ua_decode_notify(), m3ua_gen_error_msg(), m3ua_rx_rkm_dereg_req(), m3ua_rx_snm(), m3ua_rx_snm_asp(), m3ua_rx_xfer(), m3ua_to_xfer_ind(), sccp_add_long_variable_part(), sccp_add_var_addr(), sccp_add_variable_part(), sccp_scoc_rx_from_scrc(), sclc_rx_cldr(), sclc_rx_cldt(), scrc_rx_mtp_xfer_ind_xua(), scu_gen_encode_and_send(), sua_addr_parse(), sua_rx_cl(), sua_rx_co(), sua_rx_snm_asp(), sua_to_sccp_udt(), sua_to_sccp_udts(), xua_asp_fsm_down(), xua_asp_fsm_inactive(), xua_dialect_check_all_mand_ies(), xua_msg_copy_part(), xua_msg_get_len(), xua_msg_get_str(), xua_msg_get_u32(), xua_msg_get_u32p(), xua_snm_rx_daud(), xua_snm_rx_dava(), xua_snm_rx_duna(), and xua_snm_rx_scon().
void xua_msg_free | ( | struct xua_msg * | msg | ) |
Referenced by encode_notify(), ipa_rx_msg_sccp(), m3ua_gen_error_msg(), m3ua_rx_msg(), m3ua_rx_rkm_dereg_rsp(), m3ua_rx_rkm_reg_req(), m3ua_rx_rkm_reg_rsp(), m3ua_tx_dupu(), m3ua_tx_snm_available(), m3ua_tx_snm_congestion(), mtp_user_prim_cb(), osmo_sccp_to_xua(), osmo_ss7_user_mtp_xfer_req(), patch_sccp_with_pc(), peer_send(), peer_send_error(), sccp_sclc_rx_scrc_rout_fail(), sccp_scoc_rx_scrc_rout_fail(), sua_rx_msg(), tx_coerr_from_xua(), tx_relco_from_xua(), tx_rlsd_from_xua_twoway(), xua_from_msg(), xua_from_nested(), xua_gen_encode_and_send(), xua_gen_msg_cl(), xua_gen_msg_co(), and xua_gen_relre_and_send().
int xua_msg_free_tag | ( | struct xua_msg * | xua, |
uint16_t | tag | ||
) |
References xua_msg_part::entry, xua_msg::headers, xua_msg_part::tag, and tag.
Referenced by ensure_opc_in_calling_ssn(), gen_ret_msg(), m3ua_rx_xfer(), and patch_sccp_with_pc().
int xua_msg_get_len | ( | const struct xua_msg * | xua, |
uint16_t | iei | ||
) |
References xua_msg_part::len, and xua_msg_find_tag().
Referenced by sua_to_sccp_udt(), sua_to_sccp_udts(), and sua_to_sccp_xudt().
const char * xua_msg_get_str | ( | const struct xua_msg * | xua, |
uint16_t | iei | ||
) |
References xua_msg_find_tag(), and xua_msg_part_get_str().
Referenced by xua_snm_rx_daud(), xua_snm_rx_dava(), xua_snm_rx_duna(), xua_snm_rx_dupu(), and xua_snm_rx_scon().
uint32_t xua_msg_get_u32 | ( | const struct xua_msg * | xua, |
uint16_t | iei | ||
) |
References xua_msg_find_tag(), and xua_msg_part_get_u32().
Referenced by handle_rkey_dereg_resp(), handle_rkey_reg(), handle_rkey_reg_resp(), m3ua_rx_mgmt_err(), sccp_scoc_rx_from_scrc(), sccp_scoc_rx_scrc_rout_fail(), sclc_rx_cldr(), sclc_rx_cldt(), scoc_fsm_active(), scoc_fsm_conn_pend_out(), scoc_fsm_idle(), scoc_fsm_wait_conn_conf(), scrc_rx_mtp_xfer_ind_xua(), scu_gen_encode_and_send(), store_local_ref(), sua_rx_mgmt_err(), sua_to_sccp_cc(), sua_to_sccp_cr(), sua_to_sccp_cref(), sua_to_sccp_dt1(), sua_to_sccp_err(), sua_to_sccp_it(), sua_to_sccp_ludt(), sua_to_sccp_ludts(), sua_to_sccp_rlsd(), sua_to_sccp_udt(), sua_to_sccp_udts(), sua_to_sccp_xudt(), sua_to_sccp_xudts(), tx_coerr_from_xua(), tx_relco_from_xua(), tx_rlsd_from_xua_twoway(), xua_asp_fsm_inactive(), and xua_snm_rx_dupu().
const uint32_t * xua_msg_get_u32p | ( | const struct xua_msg * | xua, |
uint16_t | iei, | ||
uint32_t * | out | ||
) |
References xua_msg_find_tag(), and xua_msg_part_get_u32().
Referenced by xua_snm_rx_dava(), xua_snm_rx_duna(), and xua_snm_rx_scon().
const char * xua_msg_part_get_str | ( | const struct xua_msg_part * | part | ) |
References xua_msg_part::dat, and xua_msg_part::len.
Referenced by xua_msg_get_str().
uint32_t xua_msg_part_get_u32 | ( | const struct xua_msg_part * | part | ) |
void xua_part_add_gt | ( | struct msgb * | msg, |
const struct osmo_sccp_gt * | gt | ||
) |
References osmo_sccp_gt::digits, osmo_sccp_gt::gti, osmo_sccp_gt::nai, osmo_sccp_gt::npi, SUA_IEI_GT, and osmo_sccp_gt::tt.
Referenced by xua_msg_add_sccp_addr().
struct msgb * xua_to_msg | ( | const int | version, |
struct xua_msg * | msg | ||
) |
References xua_msg_part::dat, xua_msg::hdr, xua_msg::headers, xua_msg_part::len, xua_common_hdr::msg_length, xua_common_hdr::spare, xua_msg_part::tag, version, and xua_common_hdr::version.
Referenced by encode_notify(), m3ua_to_msg(), peer_send(), peer_send_error(), and sua_to_msg().
|
extern |
Referenced by m3ua_rx_mgmt_err(), and m3ua_rx_msg().
|
extern |
Referenced by osmo_sua_to_sccp(), sccp_find_user(), sccp_sclc_rx_from_scrc(), sccp_scoc_rx_from_scrc(), sccp_scoc_rx_inval_opc(), sccp_scoc_rx_inval_src_ref(), sccp_scoc_rx_scrc_rout_fail(), sccp_scoc_rx_unass_local_ref(), sccp_scrc_rx_sclc_msg(), sccp_scrc_rx_scoc_conn_msg(), scrc_rx_mtp_xfer_ind_xua(), sua_rx_mgmt_err(), sua_rx_msg(), and xua_opt_data_send_cache().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <ss7_asp_peer.h>
Data Fields | |
char * | host [OSMO_SOCK_MAX_ADDRS] |
size_t | host_cnt |
uint16_t | port |
int | idx_primary |
char* osmo_ss7_asp_peer::host[OSMO_SOCK_MAX_ADDRS] |
Referenced by DEFUN_ATTR(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_asp_restart(), sctp_peer_addr_change_ev_addr_matches_our_primary(), ss7_asp_apply_drop_local_address(), ss7_asp_apply_new_local_address(), ss7_asp_apply_peer_primary_address(), ss7_asp_apply_primary_address(), ss7_asp_peer_add_host2(), ss7_asp_peer_del_host(), ss7_asp_peer_find_host(), ss7_asp_peer_match_host(), ss7_asp_peer_set_hosts2(), ss7_asp_peer_snprintf(), ss7_asp_set_default_peer_hosts(), ss7_xua_server_add_local_host(), ss7_xua_server_del_local_host(), ss7_xua_server_set_local_hosts(), write_one_asp(), write_one_xua(), and xua_accept_cb().
size_t osmo_ss7_asp_peer::host_cnt |
Referenced by DEFUN_ATTR(), osmo_sccp_simple_server_add_clnt(), osmo_ss7_asp_restart(), ss7_asp_apply_peer_primary_address(), ss7_asp_apply_primary_address(), ss7_asp_find_by_socket_addr(), ss7_asp_peer_add_host2(), ss7_asp_peer_del_host(), ss7_asp_peer_find_host(), ss7_asp_peer_match_host(), ss7_asp_peer_set_hosts2(), ss7_asp_peer_snprintf(), ss7_asp_set_default_peer_hosts(), ss7_xua_server_add_local_host(), ss7_xua_server_del_local_host(), ss7_xua_server_set_default_local_hosts(), ss7_xua_server_set_local_hosts(), write_one_asp(), write_one_xua(), and xua_accept_cb().
int osmo_ss7_asp_peer::idx_primary |
Referenced by asp_handle_sctp_notif_monitor_primary_address(), DEFUN_ATTR(), sctp_peer_addr_change_ev_addr_matches_our_primary(), ss7_asp_apply_peer_primary_address(), ss7_asp_apply_primary_address(), ss7_asp_peer_add_host2(), ss7_asp_peer_del_host(), ss7_asp_peer_init(), ss7_asp_peer_set_hosts2(), ss7_asp_peer_snprintf(), and write_one_asp().
uint16_t osmo_ss7_asp_peer::port |
Referenced by _show_cs7_xua(), osmo_sccp_simple_client_on_ss7_id(), osmo_ss7_asp_find2(), osmo_ss7_asp_find_or_create2(), osmo_ss7_asp_restart(), ss7_asp_alloc(), ss7_asp_apply_peer_primary_address(), ss7_asp_apply_primary_address(), ss7_asp_find_by_socket_addr(), ss7_asp_peer_snprintf(), ss7_xua_server_create2(), ss7_xua_server_find2(), write_one_asp(), write_one_xua(), and xua_accept_cb().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <ss7_link.h>
Data Fields | |
struct osmo_ss7_linkset * | linkset |
osmo_ss7_linkset to which we belong More... | |
struct { | |
char * name | |
char * description | |
uint32_t id | |
enum osmo_ss7_link_adm_state adm_state | |
} | cfg |
enum osmo_ss7_link_adm_state osmo_ss7_link::adm_state |
struct { ... } osmo_ss7_link::cfg |
Referenced by ss7_link_destroy(), and ss7_link_find_or_create().
char* osmo_ss7_link::description |
uint32_t osmo_ss7_link::id |
Referenced by ss7_link_destroy(), and ss7_link_find_or_create().
struct osmo_ss7_linkset* osmo_ss7_link::linkset |
osmo_ss7_linkset to which we belong
Referenced by ss7_link_destroy(), and ss7_link_find_or_create().
char* osmo_ss7_link::name |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdbool.h>
#include <string.h>
#include <errno.h>
#include <inttypes.h>
#include <osmocom/sccp/sccp_types.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/logging.h>
#include <osmocom/sigtran/sccp_sap.h>
#include <osmocom/sigtran/sccp_helpers.h>
#include <osmocom/sigtran/protocol/sua.h>
#include "xua_msg.h"
#include "xua_internal.h"
#include "sccp_internal.h"
Macros | |
#define | MAX_IES 6 |
#define | NUM_SCCP_MSGT (SCCP_MSG_TYPE_LUDTS+1) |
Functions | |
static void | msgb_put_u24be (struct msgb *msg, uint32_t val) |
static void | msgb_put_u16le (struct msgb *msg, uint16_t val) |
static uint32_t | load_24be (const void *ptr) |
load a 24bit value as big-endian More... | |
int | osmo_isup_party_parse (char *out_digits, const uint8_t *in, unsigned int in_num_bytes, bool odd) |
Parse ISUP style address of BCD digets. More... | |
int | osmo_isup_party_encode (struct msgb *msg, const char *in_digits) |
Encode an ISUP style address of BCD digits. More... | |
int | osmo_sccp_addr_parse (struct osmo_sccp_addr *out, const uint8_t *addr, unsigned int addrlen) |
Parse wire-encoded SCCP address into osmo_sccp_addr. More... | |
int | osmo_sccp_addr_encode (struct msgb *msg, const struct osmo_sccp_addr *in) |
encode a SCCP address from parsed format to wire format More... | |
static int | sccp_addr_to_sua (struct xua_msg *xua, uint16_t iei, const uint8_t *addr, unsigned int addrlen) |
convert SCCP address to SUA address More... | |
static int | sccp_addr_to_sua_ptr (struct xua_msg *xua, uint16_t iei, const uint8_t *ptr_addr, bool ptr_addr_is_long) |
convenience wrapper around sccp_addr_to_sua() for variable mandatory addresses More... | |
static int | sua_addr_to_sccp (struct msgb *msg, const struct xua_msg_part *part) |
convert SUA address to SCCP address More... | |
static int | sccp_add_var_addr (struct msgb *msg, uint8_t *var_ptr, bool var_ptr_is_long, const struct xua_msg *xua, uint16_t iei) |
Add a "SCCP Variable Mandatory Part" (Address format) to the given msgb. More... | |
static int | sccp_add_variable_part (struct msgb *msg, uint8_t *var_ptr, const struct xua_msg *xua, uint16_t iei) |
Add a "SCCP Variable Mandatory Part" to the given msgb. More... | |
static int | sccp_add_long_variable_part (struct msgb *msg, uint8_t *var_ptr, const struct xua_msg *xua, uint16_t iei) |
Add a "SCCP Long Variable Mandatory Part" to the given msgb. More... | |
static bool | sccp_ptr_part_consistent (const struct msgb *msg, const uint8_t *ptr_addr) |
validate that SCCP part with pointer + length doesn't exceed msg tail More... | |
static bool | sccp_longptr_part_consistent (const struct msgb *msg, const uint8_t *ptr_addr, bool len_is_long) |
validate that SCCP part with long pointer (2 bytes) + length doesn't exceed msg tail More... | |
static int | sccp_data_to_sua_ptr (struct xua_msg *xua, uint16_t iei, const uint8_t *ptr_addr) |
convenience wrapper around xua_msg_add_data() for variable mandatory data More... | |
static int | sccp_longdata_to_sua_ptr (struct xua_msg *xua, uint16_t iei, const uint8_t *ptr_addr) |
convenience wrapper around xua_msg_add_data() for variable mandatory data More... | |
static int | xua_msg_add_sccp_opt (struct xua_msg *xua, uint8_t sccp_opt_type, uint16_t opt_len, const uint8_t *opt) |
Convert a given SCCP option to SUA and add it to given xua_msg. More... | |
static void | msgb_put_sccp_opt_hdr (struct msgb *msg, uint8_t pnc, uint8_t len) |
append a SCCP option header to the given message More... | |
static void | msgb_put_sccp_opt (struct msgb *msg, uint8_t pnc, uint8_t len, const uint8_t *data) |
append a SCCP option to the given message More... | |
static int | sccp_msg_add_sua_opt (enum sccp_message_types type, struct msgb *msg, const struct xua_msg_part *opt) |
Convert a given SUA option/IE to SCCP and add it to given * msgb. More... | |
static struct xua_msg * | sccp_to_xua_opt (const struct msgb *msg, const uint8_t *ptr_opt, bool ptr_opt_is_long, struct xua_msg *xua) |
convert SCCP optional part to list of SUA options More... | |
static bool | sccp_is_mandatory (enum sccp_message_types type, const struct xua_msg_part *part) |
static bool | sccp_option_permitted (enum sccp_message_types type, const struct xua_msg_part *part) |
static int | xua_ies_to_sccp_opts (struct msgb *msg, uint8_t *ptr_opt, bool ptr_opt_is_long, enum sccp_message_types type, const struct xua_msg *xua) |
static int | store_local_ref (struct sccp_source_reference *local_ref, const struct xua_msg *xua, uint16_t iei) |
static struct xua_msg * | sccp_to_xua_cr (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_cr (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_cc (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_cc (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_cref (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_cref (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_rlsd (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_rlsd (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_rlc (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_rlc (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_dt1 (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_dt1 (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_udt (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_xudt (struct msgb *msg, const struct xua_msg *xua) |
static int | sua_to_sccp_ludt (struct msgb *msg, const struct xua_msg *xua) |
static int | sua_to_sccp_udt (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_xudt (const struct msgb *msg, struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_ludt (struct msgb *msg, struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_udts (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_xudts (struct msgb *msg, const struct xua_msg *xua) |
static int | sua_to_sccp_ludts (struct msgb *msg, const struct xua_msg *xua) |
static int | sua_to_sccp_udts (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_xudts (const struct msgb *msg, struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_ludts (const struct msgb *msg, struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_it (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_it (struct msgb *msg, const struct xua_msg *xua) |
static struct xua_msg * | sccp_to_xua_err (const struct msgb *msg, struct xua_msg *xua) |
static int | sua_to_sccp_err (struct msgb *msg, const struct xua_msg *xua) |
struct xua_msg * | osmo_sccp_to_xua (struct msgb *msg) |
convert SCCP message to a SUA message More... | |
struct msgb * | osmo_sua_to_sccp (struct xua_msg *xua) |
convert parsed SUA message to SCCP message More... | |
Variables | |
static const uint16_t | sccp_mandatory [NUM_SCCP_MSGT][MAX_IES] |
static const uint16_t | sccp_optional [NUM_SCCP_MSGT][MAX_IES] |
#define MAX_IES 6 |
#define NUM_SCCP_MSGT (SCCP_MSG_TYPE_LUDTS+1) |
|
static |
load a 24bit value as big-endian
References data.
Referenced by sccp_to_xua_cc(), sccp_to_xua_cr(), sccp_to_xua_cref(), sccp_to_xua_dt1(), sccp_to_xua_err(), sccp_to_xua_it(), sccp_to_xua_rlc(), sccp_to_xua_rlsd(), and xua_msg_add_sccp_opt().
|
static |
append a SCCP option to the given message
msg | Message to which option is to be appended | |
[in] | pnc | PNC of the option header |
[in] | len | length of the option, excluding the header |
[in] | data | actual data to be appended |
References data, len, and msgb_put_sccp_opt_hdr().
Referenced by sccp_msg_add_sua_opt().
|
static |
append a SCCP option header to the given message
msg | Message to which header is to be appended | |
[in] | pnc | PNC of the option header |
[in] | len | length of the option, excluding the header |
References len.
Referenced by msgb_put_sccp_opt(), and sccp_msg_add_sua_opt().
|
static |
Referenced by osmo_sccp_addr_encode().
|
static |
Referenced by sccp_msg_add_sua_opt().
int osmo_isup_party_encode | ( | struct msgb * | msg, |
const char * | in_digits | ||
) |
Encode an ISUP style address of BCD digits.
[out] | msg | Message to which the encoded address is appended |
[in] | in_digits | NUL-terminated ASCII string of digits |
Referenced by osmo_sccp_addr_encode().
int osmo_isup_party_parse | ( | char * | out_digits, |
const uint8_t * | in, | ||
unsigned int | in_num_bytes, | ||
bool | odd | ||
) |
Parse ISUP style address of BCD digets.
[out] | out_digits | user-allocated buffer for ASCII digits |
[in] | in | BCD-encoded digits |
[in] | in_num_bytes | Size of in in bytes |
[in] | odd | Odd (true) or even (false) number of digits |
Referenced by osmo_sccp_addr_parse().
int osmo_sccp_addr_encode | ( | struct msgb * | msg, |
const struct osmo_sccp_addr * | in | ||
) |
encode a SCCP address from parsed format to wire format
[out] | msg | message buffer to which address is to be appended |
[in] | in | data structure describing SCCP address |
References osmo_sccp_gt::digits, osmo_sccp_addr::gt, osmo_sccp_gt::gti, msgb_put_u16le(), osmo_sccp_gt::nai, osmo_sccp_gt::npi, osmo_isup_party_encode(), OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, OSMO_SCCP_GTI_NAI_ONLY, OSMO_SCCP_GTI_NO_GT, OSMO_SCCP_GTI_TT_NPL_ENC, OSMO_SCCP_GTI_TT_NPL_ENC_NAI, OSMO_SCCP_GTI_TT_ONLY, OSMO_SCCP_RI_GT, OSMO_SCCP_RI_SSN_PC, osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_sccp_addr::ri, osmo_sccp_addr::ssn, and osmo_sccp_gt::tt.
Referenced by sua_addr_to_sccp().
int osmo_sccp_addr_parse | ( | struct osmo_sccp_addr * | out, |
const uint8_t * | addr, | ||
unsigned int | addrlen | ||
) |
Parse wire-encoded SCCP address into osmo_sccp_addr.
[out] | out | user-allocated output data structure |
[in] | addr | wire-encoded SCCP address |
[in] | addrlen | Size of addr in bytes |
References osmo_sccp_gt::digits, osmo_sccp_addr::gt, osmo_sccp_gt::gti, osmo_sccp_gt::nai, osmo_sccp_gt::npi, osmo_isup_party_parse(), OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, OSMO_SCCP_GTI_NAI_ONLY, OSMO_SCCP_GTI_NO_GT, OSMO_SCCP_GTI_TT_NPL_ENC, OSMO_SCCP_GTI_TT_NPL_ENC_NAI, OSMO_SCCP_GTI_TT_ONLY, OSMO_SCCP_RI_GT, OSMO_SCCP_RI_SSN_PC, osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_sccp_addr::ri, osmo_sccp_addr::ssn, and osmo_sccp_gt::tt.
Referenced by sccp_addr_to_sua().
struct xua_msg * osmo_sccp_to_xua | ( | struct msgb * | msg | ) |
convert SCCP message to a SUA message
[in] | msg | message buffer holding SCCP message at l2h |
References xua_msg::hdr, sccp_to_xua_cc(), sccp_to_xua_cr(), sccp_to_xua_cref(), sccp_to_xua_dt1(), sccp_to_xua_err(), sccp_to_xua_it(), sccp_to_xua_ludt(), sccp_to_xua_ludts(), sccp_to_xua_rlc(), sccp_to_xua_rlsd(), sccp_to_xua_udt(), sccp_to_xua_udts(), sccp_to_xua_xudt(), sccp_to_xua_xudts(), SUA_CL_CLDR, SUA_CL_CLDT, SUA_CO_COAK, SUA_CO_CODT, SUA_CO_COERR, SUA_CO_COIT, SUA_CO_CORE, SUA_CO_COREF, SUA_CO_RELCO, SUA_CO_RELRE, SUA_MSGC_CL, SUA_MSGC_CO, XUA_HDR, xua_msg_alloc(), and xua_msg_free().
Referenced by mtp_user_prim_cb(), and patch_sccp_with_pc().
struct msgb * osmo_sua_to_sccp | ( | struct xua_msg * | xua | ) |
convert parsed SUA message to SCCP message
[in] | xua | parsed SUA message to be converted |
References xua_msg::hdr, xua_common_hdr::msg_class, xua_common_hdr::msg_type, sccp_msgb_alloc(), SUA_CL_CLDR, SUA_CL_CLDT, SUA_CO_COAK, SUA_CO_CODT, SUA_CO_COERR, SUA_CO_COIT, SUA_CO_CORE, SUA_CO_COREF, SUA_CO_RELCO, SUA_CO_RELRE, SUA_MSGC_CL, SUA_MSGC_CO, sua_to_sccp_cc(), sua_to_sccp_cr(), sua_to_sccp_cref(), sua_to_sccp_dt1(), sua_to_sccp_err(), sua_to_sccp_it(), sua_to_sccp_rlc(), sua_to_sccp_rlsd(), sua_to_sccp_udt(), sua_to_sccp_udts(), xua_dialect_sua, and xua_hdr_dump().
Referenced by patch_sccp_with_pc(), and sua2sccp_tx_m3ua().
|
static |
Add a "SCCP Long Variable Mandatory Part" to the given msgb.
msg | Message buffer to which part shall be added | |
[out] | var_ptr | pointer to relative pointer in SCCP header |
[in] | xua | xUA message from which to use source data |
[in] | iei | xUA information element identifier of source data |
References xua_msg_part::dat, xua_msg_part::len, and xua_msg_find_tag().
Referenced by sua_to_sccp_ludt(), and sua_to_sccp_ludts().
|
static |
Add a "SCCP Variable Mandatory Part" (Address format) to the given msgb.
msg | Message buffer to which part shall be added | |
[out] | var_ptr | pointer to relative pointer in SCCP header |
[in] | var_ptr_is_long | Whether the var_ptr field is 2 bytes long (network order) |
[in] | xua | xUA message from which to use address |
[in] | iei | xUA information element identifier of address |
References sua_addr_to_sccp(), and xua_msg_find_tag().
Referenced by sua_to_sccp_cr(), sua_to_sccp_ludt(), sua_to_sccp_ludts(), sua_to_sccp_udt(), sua_to_sccp_udts(), sua_to_sccp_xudt(), and sua_to_sccp_xudts().
|
static |
Add a "SCCP Variable Mandatory Part" to the given msgb.
msg | Message buffer to which part shall be added | |
[out] | var_ptr | pointer to relative pointer in SCCP header |
[in] | xua | xUA message from which to use source data |
[in] | iei | xUA information element identifier of source data |
References xua_msg_part::dat, xua_msg_part::len, and xua_msg_find_tag().
Referenced by sua_to_sccp_dt1(), sua_to_sccp_udt(), sua_to_sccp_udts(), sua_to_sccp_xudt(), and sua_to_sccp_xudts().
|
static |
convert SCCP address to SUA address
xua | user-provided xUA message to which address shall be added | |
[in] | iei | SUA Information Element Identifier for address |
[in] | addr | SCCP wire format binary address |
[in] | addrlen | Size of addr in bytes |
References osmo_sccp_addr_dump(), osmo_sccp_addr_parse(), and xua_msg_add_sccp_addr().
Referenced by sccp_addr_to_sua_ptr(), and xua_msg_add_sccp_opt().
|
static |
convenience wrapper around sccp_addr_to_sua() for variable mandatory addresses
References sccp_addr_to_sua().
Referenced by sccp_to_xua_cr(), sccp_to_xua_ludt(), sccp_to_xua_ludts(), sccp_to_xua_udt(), sccp_to_xua_udts(), sccp_to_xua_xudt(), and sccp_to_xua_xudts().
|
static |
convenience wrapper around xua_msg_add_data() for variable mandatory data
References xua_msg_add_data().
Referenced by sccp_to_xua_dt1(), sccp_to_xua_udt(), sccp_to_xua_udts(), sccp_to_xua_xudt(), and sccp_to_xua_xudts().
|
static |
References MAX_IES, sccp_mandatory, and xua_msg_part::tag.
Referenced by xua_ies_to_sccp_opts().
|
static |
convenience wrapper around xua_msg_add_data() for variable mandatory data
References xua_msg_add_data().
Referenced by sccp_to_xua_ludt(), and sccp_to_xua_ludts().
|
static |
validate that SCCP part with long pointer (2 bytes) + length doesn't exceed msg tail
[in] | msg | Message containing SCCP address (LUDT or LUDTS) |
[in] | ptr_addr | pointer to byte with relative SCCP long pointer (uint16_t, 2 bytes in network order) |
[in] | len_is_long | whether the length field at the starting of the value field pointer to by ptr_addr is 2 bytes long. |
Referenced by sccp_to_xua_ludt(), and sccp_to_xua_ludts().
|
static |
Convert a given SUA option/IE to SCCP and add it to given * msgb.
msg | caller-provided message buffer to which option is to be appended | |
[in] | opt | xUA option/IE (messge part) to be converted+added |
References xua_msg_part::dat, xua_msg_part::len, msgb_put_sccp_opt(), msgb_put_sccp_opt_hdr(), msgb_put_u24be(), sua_addr_to_sccp(), SUA_CAUSE_T_ERROR, SUA_CAUSE_T_MASK, SUA_CAUSE_T_REFUSAL, SUA_CAUSE_T_RELEASE, SUA_CAUSE_T_RESET, SUA_CAUSE_T_RETURN, SUA_IEI_CAUSE, SUA_IEI_CREDIT, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_DEST_REF, SUA_IEI_IMPORTANCE, SUA_IEI_PROTO_CLASS, SUA_IEI_ROUTE_CTX, SUA_IEI_S7_HOP_CTR, SUA_IEI_SEQ_CTRL, SUA_IEI_SRC_ADDR, SUA_IEI_SRC_REF, xua_msg_part::tag, and xua_msg_part_get_u32().
Referenced by xua_ies_to_sccp_opts().
|
static |
References MAX_IES, sccp_optional, and xua_msg_part::tag.
Referenced by xua_ies_to_sccp_opts().
|
static |
validate that SCCP part with pointer + length doesn't exceed msg tail
[in] | msg | Message containing SCCP address |
[in] | ptr_addr | pointer to byte with relative SCCP pointer |
References data.
Referenced by sccp_to_xua_cr(), sccp_to_xua_dt1(), sccp_to_xua_udt(), sccp_to_xua_udts(), sccp_to_xua_xudt(), and sccp_to_xua_xudts().
References load_24be(), sccp_to_xua_opt(), SUA_IEI_DEST_REF, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_REF, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References load_24be(), sccp_addr_to_sua_ptr(), sccp_ptr_part_consistent(), sccp_to_xua_opt(), SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_REF, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References load_24be(), sccp_to_xua_opt(), SUA_CAUSE_T_REFUSAL, SUA_IEI_CAUSE, SUA_IEI_DEST_REF, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References load_24be(), sccp_data_to_sua_ptr(), sccp_ptr_part_consistent(), SUA_IEI_DATA, SUA_IEI_DEST_REF, SUA_IEI_SEGMENTATION, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References load_24be(), SUA_CAUSE_T_ERROR, SUA_IEI_CAUSE, SUA_IEI_DEST_REF, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References load_24be(), SUA_IEI_CREDIT, SUA_IEI_DEST_REF, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_REF, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References sccp_addr_to_sua_ptr(), sccp_longdata_to_sua_ptr(), sccp_longptr_part_consistent(), sccp_to_xua_opt(), SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References sccp_addr_to_sua_ptr(), sccp_longdata_to_sua_ptr(), sccp_longptr_part_consistent(), sccp_to_xua_opt(), SUA_CAUSE_T_RETURN, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
|
static |
convert SCCP optional part to list of SUA options
[in] | msg | Message buffer holding SCCP message |
[in] | ptr_opt | address of relative pointer to optional part |
[in] | ptr_opt_is_long | whether ptr_opt is a long pointer (2 bytes, network order) |
xua | caller-provided xUA message to which options are added |
References data, and xua_msg_add_sccp_opt().
Referenced by sccp_to_xua_cc(), sccp_to_xua_cr(), sccp_to_xua_cref(), sccp_to_xua_ludt(), sccp_to_xua_ludts(), sccp_to_xua_rlsd(), sccp_to_xua_xudt(), and sccp_to_xua_xudts().
References load_24be(), SUA_IEI_DEST_REF, SUA_IEI_SRC_REF, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References load_24be(), sccp_to_xua_opt(), SUA_CAUSE_T_RELEASE, SUA_IEI_CAUSE, SUA_IEI_DEST_REF, SUA_IEI_SRC_REF, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References sccp_addr_to_sua_ptr(), sccp_data_to_sua_ptr(), sccp_ptr_part_consistent(), SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_ADDR, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References sccp_addr_to_sua_ptr(), sccp_data_to_sua_ptr(), sccp_ptr_part_consistent(), SUA_CAUSE_T_RETURN, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_SRC_ADDR, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References sccp_addr_to_sua_ptr(), sccp_data_to_sua_ptr(), sccp_ptr_part_consistent(), sccp_to_xua_opt(), SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
References sccp_addr_to_sua_ptr(), sccp_data_to_sua_ptr(), sccp_ptr_part_consistent(), sccp_to_xua_opt(), SUA_CAUSE_T_RETURN, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, and xua_msg_add_u32().
Referenced by osmo_sccp_to_xua().
|
static |
References xua_msg_get_u32().
Referenced by sua_to_sccp_cc(), sua_to_sccp_cr(), sua_to_sccp_cref(), sua_to_sccp_dt1(), sua_to_sccp_err(), sua_to_sccp_it(), sua_to_sccp_rlc(), and sua_to_sccp_rlsd().
|
static |
convert SUA address to SCCP address
msg | user-provided message buffer to which address shall be * appended | |
[in] | part | SUA wire format binary address |
References osmo_sccp_addr_encode(), and sua_addr_parse_part().
Referenced by sccp_add_var_addr(), and sccp_msg_add_sua_opt().
|
static |
References store_local_ref(), SUA_IEI_DEST_REF, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_REF, xua_ies_to_sccp_opts(), and xua_msg_get_u32().
Referenced by osmo_sua_to_sccp().
|
static |
References sccp_add_var_addr(), store_local_ref(), SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_REF, xua_ies_to_sccp_opts(), and xua_msg_get_u32().
Referenced by osmo_sua_to_sccp().
|
static |
References store_local_ref(), SUA_IEI_CAUSE, SUA_IEI_DEST_REF, xua_ies_to_sccp_opts(), and xua_msg_get_u32().
Referenced by osmo_sua_to_sccp().
|
static |
References sccp_add_variable_part(), store_local_ref(), SUA_IEI_DATA, SUA_IEI_DEST_REF, SUA_IEI_SEGMENTATION, and xua_msg_get_u32().
Referenced by osmo_sua_to_sccp().
|
static |
References store_local_ref(), SUA_IEI_CAUSE, SUA_IEI_DEST_REF, and xua_msg_get_u32().
Referenced by osmo_sua_to_sccp().
|
static |
References store_local_ref(), SUA_IEI_CREDIT, SUA_IEI_DEST_REF, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_REF, and xua_msg_get_u32().
Referenced by osmo_sua_to_sccp().
|
static |
References sccp_add_long_variable_part(), sccp_add_var_addr(), SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, xua_ies_to_sccp_opts(), and xua_msg_get_u32().
Referenced by sua_to_sccp_udt(), and sua_to_sccp_xudt().
|
static |
References sccp_add_long_variable_part(), sccp_add_var_addr(), SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, xua_ies_to_sccp_opts(), and xua_msg_get_u32().
Referenced by sua_to_sccp_udts().
|
static |
References store_local_ref(), SUA_IEI_DEST_REF, and SUA_IEI_SRC_REF.
Referenced by osmo_sua_to_sccp().
|
static |
References store_local_ref(), SUA_IEI_CAUSE, SUA_IEI_DEST_REF, SUA_IEI_SRC_REF, xua_ies_to_sccp_opts(), and xua_msg_get_u32().
Referenced by osmo_sua_to_sccp().
|
static |
|
static |
|
static |
|
static |
References sccp_add_var_addr(), sccp_add_variable_part(), SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, xua_ies_to_sccp_opts(), and xua_msg_get_u32().
Referenced by sua_to_sccp_udts().
|
static |
|
static |
Convert a given SCCP option to SUA and add it to given xua_msg.
xua | caller-provided xUA message to which option is to be added | |
[in] | sccp_opt_type | SCCP option type (PNC) |
[in] | opt_len | size of opt in bytes |
[in] | opt | pointer to wire-format encoded SCCP option data |
References load_24be(), sccp_addr_to_sua(), SUA_CAUSE_T_ERROR, SUA_CAUSE_T_REFUSAL, SUA_CAUSE_T_RELEASE, SUA_CAUSE_T_RESET, SUA_CAUSE_T_RETURN, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_DEST_REF, SUA_IEI_IMPORTANCE, SUA_IEI_PROTO_CLASS, SUA_IEI_S7_HOP_CTR, SUA_IEI_SRC_ADDR, SUA_IEI_SRC_REF, xua_msg_add_data(), and xua_msg_add_u32().
Referenced by sccp_to_xua_opt().
|
static |
Referenced by sccp_is_mandatory().
|
static |
Referenced by sccp_option_permitted().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <errno.h>
#include <osmocom/core/fsm.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/timer.h>
#include <osmocom/core/prim.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/select.h>
#include <osmocom/gsm/ipa.h>
#include <osmocom/netif/stream.h>
#include <osmocom/netif/ipa.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include <osmocom/sigtran/sigtran_sap.h>
#include "xua_msg.h"
#include <osmocom/sigtran/protocol/sua.h>
#include "ss7_as.h"
#include "ss7_asp.h"
#include "ss7_internal.h"
#include "ss7_xua_srv.h"
#include "xua_asp_fsm.h"
#include "xua_as_fsm.h"
#include "xua_internal.h"
Data Structures | |
struct | xua_asp_fsm_priv |
struct | ipa_asp_fsm_priv |
Macros | |
#define | S(x) (1 << (x)) |
#define | XUA_T_ACK_SEC 2 |
#define | ENSURE_ASP_OR_IPSP(fi, event) |
#define | ENSURE_SG_OR_IPSP(fi, event) |
Enumerations | |
enum | ipa_asp_state { IPA_ASP_S_DOWN = XUA_ASP_S_DOWN , IPA_ASP_S_INACTIVE = XUA_ASP_S_INACTIVE , IPA_ASP_S_ACTIVE = XUA_ASP_S_ACTIVE , IPA_ASP_S_WAIT_ID_RESP , IPA_ASP_S_WAIT_ID_GET , IPA_ASP_S_WAIT_ID_ACK , IPA_ASP_S_WAIT_ID_ACK2 } |
enum | ipa_asp_fsm_t { T_WAIT_ID_RESP = 1 , T_WAIT_ID_ACK , T_WAIT_ID_GET } |
Functions | |
struct osmo_xlm_prim * | xua_xlm_prim_alloc (enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op) |
void | xua_asp_send_xlm_prim (struct osmo_ss7_asp *asp, struct osmo_xlm_prim *prim) |
void | xua_asp_send_xlm_prim_simple (struct osmo_ss7_asp *asp, enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op) |
static void | send_xlm_prim_simple (struct osmo_fsm_inst *fi, enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op) |
static int | determine_traf_mode (struct osmo_ss7_asp *asp) |
static int | xua_msg_add_asp_rctx (struct xua_msg *xua, struct osmo_ss7_asp *asp) |
static int | peer_send (struct osmo_fsm_inst *fi, int out_event, struct xua_msg *in) |
static int | peer_send_error (struct osmo_fsm_inst *fi, uint32_t err_code) |
static void | xua_t_ack_cb (void *data) |
static int | peer_send_and_start_t_ack (struct osmo_fsm_inst *fi, int out_event) |
static void | dispatch_to_all_as (struct osmo_fsm_inst *fi, uint32_t event) |
static void | check_stop_t_ack (struct osmo_fsm_inst *fi, uint32_t event) |
static void | xua_asp_fsm_down_onenter (struct osmo_fsm_inst *fi, uint32_t prev_state) |
static void | xua_asp_fsm_down (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | xua_asp_fsm_inactive_onenter (struct osmo_fsm_inst *fi, uint32_t prev_state) |
static void | xua_asp_fsm_inactive (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | xua_asp_fsm_active_onenter (struct osmo_fsm_inst *fi, uint32_t prev_state) |
static void | xua_asp_fsm_active (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | xua_asp_allstate (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static int | xua_asp_fsm_timer_cb (struct osmo_fsm_inst *fi) |
static void | xua_asp_fsm_cleanup (struct osmo_fsm_inst *fi, enum osmo_fsm_term_cause cause) |
static struct osmo_fsm_inst * | ipa_asp_fsm_start (struct osmo_ss7_asp *asp, enum osmo_ss7_asp_role role, int log_level) |
Start a new ASP finite state machine for given ASP. More... | |
struct osmo_fsm_inst * | xua_asp_fsm_start (struct osmo_ss7_asp *asp, enum osmo_ss7_asp_role role, int log_level) |
Start a new ASP finite stae machine for given ASP. More... | |
static int | get_fd_from_iafp (struct ipa_asp_fsm_priv *iafp) |
static void | ipa_asp_fsm_down (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_asp_fsm_wait_id_resp (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_asp_fsm_wait_id_ack2 (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_asp_fsm_wait_id_get (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_asp_fsm_wait_id_ack (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_asp_fsm_active_onenter (struct osmo_fsm_inst *fi, uint32_t prev_state) |
static void | ipa_asp_fsm_active (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_asp_fsm_inactive_onenter (struct osmo_fsm_inst *fi, uint32_t prev_state) |
static void | ipa_asp_fsm_inactive (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_asp_allstate (struct osmo_fsm_inst *fi, uint32_t event, void *data) |
static void | ipa_pong_timer_cb (void *_fi) |
static int | ipa_asp_fsm_timer_cb (struct osmo_fsm_inst *fi) |
Variables | |
static const struct value_string | xua_asp_event_names [] |
static const uint32_t | evt_ack_map [_NUM_XUA_ASP_E] |
static const struct osmo_fsm_state | xua_asp_states [] |
struct osmo_fsm | xua_asp_fsm |
static const struct osmo_fsm_state | ipa_asp_states [] |
struct osmo_fsm | ipa_asp_fsm |
#define ENSURE_ASP_OR_IPSP | ( | fi, | |
event | |||
) |
#define ENSURE_SG_OR_IPSP | ( | fi, | |
event | |||
) |
#define S | ( | x | ) | (1 << (x)) |
#define XUA_T_ACK_SEC 2 |
enum ipa_asp_fsm_t |
enum ipa_asp_state |
|
static |
References evt_ack_map, xua_asp_fsm_priv::out_event, xua_asp_fsm_priv::t_ack, and xua_asp_fsm_priv::timer.
Referenced by xua_asp_fsm_active(), xua_asp_fsm_down(), and xua_asp_fsm_inactive().
|
static |
References osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_asp::inst, osmo_ss7_as::list, osmo_ss7_as::mode, osmo_ss7_as::mode_set_by_vty, and osmo_ss7_as_has_asp().
Referenced by peer_send().
|
static |
References osmo_ss7_instance::as_list, xua_asp_fsm_priv::asp, osmo_ss7_as::fi, osmo_ss7_as::inst, osmo_ss7_asp::inst, osmo_ss7_as::list, and osmo_ss7_as_has_asp().
Referenced by ipa_asp_fsm_active_onenter(), ipa_asp_fsm_inactive_onenter(), xua_asp_fsm_active_onenter(), xua_asp_fsm_down_onenter(), and xua_asp_fsm_inactive_onenter().
|
static |
References ipa_asp_fsm_priv::asp, osmo_ss7_asp::client, and osmo_ss7_asp::server.
Referenced by ipa_asp_allstate(), ipa_asp_fsm_down(), ipa_asp_fsm_wait_id_ack(), ipa_asp_fsm_wait_id_get(), and ipa_asp_fsm_wait_id_resp().
|
static |
References osmo_ss7_as::cfg, data, osmo_ss7_as::fi, get_fd_from_iafp(), IPA_ASP_S_DOWN, ipa_asp_fsm_priv::ipa_unit, osmo_ss7_as::name, OSMO_SS7_ASP_ROLE_ASP, OSMO_XLM_PRIM_M_ASP_DOWN, ipa_asp_fsm_priv::pong_timer, ipa_asp_fsm_priv::role, send_xlm_prim_simple(), XUA_ASP_E_AS_ASSIGNED, XUA_ASP_E_ASPSM_BEAT, XUA_ASP_E_ASPSM_BEAT_ACK, XUA_ASP_E_M_ASP_UP_REQ, XUA_ASP_E_SCTP_COMM_DOWN_IND, and XUA_ASP_E_SCTP_RESTART_IND.
|
static |
References IPA_ASP_S_DOWN, XUA_ASP_E_M_ASP_DOWN_REQ, and XUA_ASP_E_M_ASP_INACTIVE_REQ.
|
static |
References dispatch_to_all_as(), XUA_ASPAS_ASP_ACTIVE_IND, and XUA_ASPAS_ASP_INACTIVE_IND.
|
static |
|
static |
References IPA_ASP_S_DOWN, and XUA_ASP_E_M_ASP_DOWN_REQ.
|
static |
References dispatch_to_all_as(), and XUA_ASPAS_ASP_INACTIVE_IND.
|
static |
Start a new ASP finite state machine for given ASP.
[in] | asp | Application Server Process for which to start FSM |
[in] | role | Role (ASP, SG, IPSP) of this FSM |
[in] | log_level | Logging Level for ASP FSM logging |
References ipa_asp_fsm_priv::asp, osmo_ss7_as::cfg, osmo_ss7_asp::cfg, osmo_ss7_asp::dyn_allocated, osmo_ss7_as::fi, ipa_asp_fsm, ipa_find_as_for_asp(), ipa_pong_timer_cb(), ipa_asp_fsm_priv::ipa_unit, osmo_ss7_as::name, osmo_ss7_asp::name, OSMO_SS7_ASP_ROLE_ASP, ipa_asp_fsm_priv::pong_timer, ipa_asp_fsm_priv::role, and XUA_ASP_E_M_ASP_UP_REQ.
Referenced by xua_asp_fsm_start().
|
static |
References ipa_asp_fsm_priv::asp, and osmo_ss7_asp_disconnect().
|
static |
References get_fd_from_iafp(), IPA_ASP_E_ID_ACK, and IPA_ASP_S_ACTIVE.
|
static |
References IPA_ASP_E_ID_ACK, and IPA_ASP_S_ACTIVE.
|
static |
|
static |
References ipa_asp_fsm_priv::asp, osmo_ss7_asp::cfg, data, get_fd_from_iafp(), osmo_ss7_asp::inst, IPA_ASP_E_ID_ACK, IPA_ASP_E_ID_RESP, IPA_ASP_S_WAIT_ID_ACK2, ipa_asp_fsm_priv::ipa_id_ack_rcvd, ipa_asp_fsm_priv::ipa_unit, osmo_ss7_asp::name, osmo_ss7_as_add_asp(), osmo_ss7_as_find_by_name(), osmo_ss7_asp_disconnect(), and T_WAIT_ID_ACK.
|
static |
References ipa_asp_fsm_priv::asp, and osmo_ss7_asp_disconnect().
Referenced by ipa_asp_fsm_start().
|
static |
References xua_asp_fsm_priv::asp, osmo_ss7_asp::asp_id, osmo_ss7_asp::asp_id_present, determine_traf_mode(), xua_msg::hdr, M3UA_IEI_HEARDBT_DATA, M3UA_IEI_ROUTE_CTX, M3UA_IEI_TRAF_MODE_TYP, osmo_ss7_asp_send(), osmo_ss7_tmode_to_xua(), SUA_ASPSM_BEAT, SUA_ASPSM_BEAT_ACK, SUA_ASPSM_DOWN, SUA_ASPSM_DOWN_ACK, SUA_ASPSM_UP, SUA_ASPSM_UP_ACK, SUA_ASPTM_ACTIVE, SUA_ASPTM_ACTIVE_ACK, SUA_ASPTM_INACTIVE, SUA_ASPTM_INACTIVE_ACK, SUA_IEI_ASP_ID, SUA_MSGC_ASPSM, SUA_MSGC_ASPTM, SUA_VERSION, XUA_ASP_E_ASPSM_ASPDN, XUA_ASP_E_ASPSM_ASPDN_ACK, XUA_ASP_E_ASPSM_ASPUP, XUA_ASP_E_ASPSM_ASPUP_ACK, XUA_ASP_E_ASPSM_BEAT, XUA_ASP_E_ASPSM_BEAT_ACK, XUA_ASP_E_ASPTM_ASPAC, XUA_ASP_E_ASPTM_ASPAC_ACK, XUA_ASP_E_ASPTM_ASPIA, XUA_ASP_E_ASPTM_ASPIA_ACK, XUA_HDR, xua_msg_add_asp_rctx(), xua_msg_add_u32(), xua_msg_alloc(), xua_msg_copy_part(), xua_msg_free(), and xua_to_msg().
Referenced by peer_send_and_start_t_ack(), xua_asp_allstate(), xua_asp_fsm_active(), xua_asp_fsm_down(), xua_asp_fsm_inactive(), and xua_t_ack_cb().
|
static |
References xua_asp_fsm_priv::out_event, peer_send(), xua_asp_fsm_priv::t_ack, xua_asp_fsm_priv::timer, xua_t_ack_cb(), and XUA_T_ACK_SEC.
Referenced by xua_asp_fsm_active(), xua_asp_fsm_down(), and xua_asp_fsm_inactive().
|
static |
References xua_asp_fsm_priv::asp, xua_msg::hdr, m3ua_err_names, osmo_ss7_asp_send(), SUA_IEI_ERR_CODE, SUA_MGMT_ERR, SUA_MSGC_MGMT, SUA_VERSION, xua_common_hdr::version, XUA_HDR, xua_msg_add_u32(), xua_msg_alloc(), xua_msg_free(), and xua_to_msg().
Referenced by xua_asp_fsm_active(), and xua_asp_fsm_inactive().
|
static |
References xua_asp_fsm_priv::asp, and xua_asp_send_xlm_prim_simple().
Referenced by ipa_asp_allstate(), xua_asp_allstate(), xua_asp_fsm_active(), xua_asp_fsm_down(), and xua_asp_fsm_inactive().
|
static |
|
static |
References check_stop_t_ack(), data, ENSURE_ASP_OR_IPSP, ENSURE_SG_OR_IPSP, M3UA_ERR_UNEXPECTED_MSG, OSMO_XLM_PRIM_M_ASP_DOWN, OSMO_XLM_PRIM_M_ASP_INACTIVE, peer_send(), peer_send_and_start_t_ack(), peer_send_error(), send_xlm_prim_simple(), XUA_ASP_E_ASPSM_ASPDN, XUA_ASP_E_ASPSM_ASPDN_ACK, XUA_ASP_E_ASPSM_ASPUP, XUA_ASP_E_ASPSM_ASPUP_ACK, XUA_ASP_E_ASPTM_ASPAC, XUA_ASP_E_ASPTM_ASPAC_ACK, XUA_ASP_E_ASPTM_ASPIA, XUA_ASP_E_ASPTM_ASPIA_ACK, XUA_ASP_E_M_ASP_DOWN_REQ, XUA_ASP_E_M_ASP_INACTIVE_REQ, XUA_ASP_S_DOWN, and XUA_ASP_S_INACTIVE.
|
static |
References dispatch_to_all_as(), and XUA_ASPAS_ASP_ACTIVE_IND.
|
static |
References xua_asp_fsm_priv::t_ack, and xua_asp_fsm_priv::timer.
|
static |
References xua_asp_fsm_priv::asp, osmo_ss7_asp::asp_id, osmo_ss7_asp::asp_id_present, check_stop_t_ack(), data, ENSURE_ASP_OR_IPSP, ENSURE_SG_OR_IPSP, osmo_ss7_asp::lm, OSMO_XLM_PRIM_M_ASP_UP, peer_send(), peer_send_and_start_t_ack(), send_xlm_prim_simple(), SUA_IEI_ASP_ID, XUA_ASP_E_ASPSM_ASPDN, XUA_ASP_E_ASPSM_ASPDN_ACK, XUA_ASP_E_ASPSM_ASPUP, XUA_ASP_E_ASPSM_ASPUP_ACK, XUA_ASP_E_M_ASP_ACTIVE_REQ, XUA_ASP_E_M_ASP_UP_REQ, XUA_ASP_E_SCTP_EST_IND, XUA_ASP_S_INACTIVE, xua_msg_find_tag(), and xua_msg_part_get_u32().
|
static |
References dispatch_to_all_as(), and XUA_ASPAS_ASP_DOWN_IND.
|
static |
References osmo_ss7_instance::as_list, xua_asp_fsm_priv::asp, osmo_ss7_as::cfg, check_stop_t_ack(), xua_msg_part::dat, data, ENSURE_ASP_OR_IPSP, ENSURE_SG_OR_IPSP, osmo_ss7_asp::inst, xua_msg_part::len, LOGPAS, M3UA_ERR_INVAL_ROUT_CTX, M3UA_ERR_UNSUPP_TRAF_MOD_TYP, M3UA_IEI_ROUTE_CTX, M3UA_IEI_TRAF_MODE_TYP, M3UA_TMOD_BCAST, M3UA_TMOD_LOADSHARE, M3UA_TMOD_OVERRIDE, osmo_ss7_as::mode, osmo_ss7_as::mode_set_by_peer, osmo_ss7_as::mode_set_by_vty, osmo_ss7_as_find_by_rctx(), osmo_ss7_as_has_asp(), osmo_ss7_as_tmode_compatible_xua(), osmo_ss7_as_traffic_mode_name(), osmo_ss7_tmode_from_xua(), OSMO_XLM_PRIM_M_ASP_ACTIVE, OSMO_XLM_PRIM_M_ASP_DOWN, peer_send(), peer_send_and_start_t_ack(), peer_send_error(), send_xlm_prim_simple(), XUA_ASP_E_ASPSM_ASPDN, XUA_ASP_E_ASPSM_ASPDN_ACK, XUA_ASP_E_ASPSM_ASPUP, XUA_ASP_E_ASPSM_ASPUP_ACK, XUA_ASP_E_ASPTM_ASPAC, XUA_ASP_E_ASPTM_ASPAC_ACK, XUA_ASP_E_ASPTM_ASPIA, XUA_ASP_E_ASPTM_ASPIA_ACK, XUA_ASP_E_M_ASP_ACTIVE_REQ, XUA_ASP_E_M_ASP_DOWN_REQ, XUA_ASP_S_ACTIVE, XUA_ASP_S_DOWN, xua_msg_find_tag(), and xua_msg_get_u32().
|
static |
References dispatch_to_all_as(), and XUA_ASPAS_ASP_INACTIVE_IND.
struct osmo_fsm_inst * xua_asp_fsm_start | ( | struct osmo_ss7_asp * | asp, |
enum osmo_ss7_asp_role | role, | ||
int | log_level | ||
) |
Start a new ASP finite stae machine for given ASP.
[in] | asp | Application Server Process for which to start FSM |
[in] | role | Role (ASP, SG, IPSP) of this FSM |
[in] | log_level | Logging Level for ASP FSM logging |
References xua_asp_fsm_priv::asp, osmo_ss7_asp::cfg, ipa_asp_fsm_start(), osmo_ss7_asp::name, OSMO_SS7_ASP_PROT_IPA, osmo_ss7_asp::proto, xua_asp_fsm_priv::role, and xua_asp_fsm.
Referenced by osmo_ss7_asp_restart().
|
static |
void xua_asp_send_xlm_prim | ( | struct osmo_ss7_asp * | asp, |
struct osmo_xlm_prim * | prim | ||
) |
void xua_asp_send_xlm_prim_simple | ( | struct osmo_ss7_asp * | asp, |
enum osmo_xlm_prim_type | prim_type, | ||
enum osmo_prim_operation | op | ||
) |
References xua_asp_send_xlm_prim(), and xua_xlm_prim_alloc().
Referenced by send_xlm_prim_simple(), ss7_asp_xua_srv_conn_closed_cb(), ss7_asp_xua_srv_conn_rx_cb(), xua_accept_cb(), xua_cli_close(), xua_cli_connect_cb(), and xua_cli_read_cb().
|
static |
|
static |
References data, xua_asp_fsm_priv::out_event, peer_send(), xua_asp_fsm_priv::t_ack, xua_asp_fsm_priv::timer, and XUA_T_ACK_SEC.
Referenced by peer_send_and_start_t_ack().
struct osmo_xlm_prim * xua_xlm_prim_alloc | ( | enum osmo_xlm_prim_type | prim_type, |
enum osmo_prim_operation | op | ||
) |
References osmo_xlm_prim::oph, and XUA_SAP_LM.
Referenced by handle_rkey_dereg_resp(), handle_rkey_reg_resp(), lm_timer_cb(), m3ua_rx_mgmt_err(), m3ua_rx_mgmt_ntfy(), and xua_asp_send_xlm_prim_simple().
|
static |
Referenced by check_stop_t_ack().
struct osmo_fsm ipa_asp_fsm |
Referenced by ipa_asp_fsm_start(), and osmo_ss7_init().
|
static |
|
static |
struct osmo_fsm xua_asp_fsm |
Referenced by osmo_ss7_init(), and xua_asp_fsm_start().
|
static |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <errno.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/logging.h>
#include <osmocom/sigtran/mtp_sap.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include "ss7_linkset.h"
#include "ss7_as.h"
#include "ss7_route.h"
#include "ss7_route_table.h"
#include "ss7_internal.h"
Functions | |
struct osmo_ss7_route * | ss7_route_alloc (struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask) |
Allocate a route entry. More... | |
static bool | ss7_route_inserted (const struct osmo_ss7_route *rt) |
Check whether route has already been inserted into its routing table. More... | |
int | ss7_route_set_linkset (struct osmo_ss7_route *rt, const char *linkset_name) |
Set linkset on route entry. More... | |
static void | route_insert_sorted (struct osmo_ss7_route_table *rtbl, struct osmo_ss7_route *cmp) |
int | ss7_route_insert (struct osmo_ss7_route *rt) |
Insert route into its routing table. More... | |
struct osmo_ss7_route * | ss7_route_create (struct osmo_ss7_route_table *rtbl, uint32_t pc, uint32_t mask, const char *linkset_name) |
Create a new route in the given routing table. More... | |
void | ss7_route_destroy (struct osmo_ss7_route *rt) |
Destroy a given SS7 route. More... | |
static unsigned int | count_leading_one_bits (uint32_t inp, unsigned int nbits) |
static int | u32_masklen (uint32_t mask, unsigned int nbits) |
const char * | osmo_ss7_route_print (const struct osmo_ss7_route *rt) |
struct osmo_ss7_route * | osmo_ss7_route_lookup (struct osmo_ss7_instance *inst, uint32_t dpc) |
Find a SS7 route for given destination point code in given SS7. More... | |
struct osmo_ss7_as * | osmo_ss7_route_get_dest_as (struct osmo_ss7_route *rt) |
Get destination AS of route. More... | |
|
static |
Referenced by u32_masklen().
struct osmo_ss7_as * osmo_ss7_route_get_dest_as | ( | struct osmo_ss7_route * | rt | ) |
Get destination AS of route.
[in] | rt | Route entry holding the AS destination |
References osmo_ss7_route::as, and osmo_ss7_route::dest.
struct osmo_ss7_route * osmo_ss7_route_lookup | ( | struct osmo_ss7_instance * | inst, |
uint32_t | dpc | ||
) |
Find a SS7 route for given destination point code in given SS7.
References dpc, osmo_ss7_instance::rtable_system, ss7_initialized, and ss7_route_table_find_route_by_dpc().
Referenced by gen_mtp_transfer_req_xua(), hmrt_message_for_routing(), and xua_snm_rx_daud().
const char * osmo_ss7_route_print | ( | const struct osmo_ss7_route * | rt | ) |
References osmo_ss7_instance::cfg, osmo_ss7_route::cfg, osmo_ss7_route_table::inst, osmo_ss7_route::mask, osmo_ss7_pc_width(), osmo_ss7_pointcode_print(), osmo_ss7_pointcode_print2(), osmo_ss7_route::pc, osmo_ss7_instance::pc_fmt, osmo_ss7_route::rtable, and u32_masklen().
Referenced by vty_dump_rtable().
|
static |
References osmo_ss7_route::cfg, osmo_ss7_route::list, osmo_ss7_route::mask, osmo_ss7_route::priority, and osmo_ss7_route_table::routes.
Referenced by ss7_route_insert().
struct osmo_ss7_route * ss7_route_alloc | ( | struct osmo_ss7_route_table * | rtbl, |
uint32_t | pc, | ||
uint32_t | mask | ||
) |
Allocate a route entry.
[in] | rtbl | Routing Table where the route belongs |
[in] | pc | Point Code of the destination of the route |
[in] | mask | Mask of the destination Point Code pc |
The returned route has no linkset associated yet, user must associate it using API ss7_route_set_linkset() before inserting the route into its routing table.
Fields priority and qos_class may be set before inserting the route into its routing table:
Use API ss7_route_insert() to insert the route into its routing table.
The route entry allocated with this API can be destroyed/freed at any point using API ss7_route_destroy(), regardless of it being already inserted or not in its routing table.
References osmo_ss7_instance::cfg, osmo_ss7_route::cfg, osmo_ss7_route_table::inst, osmo_ss7_route::list, osmo_ss7_route::mask, osmo_ss7_pc_normalize(), OSMO_SS7_ROUTE_PRIO_DEFAULT, osmo_ss7_route::pc, osmo_ss7_instance::pc_fmt, osmo_ss7_route::priority, osmo_ss7_route::rtable, and ss7_initialized.
Referenced by DEFUN_ATTR(), and ss7_route_create().
struct osmo_ss7_route * ss7_route_create | ( | struct osmo_ss7_route_table * | rtbl, |
uint32_t | pc, | ||
uint32_t | mask, | ||
const char * | linkset_name | ||
) |
Create a new route in the given routing table.
[in] | rtbl | Routing Table in which the route is to be created |
[in] | pc | Point Code of the destination of the route |
[in] | mask | Mask of the destination Point Code pc |
[in] | linkset_name | string name of the linkset to be used |
The route allocated and returned by this API is already inserted into the routing table, with priority and qos-class set to 0. If you plan to use different values for priority and qos-class, avoid using this API and use ss7_route_alloc() + ss7_route_set_linkset() + ss7_route_insert() instead.
References osmo_ss7_route::linkset_name, osmo_ss7_route::mask, osmo_ss7_route::pc, ss7_route_alloc(), ss7_route_insert(), ss7_route_set_linkset(), and ss7_route_table_find_route_by_dpc_mask().
Referenced by _rout_key(), handle_rkey_reg(), ipa_add_route(), osmo_sccp_simple_client_on_ss7_id(), and osmo_sccp_simple_server_add_clnt().
void ss7_route_destroy | ( | struct osmo_ss7_route * | rt | ) |
Destroy a given SS7 route.
References osmo_ss7_route::cfg, osmo_ss7_route_table::inst, osmo_ss7_route::linkset_name, osmo_ss7_route::list, LOGSS7, osmo_ss7_route::mask, osmo_ss7_pointcode_print(), osmo_ss7_route::pc, osmo_ss7_route::rtable, ss7_initialized, and ss7_route_inserted().
Referenced by _rout_key(), DEFUN_ATTR(), handle_rkey_dereg(), handle_rkey_reg(), ipa_del_route(), osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), ss7_route_table_del_routes_by_as(), and ss7_route_table_del_routes_by_linkset().
int ss7_route_insert | ( | struct osmo_ss7_route * | rt | ) |
Insert route into its routing table.
[in] | rt | Route to be inserted into its routing table |
A route is only really used once it has been inserted into its routing table.
References osmo_ss7_route::cfg, osmo_ss7_route_table::inst, osmo_ss7_route::linkset_name, LOGSS7, osmo_ss7_route::mask, osmo_ss7_pointcode_print(), osmo_ss7_route::pc, route_insert_sorted(), osmo_ss7_route::rtable, ss7_route_inserted(), and ss7_route_table_find_route_by_dpc_mask().
Referenced by DEFUN_ATTR(), and ss7_route_create().
|
static |
Check whether route has already been inserted into its routing table.
References osmo_ss7_route::list.
Referenced by ss7_route_destroy(), ss7_route_insert(), and ss7_route_set_linkset().
int ss7_route_set_linkset | ( | struct osmo_ss7_route * | rt, |
const char * | linkset_name | ||
) |
Set linkset on route entry.
[in] | rt | Route to be configured |
[in] | linkset_name | string name of the linkset to be used |
References osmo_ss7_route::as, osmo_ss7_as::cfg, osmo_ss7_linkset::cfg, osmo_ss7_route::cfg, osmo_ss7_route::dest, osmo_ss7_route_table::inst, osmo_ss7_route::linkset, osmo_ss7_route::linkset_name, LOGSS7, osmo_ss7_route::mask, osmo_ss7_as::name, osmo_ss7_linkset::name, osmo_ss7_as_find_by_name(), osmo_ss7_pointcode_print(), osmo_ss7_route::pc, osmo_ss7_route::rtable, ss7_linkset_find_by_name(), and ss7_route_inserted().
Referenced by DEFUN_ATTR(), and ss7_route_create().
|
static |
References count_leading_one_bits().
Referenced by osmo_ss7_route_print().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include "xua_msg.h"
#include <osmocom/sigtran/protocol/sua.h>
#include <osmocom/sigtran/sccp_sap.h>
#include <osmocom/core/utils.h>
#include <osmocom/core/msgb.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/talloc.h>
#include <arpa/inet.h>
#include <string.h>
#include <errno.h>
Functions | |
void | osmo_xua_msg_tall_ctx_init (void *ctx) |
struct xua_msg * | xua_msg_alloc (void) |
void | xua_msg_free (struct xua_msg *msg) |
int | xua_msg_add_data (struct xua_msg *msg, uint16_t tag, uint16_t len, const uint8_t *dat) |
struct xua_msg_part * | xua_msg_find_tag (const struct xua_msg *xua, uint16_t tag) |
int | xua_msg_free_tag (struct xua_msg *xua, uint16_t tag) |
int | xua_msg_copy_part (struct xua_msg *xua_out, uint16_t tag_out, const struct xua_msg *xua_in, uint16_t tag_in) |
static int | xua_from_msg_common (struct xua_msg *msg, const uint8_t *data, uint16_t pos, uint16_t len) |
struct xua_msg * | xua_from_msg (const int version, uint16_t len, uint8_t *data) |
struct xua_msg * | xua_from_nested (struct xua_msg_part *outer) |
struct msgb * | xua_to_msg (const int version, struct xua_msg *xua) |
int | msgb_t16l16vp_put (struct msgb *msg, uint16_t tag, uint16_t len, const uint8_t *data) |
int | msgb_t16l16vp_put_u32 (struct msgb *msg, uint16_t tag, uint32_t val) |
int | xua_msg_add_u32 (struct xua_msg *xua, uint16_t iei, uint32_t val) |
uint32_t | xua_msg_part_get_u32 (const struct xua_msg_part *part) |
uint32_t | xua_msg_get_u32 (const struct xua_msg *xua, uint16_t iei) |
const uint32_t * | xua_msg_get_u32p (const struct xua_msg *xua, uint16_t iei, uint32_t *out) |
const char * | xua_msg_part_get_str (const struct xua_msg_part *part) |
const char * | xua_msg_get_str (const struct xua_msg *xua, uint16_t iei) |
int | xua_msg_get_len (const struct xua_msg *xua, uint16_t iei) |
void | xua_part_add_gt (struct msgb *msg, const struct osmo_sccp_gt *gt) |
int | xua_msg_add_sccp_addr (struct xua_msg *xua, uint16_t iei, const struct osmo_sccp_addr *addr) |
int | xua_msg_event_map (const struct xua_msg *xua, const struct xua_msg_event_map *maps, unsigned int num_maps) |
Map from a xua_msg (class+type) to an event. More... | |
const char * | xua_class_msg_name (const struct xua_msg_class *xmc, uint16_t msg_type) |
const char * | xua_class_iei_name (const struct xua_msg_class *xmc, uint16_t iei) |
char * | xua_hdr_dump (struct xua_msg *xua, const struct xua_dialect *dialect) |
int | xua_dialect_check_all_mand_ies (const struct xua_dialect *dialect, struct xua_msg *xua) |
char * | xua_msg_dump (struct xua_msg *xua, const struct xua_dialect *dialect) |
Variables | |
static void * | tall_xua = NULL |
int msgb_t16l16vp_put | ( | struct msgb * | msg, |
uint16_t | tag, | ||
uint16_t | len, | ||
const uint8_t * | data | ||
) |
References data, len, and tag.
Referenced by msgb_t16l16vp_put_u32(), and xua_msg_add_sccp_addr().
int msgb_t16l16vp_put_u32 | ( | struct msgb * | msg, |
uint16_t | tag, | ||
uint32_t | val | ||
) |
References msgb_t16l16vp_put(), and tag.
Referenced by msgb_append_dereg_res(), msgb_append_reg_res(), xua_msg_add_sccp_addr(), xua_rkm_send_dereg_req(), and xua_rkm_send_reg_req().
void osmo_xua_msg_tall_ctx_init | ( | void * | ctx | ) |
References tall_xua.
const char * xua_class_iei_name | ( | const struct xua_msg_class * | xmc, |
uint16_t | iei | ||
) |
References xua_msg_class::iei_names.
Referenced by xua_dialect_check_all_mand_ies(), and xua_msg_dump().
const char * xua_class_msg_name | ( | const struct xua_msg_class * | xmc, |
uint16_t | msg_type | ||
) |
References msg_type, and xua_msg_class::msgt_names.
Referenced by xua_dialect_check_all_mand_ies(), xua_hdr_dump(), and xua_opt_data_send_cache().
int xua_dialect_check_all_mand_ies | ( | const struct xua_dialect * | dialect, |
struct xua_msg * | xua | ||
) |
References xua_dialect::class, xua_msg::hdr, xua_dialect::log_subsys, xua_msg_class::mand_ies, msg_class, xua_common_hdr::msg_class, msg_type, xua_common_hdr::msg_type, xua_msg_class::name, xua_dialect::name, xua_class_iei_name(), xua_class_msg_name(), and xua_msg_find_tag().
Referenced by m3ua_rx_msg(), and sua_rx_msg().
struct xua_msg * xua_from_msg | ( | const int | version, |
uint16_t | len, | ||
uint8_t * | data | ||
) |
References data, xua_msg::hdr, len, xua_common_hdr::msg_length, version, xua_common_hdr::version, xua_from_msg_common(), xua_msg_alloc(), and xua_msg_free().
Referenced by m3ua_gen_error_msg(), m3ua_rx_msg(), and sua_rx_msg().
|
static |
References data, xua_parameter_hdr::data, len, xua_parameter_hdr::len, xua_parameter_hdr::tag, and xua_msg_add_data().
Referenced by xua_from_msg(), and xua_from_nested().
struct xua_msg * xua_from_nested | ( | struct xua_msg_part * | outer | ) |
References xua_msg_part::dat, xua_msg_part::len, xua_from_msg_common(), xua_msg_alloc(), and xua_msg_free().
Referenced by m3ua_rx_rkm_dereg_rsp(), m3ua_rx_rkm_reg_req(), and m3ua_rx_rkm_reg_rsp().
char * xua_hdr_dump | ( | struct xua_msg * | xua, |
const struct xua_dialect * | dialect | ||
) |
References xua_dialect::class, xua_msg::hdr, xua_common_hdr::msg_class, xua_common_hdr::msg_type, xua_msg_class::name, and xua_class_msg_name().
Referenced by m3ua_rx_msg(), osmo_sua_to_sccp(), sccp_find_user(), sccp_sclc_rx_from_scrc(), sccp_scoc_rx_from_scrc(), sccp_scoc_rx_inval_opc(), sccp_scoc_rx_inval_src_ref(), sccp_scoc_rx_scrc_rout_fail(), sccp_scoc_rx_unass_local_ref(), sua_rx_msg(), and xua_msg_dump().
int xua_msg_add_data | ( | struct xua_msg * | msg, |
uint16_t | tag, | ||
uint16_t | len, | ||
const uint8_t * | dat | ||
) |
References xua_msg_part::dat, xua_msg_part::entry, xua_msg::headers, xua_msg_part::len, len, xua_msg_part::tag, and tag.
Referenced by m3ua_encode_duna(), m3ua_encode_dupu(), m3ua_encode_notify(), m3ua_gen_error_msg(), m3ua_tx_snm_congestion(), sccp_data_to_sua_ptr(), sccp_longdata_to_sua_ptr(), sua_encode_duna(), sua_encode_dupu(), sua_gen_error_msg(), sua_tx_snm_congestion(), xua_from_msg_common(), xua_gen_msg_cl(), xua_gen_msg_co(), xua_gen_relre(), xua_msg_add_asp_rctx(), xua_msg_add_sccp_addr(), xua_msg_add_sccp_opt(), xua_msg_add_u32(), and xua_msg_copy_part().
int xua_msg_add_sccp_addr | ( | struct xua_msg * | xua, |
uint16_t | iei, | ||
const struct osmo_sccp_addr * | addr | ||
) |
References osmo_sccp_addr::gt, osmo_sccp_addr::ip, msgb_t16l16vp_put(), msgb_t16l16vp_put_u32(), OSMO_SCCP_ADDR_T_GT, OSMO_SCCP_ADDR_T_IPv4, OSMO_SCCP_ADDR_T_IPv6, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, OSMO_SCCP_RI_GT, OSMO_SCCP_RI_SSN_IP, OSMO_SCCP_RI_SSN_PC, osmo_sccp_addr::pc, osmo_sccp_addr::presence, osmo_sccp_addr::ri, osmo_sccp_addr::ssn, SUA_IEI_IPv4, SUA_IEI_IPv6, SUA_IEI_PC, SUA_IEI_SSN, SUA_RI_GT, SUA_RI_SSN_IP, SUA_RI_SSN_PC, osmo_sccp_addr::v4, osmo_sccp_addr::v6, xua_msg_add_data(), and xua_part_add_gt().
Referenced by ensure_opc_in_calling_ssn(), gen_ret_msg(), patch_sccp_with_pc(), sccp_addr_to_sua(), xua_gen_msg_cl(), and xua_gen_msg_co().
int xua_msg_add_u32 | ( | struct xua_msg * | xua, |
uint16_t | iei, | ||
uint32_t | val | ||
) |
References xua_msg_add_data().
Referenced by gen_coerr(), gen_coref_without_conn(), gen_relco(), gen_ret_msg(), gen_rlsd(), m3ua_encode_dupu(), m3ua_encode_notify(), m3ua_gen_error(), m3ua_tx_snm_congestion(), m3ua_tx_xua_as(), peer_send(), peer_send_error(), sccp_to_xua_cc(), sccp_to_xua_cr(), sccp_to_xua_cref(), sccp_to_xua_dt1(), sccp_to_xua_err(), sccp_to_xua_it(), sccp_to_xua_ludt(), sccp_to_xua_ludts(), sccp_to_xua_rlc(), sccp_to_xua_rlsd(), sccp_to_xua_udt(), sccp_to_xua_udts(), sccp_to_xua_xudt(), sccp_to_xua_xudts(), scoc_fsm_active(), sua_encode_duna(), sua_encode_dupu(), sua_gen_error(), sua_tx_snm_congestion(), sua_tx_xua_as(), xua_gen_msg_cl(), xua_gen_msg_co(), xua_gen_relre(), and xua_msg_add_sccp_opt().
struct xua_msg * xua_msg_alloc | ( | void | ) |
References xua_msg::headers, and tall_xua.
Referenced by gen_coerr(), gen_coref_without_conn(), gen_relco(), gen_ret_msg(), gen_rlsd(), m3ua_encode_duna(), m3ua_encode_dupu(), m3ua_encode_notify(), m3ua_gen_error(), m3ua_tx_snm_congestion(), m3ua_xfer_from_data(), osmo_sccp_to_xua(), peer_send(), peer_send_error(), scoc_fsm_active(), sua_encode_duna(), sua_encode_dupu(), sua_gen_error(), sua_tx_snm_congestion(), xua_from_msg(), xua_from_nested(), xua_gen_msg_cl(), xua_gen_msg_co(), and xua_gen_relre().
int xua_msg_copy_part | ( | struct xua_msg * | xua_out, |
uint16_t | tag_out, | ||
const struct xua_msg * | xua_in, | ||
uint16_t | tag_in | ||
) |
References xua_msg_part::dat, xua_msg_part::len, xua_msg_add_data(), and xua_msg_find_tag().
Referenced by gen_coref_without_conn(), gen_ret_msg(), and peer_send().
char * xua_msg_dump | ( | struct xua_msg * | xua, |
const struct xua_dialect * | dialect | ||
) |
References xua_dialect::class, xua_msg_part::dat, xua_msg::hdr, xua_msg::headers, xua_msg_part::len, xua_common_hdr::msg_class, xua_common_hdr::msg_length, xua_msg_part::tag, xua_common_hdr::version, xua_class_iei_name(), and xua_hdr_dump().
Referenced by m3ua_rx_mgmt_err(), sccp_scrc_rx_sclc_msg(), sccp_scrc_rx_scoc_conn_msg(), scrc_rx_mtp_xfer_ind_xua(), and sua_rx_mgmt_err().
int xua_msg_event_map | ( | const struct xua_msg * | xua, |
const struct xua_msg_event_map * | maps, | ||
unsigned int | num_maps | ||
) |
Map from a xua_msg (class+type) to an event.
[in] | xua | xUA message which is to be mapped |
[in] | maps | Table containing msg type+class -> event maps [aram[in] num_maps number of entries in maps |
References xua_msg_event_map::event, xua_msg::hdr, xua_msg_event_map::msg_class, xua_common_hdr::msg_class, xua_msg_event_map::msg_type, and xua_common_hdr::msg_type.
Referenced by m3ua_rx_asp(), sccp_scoc_rx_from_scrc(), and sua_rx_asp().
struct xua_msg_part * xua_msg_find_tag | ( | const struct xua_msg * | xua, |
uint16_t | tag | ||
) |
References xua_msg_part::entry, xua_msg::headers, xua_msg_part::tag, and tag.
Referenced by data_hdr_from_m3ua(), handle_rkey_dereg_resp(), handle_rkey_reg(), handle_rkey_reg_resp(), ipa_tx_xua_as(), m3ua_decode_notify(), m3ua_gen_error_msg(), m3ua_rx_rkm_dereg_req(), m3ua_rx_snm(), m3ua_rx_snm_asp(), m3ua_rx_xfer(), m3ua_to_xfer_ind(), sccp_add_long_variable_part(), sccp_add_var_addr(), sccp_add_variable_part(), sccp_scoc_rx_from_scrc(), sclc_rx_cldr(), sclc_rx_cldt(), scrc_rx_mtp_xfer_ind_xua(), scu_gen_encode_and_send(), sua_addr_parse(), sua_rx_cl(), sua_rx_co(), sua_rx_snm_asp(), sua_to_sccp_udt(), sua_to_sccp_udts(), xua_asp_fsm_down(), xua_asp_fsm_inactive(), xua_dialect_check_all_mand_ies(), xua_msg_copy_part(), xua_msg_get_len(), xua_msg_get_str(), xua_msg_get_u32(), xua_msg_get_u32p(), xua_snm_rx_daud(), xua_snm_rx_dava(), xua_snm_rx_duna(), and xua_snm_rx_scon().
void xua_msg_free | ( | struct xua_msg * | msg | ) |
Referenced by encode_notify(), ipa_rx_msg_sccp(), m3ua_gen_error_msg(), m3ua_rx_msg(), m3ua_rx_rkm_dereg_rsp(), m3ua_rx_rkm_reg_req(), m3ua_rx_rkm_reg_rsp(), m3ua_tx_dupu(), m3ua_tx_snm_available(), m3ua_tx_snm_congestion(), mtp_user_prim_cb(), osmo_sccp_to_xua(), osmo_ss7_user_mtp_xfer_req(), patch_sccp_with_pc(), peer_send(), peer_send_error(), sccp_sclc_rx_scrc_rout_fail(), sccp_scoc_rx_scrc_rout_fail(), sua_rx_msg(), tx_coerr_from_xua(), tx_relco_from_xua(), tx_rlsd_from_xua_twoway(), xua_from_msg(), xua_from_nested(), xua_gen_encode_and_send(), xua_gen_msg_cl(), xua_gen_msg_co(), and xua_gen_relre_and_send().
int xua_msg_free_tag | ( | struct xua_msg * | xua, |
uint16_t | tag | ||
) |
References xua_msg_part::entry, xua_msg::headers, xua_msg_part::tag, and tag.
Referenced by ensure_opc_in_calling_ssn(), gen_ret_msg(), m3ua_rx_xfer(), and patch_sccp_with_pc().
int xua_msg_get_len | ( | const struct xua_msg * | xua, |
uint16_t | iei | ||
) |
References xua_msg_part::len, and xua_msg_find_tag().
Referenced by sua_to_sccp_udt(), sua_to_sccp_udts(), and sua_to_sccp_xudt().
const char * xua_msg_get_str | ( | const struct xua_msg * | xua, |
uint16_t | iei | ||
) |
References xua_msg_find_tag(), and xua_msg_part_get_str().
Referenced by xua_snm_rx_daud(), xua_snm_rx_dava(), xua_snm_rx_duna(), xua_snm_rx_dupu(), and xua_snm_rx_scon().
uint32_t xua_msg_get_u32 | ( | const struct xua_msg * | xua, |
uint16_t | iei | ||
) |
References xua_msg_find_tag(), and xua_msg_part_get_u32().
Referenced by handle_rkey_dereg_resp(), handle_rkey_reg(), handle_rkey_reg_resp(), m3ua_rx_mgmt_err(), sccp_scoc_rx_from_scrc(), sccp_scoc_rx_scrc_rout_fail(), sclc_rx_cldr(), sclc_rx_cldt(), scoc_fsm_active(), scoc_fsm_conn_pend_out(), scoc_fsm_idle(), scoc_fsm_wait_conn_conf(), scrc_rx_mtp_xfer_ind_xua(), scu_gen_encode_and_send(), store_local_ref(), sua_rx_mgmt_err(), sua_to_sccp_cc(), sua_to_sccp_cr(), sua_to_sccp_cref(), sua_to_sccp_dt1(), sua_to_sccp_err(), sua_to_sccp_it(), sua_to_sccp_ludt(), sua_to_sccp_ludts(), sua_to_sccp_rlsd(), sua_to_sccp_udt(), sua_to_sccp_udts(), sua_to_sccp_xudt(), sua_to_sccp_xudts(), tx_coerr_from_xua(), tx_relco_from_xua(), tx_rlsd_from_xua_twoway(), xua_asp_fsm_inactive(), and xua_snm_rx_dupu().
const uint32_t * xua_msg_get_u32p | ( | const struct xua_msg * | xua, |
uint16_t | iei, | ||
uint32_t * | out | ||
) |
References xua_msg_find_tag(), and xua_msg_part_get_u32().
Referenced by xua_snm_rx_dava(), xua_snm_rx_duna(), and xua_snm_rx_scon().
const char * xua_msg_part_get_str | ( | const struct xua_msg_part * | part | ) |
References xua_msg_part::dat, and xua_msg_part::len.
Referenced by xua_msg_get_str().
uint32_t xua_msg_part_get_u32 | ( | const struct xua_msg_part * | part | ) |
void xua_part_add_gt | ( | struct msgb * | msg, |
const struct osmo_sccp_gt * | gt | ||
) |
References osmo_sccp_gt::digits, osmo_sccp_gt::gti, osmo_sccp_gt::nai, osmo_sccp_gt::npi, SUA_IEI_GT, and osmo_sccp_gt::tt.
Referenced by xua_msg_add_sccp_addr().
struct msgb * xua_to_msg | ( | const int | version, |
struct xua_msg * | xua | ||
) |
References xua_msg_part::dat, xua_msg::hdr, xua_msg::headers, xua_msg_part::len, xua_common_hdr::msg_length, xua_common_hdr::spare, xua_msg_part::tag, version, and xua_common_hdr::version.
Referenced by encode_notify(), m3ua_to_msg(), peer_send(), peer_send_error(), and sua_to_msg().
|
static |
Referenced by osmo_xua_msg_tall_ctx_init(), and xua_msg_alloc().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <ss7_route.h>
Data Fields | |
struct llist_head | list |
member in osmo_ss7_route_table::routes More... | |
struct osmo_ss7_route_table * | rtable |
osmo_ss7_route_table to which we belong More... | |
struct { | |
struct osmo_ss7_linkset * linkset | |
pointer to linkset (destination) of route More... | |
struct osmo_ss7_as * as | |
pointer to Application Server More... | |
} | dest |
struct { | |
uint32_t pc | |
uint32_t mask | |
char * linkset_name | |
human-specified linkset name More... | |
uint32_t priority | |
lower priority is higher More... | |
uint8_t qos_class | |
} | cfg |
struct osmo_ss7_as* osmo_ss7_route::as |
pointer to Application Server
Referenced by _rout_key(), gen_mtp_transfer_req_xua(), handle_rkey_dereg(), handle_rkey_reg(), hmrt_message_for_routing(), osmo_ss7_route_get_dest_as(), osmo_ss7_route_name(), ss7_route_set_linkset(), and ss7_route_table_del_routes_by_as().
struct { ... } osmo_ss7_route::cfg |
Referenced by DEFUN_ATTR(), osmo_ss7_route_name(), osmo_ss7_route_print(), route_insert_sorted(), ss7_route_alloc(), ss7_route_destroy(), ss7_route_insert(), ss7_route_set_linkset(), ss7_route_table_find_route_by_dpc(), ss7_route_table_find_route_by_dpc_mask(), vty_dump_rtable(), and write_one_rtable().
struct { ... } osmo_ss7_route::dest |
struct osmo_ss7_linkset* osmo_ss7_route::linkset |
pointer to linkset (destination) of route
Referenced by gen_mtp_transfer_req_xua(), hmrt_message_for_routing(), osmo_ss7_route_name(), ss7_route_set_linkset(), and ss7_route_table_del_routes_by_linkset().
char* osmo_ss7_route::linkset_name |
human-specified linkset name
Referenced by ss7_route_create(), ss7_route_destroy(), ss7_route_insert(), ss7_route_set_linkset(), vty_dump_rtable(), and write_one_rtable().
struct llist_head osmo_ss7_route::list |
member in osmo_ss7_route_table::routes
Referenced by route_insert_sorted(), ss7_route_alloc(), ss7_route_destroy(), ss7_route_inserted(), ss7_route_table_del_routes_by_as(), ss7_route_table_del_routes_by_linkset(), ss7_route_table_find_route_by_dpc(), ss7_route_table_find_route_by_dpc_mask(), vty_dump_rtable(), and write_one_rtable().
uint32_t osmo_ss7_route::mask |
Referenced by DEFUN_ATTR(), osmo_ss7_route_name(), osmo_ss7_route_print(), route_insert_sorted(), ss7_route_alloc(), ss7_route_create(), ss7_route_destroy(), ss7_route_insert(), ss7_route_set_linkset(), ss7_route_table_find_route_by_dpc(), ss7_route_table_find_route_by_dpc_mask(), and write_one_rtable().
uint32_t osmo_ss7_route::pc |
uint32_t osmo_ss7_route::priority |
lower priority is higher
Referenced by DEFUN_ATTR(), route_insert_sorted(), ss7_route_alloc(), vty_dump_rtable(), and write_one_rtable().
uint8_t osmo_ss7_route::qos_class |
Referenced by DEFUN_ATTR(), and write_one_rtable().
struct osmo_ss7_route_table* osmo_ss7_route::rtable |
osmo_ss7_route_table to which we belong
Referenced by DEFUN_ATTR(), osmo_ss7_route_name(), osmo_ss7_route_print(), ss7_route_alloc(), ss7_route_destroy(), ss7_route_insert(), ss7_route_set_linkset(), and write_one_rtable().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdint.h>
#include <osmocom/core/linuxlist.h>
Go to the source code of this file.
Data Structures | |
struct | osmo_ss7_linkset |
Functions | |
void | ss7_linkset_destroy (struct osmo_ss7_linkset *lset) |
Destroy a SS7 Linkset. More... | |
struct osmo_ss7_linkset * | ss7_linkset_find_by_name (struct osmo_ss7_instance *inst, const char *name) |
Find SS7 Linkset by given name. More... | |
struct osmo_ss7_linkset * | ss7_linkset_find_or_create (struct osmo_ss7_instance *inst, const char *name, uint32_t pc) |
Find or allocate SS7 Linkset. More... | |
void ss7_linkset_destroy | ( | struct osmo_ss7_linkset * | lset | ) |
Destroy a SS7 Linkset.
[in] | lset | Linkset to be destroyed |
References osmo_ss7_linkset::cfg, osmo_ss7_linkset::inst, osmo_ss7_linkset::links, osmo_ss7_linkset::list, LOGSS7, osmo_ss7_linkset::name, osmo_ss7_instance::rtable_system, ss7_initialized, ss7_link_destroy(), and ss7_route_table_del_routes_by_linkset().
Referenced by osmo_ss7_instance_destroy().
struct osmo_ss7_linkset * ss7_linkset_find_by_name | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
Find SS7 Linkset by given name.
[in] | inst | SS7 Instance in which to look |
[in] | name | Name of SS7 Linkset |
References osmo_ss7_linkset::cfg, osmo_ss7_linkset::inst, osmo_ss7_instance::linksets, osmo_ss7_linkset::list, osmo_ss7_linkset::name, and ss7_initialized.
Referenced by ss7_linkset_find_or_create(), and ss7_route_set_linkset().
struct osmo_ss7_linkset * ss7_linkset_find_or_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name, | ||
uint32_t | pc | ||
) |
Find or allocate SS7 Linkset.
[in] | inst | SS7 Instance in which we operate |
[in] | name | Name of SS7 Linkset |
[in] | pc | Adjacent Pointcode |
References osmo_ss7_linkset::adjacent_pc, osmo_ss7_linkset::cfg, osmo_ss7_linkset::inst, osmo_ss7_instance::linksets, osmo_ss7_linkset::list, LOGSS7, osmo_ss7_linkset::name, ss7_initialized, and ss7_linkset_find_by_name().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <xua_msg.h>
Data Fields | |
const char * | name |
const struct value_string * | msgt_names |
const struct value_string * | iei_names |
const uint16_t * | mand_ies [256] |
const struct value_string* xua_msg_class::iei_names |
Referenced by xua_class_iei_name().
const uint16_t* xua_msg_class::mand_ies[256] |
Referenced by xua_dialect_check_all_mand_ies().
const struct value_string* xua_msg_class::msgt_names |
Referenced by xua_class_msg_name().
const char* xua_msg_class::name |
Referenced by xua_dialect_check_all_mand_ies(), and xua_hdr_dump().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
Data Fields | |
struct osmo_ss7_asp * | asp |
struct osmo_ss7_asp* lm_fsm_priv::asp |
Referenced by handle_reg_conf(), lm_active(), lm_idle(), lm_rkm_reg(), lm_timer_cb(), lm_wait_notify(), osmo_ss7_asp_use_default_lm(), and restart_asp().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
Go to the source code of this file.
Data Structures | |
struct | osmo_xlm_prim_notify |
struct | osmo_xlm_prim_error |
struct | osmo_xlm_prim_rk_reg |
struct | osmo_xlm_prim_rk_dereg |
struct | osmo_xlm_prim |
Macros | |
#define | NOTIFY_PAR_P_ASP_ID (1 << 0) |
#define | NOTIFY_PAR_P_ROUTE_CTX (1 << 1) |
#define | msgb_xlm_prim(msg) ((struct osmo_xlm_prim *)(msg)->l1h) |
Functions | |
char * | osmo_xlm_prim_name (struct osmo_prim_hdr *oph) |
int | osmo_xlm_sap_down (struct osmo_ss7_asp *asp, struct osmo_prim_hdr *oph) |
#define msgb_xlm_prim | ( | msg | ) | ((struct osmo_xlm_prim *)(msg)->l1h) |
#define NOTIFY_PAR_P_ASP_ID (1 << 0) |
#define NOTIFY_PAR_P_ROUTE_CTX (1 << 1) |
enum osmo_sigtran_sap |
enum osmo_xlm_prim_type |
char * osmo_xlm_prim_name | ( | struct osmo_prim_hdr * | oph | ) |
References osmo_xlm_prim_names, and prim_name_buf.
Referenced by default_lm_prim_cb(), osmo_xlm_sap_down(), and xua_asp_send_xlm_prim().
int osmo_xlm_sap_down | ( | struct osmo_ss7_asp * | asp, |
struct osmo_prim_hdr * | oph | ||
) |
References osmo_xlm_prim_rk_reg::key, LOGPASP, osmo_xlm_prim::oph, OSMO_XLM_PRIM_M_RK_DEREG, OSMO_XLM_PRIM_M_RK_REG, osmo_xlm_prim_name(), osmo_xlm_prim::rk_dereg, osmo_xlm_prim::rk_reg, osmo_xlm_prim_rk_dereg::route_ctx, osmo_xlm_prim_rk_reg::traf_mode, osmo_xlm_prim::u, xua_rkm_send_dereg_req(), and xua_rkm_send_reg_req().
Referenced by lm_timer_cb().
libosmo-sigtran 2.0.0.52-6412
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_internal.h"
#include "ss7_instance.h"
#include <osmocom/vty/vty.h>
Data Structures | |
struct | sccp_connection |
Macros | |
#define | S(x) (1 << (x)) |
#define | SCU_MSGB_SIZE 1024 |
#define | INIT_TIMER(x, fn, priv) do { (x)->cb = fn; (x)->data = priv; } while (0) |
Functions | |
osmo_static_assert (ARRAY_SIZE(osmo_sccp_timer_defaults)==(OSMO_SCCP_TIMERS_LEN) &&ARRAY_SIZE(osmo_sccp_timer_names)==(OSMO_SCCP_TIMERS_LEN), assert_osmo_sccp_timers_count) | |
static void | sccp_timer_schedule (const struct sccp_connection *conn, struct osmo_timer_list *timer, enum osmo_sccp_timer timer_name) |
static void | tx_inact_tmr_cb (void *data) |
static void | rx_inact_tmr_cb (void *data) |
static void | rel_tmr_cb (void *data) |
static void | int_tmr_cb (void *data) |
static void | rep_rel_tmr_cb (void *data) |
static void | conn_tmr_cb (void *data) |
static void | conn_restart_tx_inact_timer (struct sccp_connection *conn) |
static void | conn_restart_rx_inact_timer (struct sccp_connection *conn) |
static void | conn_start_inact_timers (struct sccp_connection *conn) |
static void | conn_stop_inact_timers (struct sccp_connection *conn) |
static void | conn_start_rel_timer (struct sccp_connection *conn) |
static void | conn_start_rep_rel_timer (struct sccp_connection *conn) |
static void | conn_start_int_timer (struct sccp_connection *conn) |
static void | conn_stop_release_timers (struct sccp_connection *conn) |
static void | conn_start_connect_timer (struct sccp_connection *conn) |
static void | conn_stop_connect_timer (struct sccp_connection *conn) |
static void | conn_destroy (struct sccp_connection *conn) |
static struct sccp_connection * | conn_find_by_id (const struct osmo_sccp_instance *inst, uint32_t id) |
static int | conn_add_node (struct osmo_sccp_instance *inst, struct sccp_connection *conn) |
bool | osmo_sccp_conn_id_exists (const struct osmo_sccp_instance *inst, uint32_t id) |
static struct sccp_connection * | conn_create_id (struct osmo_sccp_user *user, uint32_t conn_id) |
int | osmo_sccp_instance_next_conn_id (struct osmo_sccp_instance *sccp) |
static struct sccp_connection * | conn_create (struct osmo_sccp_user *user) |
static void | conn_opt_data_clear_cache (struct sccp_connection *conn) |
static struct msgb * | scu_msgb_alloc (void) |
static struct xua_msg * | xua_gen_relre (struct sccp_connection *conn, uint32_t cause, struct osmo_scu_prim *prim) |
static int | xua_gen_relre_and_send (struct sccp_connection *conn, uint32_t cause, struct osmo_scu_prim *prim) |
static void | xua_opt_data_send_cache (struct sccp_connection *conn, int exp_type, uint8_t msg_class) |
static bool | xua_drop_data_check_drop (const struct osmo_scu_prim *prim, unsigned lim, const char *message) |
static bool | xua_opt_data_cache_keep (struct sccp_connection *conn, const struct osmo_scu_prim *prim, int msg_type) |
static bool | xua_opt_data_length_lim (struct sccp_connection *conn, const struct osmo_scu_prim *prim, int msg_type) |
static struct xua_msg * | xua_gen_msg_co (struct sccp_connection *conn, uint32_t event, const struct osmo_scu_prim *prim, int msg_type) |
static int | xua_gen_encode_and_send (struct sccp_connection *conn, uint32_t event, const struct osmo_scu_prim *prim, int msg_type) |
static struct osmo_scu_prim * | scu_prim_alloc (unsigned int primitive, enum osmo_prim_operation operation) |
static void | scu_gen_encode_and_send (struct sccp_connection *conn, uint32_t event, struct xua_msg *xua, unsigned int primitive, enum osmo_prim_operation operation) |
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) |
static uint8_t | get_cref_cause_for_ret (uint8_t ret_cause) |
static struct xua_msg * | gen_coref_without_conn (struct osmo_sccp_instance *inst, struct xua_msg *xua_in, uint32_t ref_cause) |
static struct osmo_sccp_user * | sccp_find_user (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
void | sccp_scoc_rx_scrc_rout_fail (struct osmo_sccp_instance *inst, struct xua_msg *xua, uint32_t return_cause) |
SCOC: Receive SCRC Routing Failure. More... | |
static struct xua_msg * | gen_coerr (uint32_t route_ctx, uint32_t dest_ref, uint32_t err_cause) |
static void | tx_coerr_from_xua (struct osmo_sccp_instance *inst, struct xua_msg *in, uint32_t err_cause) |
static struct xua_msg * | gen_relco (uint32_t route_ctx, uint32_t dest_ref, uint32_t src_ref) |
static void | tx_relco_from_xua (struct osmo_sccp_instance *inst, struct xua_msg *in) |
static struct xua_msg * | gen_rlsd (uint32_t route_ctx, uint32_t dest_ref, uint32_t src_ref) |
static void | tx_rlsd_from_xua_twoway (struct sccp_connection *conn, struct xua_msg *in) |
static void | sccp_scoc_rx_unass_local_ref (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
static void | sccp_scoc_rx_inval_src_ref (struct sccp_connection *conn, struct xua_msg *xua, uint32_t inval_src_ref) |
static void | sccp_scoc_rx_inval_opc (struct sccp_connection *conn, struct xua_msg *xua) |
void | sccp_scoc_rx_from_scrc (struct osmo_sccp_instance *inst, struct xua_msg *xua) |
Main entrance function for primitives from the SCRC (Routing Control) More... | |
static uint32_t | scu_prim_conn_id (const struct osmo_scu_prim *prim) |
int | osmo_sccp_user_sap_down_nofree (struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) |
Main entrance function for primitives from SCCP User. More... | |
int | osmo_sccp_user_sap_down (struct osmo_sccp_user *scu, struct osmo_prim_hdr *oph) |
Main entrance function for primitives from SCCP User. More... | |
void | sccp_scoc_flush_connections (struct osmo_sccp_instance *inst) |
static void | vty_show_connection (struct vty *vty, struct sccp_connection *conn) |
void | sccp_scoc_show_connections (struct vty *vty, struct osmo_sccp_instance *inst) |
Variables | |
static const struct value_string | scoc_event_names [] |
static const struct xua_msg_event_map | sua_scoc_event_map [] |
static const struct osmo_prim_event_map | scu_scoc_event_map [] |
const struct osmo_tdef | osmo_sccp_timer_defaults [OSMO_SCCP_TIMERS_LEN] |
const struct value_string | osmo_sccp_timer_names [] |
static const struct osmo_fsm_state | sccp_scoc_states [] |
struct osmo_fsm | sccp_scoc_fsm |
static const uint8_t | cause_map_cref [] |
#define INIT_TIMER | ( | x, | |
fn, | |||
priv | |||
) | do { (x)->cb = fn; (x)->data = priv; } while (0) |
#define S | ( | x | ) | (1 << (x)) |
#define SCU_MSGB_SIZE 1024 |
enum sccp_scoc_event |
|
static |
References sccp_connection::conn_id, osmo_sccp_instance::connections, sccp_connection::inst, and sccp_connection::node.
Referenced by conn_create_id().
|
static |
References conn_create_id(), sccp_connection::conn_id, osmo_sccp_user::inst, osmo_sccp_instance_next_conn_id(), and sccp_connection::user.
Referenced by sccp_scoc_rx_from_scrc().
|
static |
References conn_add_node(), sccp_connection::conn_id, conn_tmr_cb(), osmo_sccp_instance::connections, sccp_connection::fi, INIT_TIMER, osmo_sccp_user::inst, sccp_connection::inst, int_tmr_cb(), sccp_connection::node, rel_tmr_cb(), rep_rel_tmr_cb(), rx_inact_tmr_cb(), sccp_scoc_fsm, sccp_connection::t_conn, sccp_connection::t_iar, sccp_connection::t_ias, sccp_connection::t_int, sccp_connection::t_rel, sccp_connection::t_rep_rel, tx_inact_tmr_cb(), and sccp_connection::user.
Referenced by conn_create(), and osmo_sccp_user_sap_down_nofree().
|
static |
|
static |
|
static |
References sccp_connection::opt_data_cache.
Referenced by conn_destroy(), and xua_opt_data_send_cache().
|
static |
References OSMO_SCCP_TIMER_IAR, sccp_timer_schedule(), and sccp_connection::t_iar.
Referenced by conn_start_inact_timers(), and scoc_fsm_active().
|
static |
References OSMO_SCCP_TIMER_IAS, sccp_timer_schedule(), and sccp_connection::t_ias.
Referenced by conn_start_inact_timers(), and scoc_fsm_active().
|
static |
References OSMO_SCCP_TIMER_CONN_EST, sccp_timer_schedule(), and sccp_connection::t_conn.
Referenced by scoc_fsm_conn_pend_out(), and scoc_fsm_idle().
|
static |
References conn_restart_rx_inact_timer(), and conn_restart_tx_inact_timer().
Referenced by scoc_fsm_conn_pend_in(), and scoc_fsm_conn_pend_out().
|
static |
References OSMO_SCCP_TIMER_INT, sccp_timer_schedule(), and sccp_connection::t_int.
Referenced by scoc_fsm_disconn_pend().
|
static |
References OSMO_SCCP_TIMER_REL, sccp_timer_schedule(), and sccp_connection::t_rel.
Referenced by scoc_fsm_active(), and scoc_fsm_wait_conn_conf().
|
static |
References OSMO_SCCP_TIMER_REPEAT_REL, sccp_timer_schedule(), and sccp_connection::t_rep_rel.
Referenced by scoc_fsm_disconn_pend().
|
static |
References sccp_connection::t_conn.
Referenced by conn_destroy(), scoc_fsm_conn_pend_out(), and scoc_fsm_wait_conn_conf().
|
static |
References sccp_connection::t_iar, and sccp_connection::t_ias.
Referenced by conn_destroy(), and scoc_fsm_active().
|
static |
References sccp_connection::t_int, sccp_connection::t_rel, and sccp_connection::t_rep_rel.
Referenced by conn_destroy(), and scoc_fsm_disconn_pend().
|
static |
References data, sccp_connection::fi, and SCOC_E_CONN_TMR_EXP.
Referenced by conn_create_id().
|
static |
References xua_msg::hdr, SUA_CAUSE_T_ERROR, SUA_CO_COERR, SUA_IEI_CAUSE, SUA_IEI_DEST_REF, SUA_IEI_ROUTE_CTX, SUA_MSGC_CO, XUA_HDR, xua_msg_add_u32(), and xua_msg_alloc().
Referenced by tx_coerr_from_xua().
|
static |
References xua_msg::hdr, osmo_sccp_instance::route_ctx, SUA_CAUSE_T_REFUSAL, SUA_CO_COREF, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_DEST_REF, SUA_IEI_IMPORTANCE, SUA_IEI_ROUTE_CTX, SUA_IEI_SRC_ADDR, SUA_IEI_SRC_REF, SUA_MSGC_CO, XUA_HDR, xua_msg_add_u32(), xua_msg_alloc(), and xua_msg_copy_part().
Referenced by sccp_scoc_rx_scrc_rout_fail().
|
static |
References xua_msg::hdr, SUA_CO_RELCO, SUA_IEI_DEST_REF, SUA_IEI_ROUTE_CTX, SUA_IEI_SRC_REF, SUA_MSGC_CO, XUA_HDR, xua_msg_add_u32(), and xua_msg_alloc().
Referenced by tx_relco_from_xua().
|
static |
References xua_msg::hdr, SUA_CO_RELRE, SUA_IEI_DEST_REF, SUA_IEI_ROUTE_CTX, SUA_IEI_SRC_REF, SUA_MSGC_CO, XUA_HDR, xua_msg_add_u32(), and xua_msg_alloc().
Referenced by tx_rlsd_from_xua_twoway().
|
static |
References cause_map_cref.
Referenced by sccp_scoc_rx_scrc_rout_fail().
|
static |
References data, sccp_connection::fi, and SCOC_E_T_INT_EXP.
Referenced by conn_create_id().
bool osmo_sccp_conn_id_exists | ( | const struct osmo_sccp_instance * | inst, |
uint32_t | id | ||
) |
References conn_find_by_id(), and sccp_connection::inst.
Referenced by osmo_sccp_tx_conn_resp_msg(), osmo_sccp_tx_data(), and osmo_sccp_tx_disconn_data().
int osmo_sccp_instance_next_conn_id | ( | struct osmo_sccp_instance * | sccp | ) |
References conn_find_by_id(), and osmo_sccp_instance::next_id.
Referenced by conn_create().
int osmo_sccp_user_sap_down | ( | struct osmo_sccp_user * | scu, |
struct osmo_prim_hdr * | oph | ||
) |
Main entrance function for primitives from SCCP User.
Implies a msgb_free(oph->msg), otherwise the same as osmo_sccp_user_sap().
[in] | scu | SCCP User sending us the primitive |
[in] | oph | Osmocom primitive sent by the user |
References osmo_scu_prim::oph, and osmo_sccp_user_sap_down_nofree().
Referenced by osmo_sccp_tx_conn_req(), osmo_sccp_tx_conn_resp_msg(), osmo_sccp_tx_data(), osmo_sccp_tx_disconn_data(), osmo_sccp_tx_unitdata(), and sccp_scmg_tx().
int osmo_sccp_user_sap_down_nofree | ( | struct osmo_sccp_user * | scu, |
struct osmo_prim_hdr * | oph | ||
) |
Main entrance function for primitives from SCCP User.
The caller is required to free oph->msg, otherwise the same as osmo_sccp_user_sap_down().
[in] | scu | SCCP User sending us the primitive |
[in] | oph | Osmocom primitive sent by the user |
References conn_create_id(), conn_find_by_id(), osmo_scu_connect_param::conn_id, osmo_scu_prim::connect, sccp_connection::fi, osmo_sccp_user::inst, sccp_connection::inst, osmo_scu_prim::oph, OSMO_SCU_PRIM_N_CONNECT, OSMO_SCU_PRIM_N_DATA, OSMO_SCU_PRIM_N_DISCONNECT, OSMO_SCU_PRIM_N_RESET, OSMO_SCU_PRIM_N_UNITDATA, osmo_scu_prim_name(), sccp_sclc_user_sap_down_nofree(), scu_prim_conn_id(), scu_scoc_event_map, and osmo_scu_prim::u.
Referenced by osmo_sccp_user_sap_down().
osmo_static_assert | ( | ARRAY_SIZE(osmo_sccp_timer_defaults) | = =(OSMO_SCCP_TIMERS_LEN) &&ARRAY_SIZE(osmo_sccp_timer_names)==(OSMO_SCCP_TIMERS_LEN) , |
assert_osmo_sccp_timers_count | |||
) |
|
static |
References data, sccp_connection::fi, and SCOC_E_T_REL_EXP.
Referenced by conn_create_id().
|
static |
References data, sccp_connection::fi, and SCOC_E_T_REP_REL_EXP.
Referenced by conn_create_id().
|
static |
References data, sccp_connection::fi, and SCOC_E_T_IAR_EXP.
Referenced by conn_create_id().
|
static |
References OSMO_SCCP_ADDR_T_SSN, osmo_sccp_addr::pc, osmo_sccp_addr::presence, sccp_user_find(), osmo_sccp_addr::ssn, sua_addr_parse(), SUA_IEI_DEST_ADDR, xua_dialect_sua, and xua_hdr_dump().
Referenced by sccp_scoc_rx_from_scrc().
void sccp_scoc_flush_connections | ( | struct osmo_sccp_instance * | inst | ) |
References conn_destroy(), osmo_sccp_instance::connections, and sccp_connection::node.
Referenced by osmo_sccp_instance_destroy().
void sccp_scoc_rx_from_scrc | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua | ||
) |
Main entrance function for primitives from the SCRC (Routing Control)
[in] | inst | SCCP Instance in which we operate |
[in] | xua | SUA message in xua_msg format |
References conn_create(), conn_find_by_id(), sccp_connection::conn_id, sccp_connection::fi, xua_msg::hdr, sccp_connection::incoming, osmo_sccp_user::inst, xua_common_hdr::msg_type, xua_msg::mtp, osmo_mtp_transfer_param::opc, sccp_connection::remote_pc, sccp_connection::remote_ref, sccp_find_user(), sccp_scoc_rx_inval_opc(), sccp_scoc_rx_inval_src_ref(), sccp_scoc_rx_unass_local_ref(), SUA_CO_COAK, SUA_CO_CORE, SUA_CO_COREF, SUA_IEI_DEST_REF, SUA_IEI_SRC_REF, sua_scoc_event_map, xua_dialect_sua, xua_hdr_dump(), xua_msg_event_map(), xua_msg_find_tag(), and xua_msg_get_u32().
Referenced by scrc_node_6(), scrc_rx_mtp_xfer_ind_xua(), and scrc_translate_node_9().
|
static |
References xua_msg::hdr, sccp_connection::inst, xua_common_hdr::msg_type, xua_msg::mtp, osmo_mtp_transfer_param::opc, osmo_ss7_pointcode_print(), osmo_ss7_pointcode_print2(), sccp_connection::remote_pc, osmo_sccp_instance::ss7, SUA_CO_CODA, SUA_CO_CODT, SUA_CO_COERR, SUA_CO_RELCO, SUA_CO_RELRE, SUA_CO_RESCO, SUA_CO_RESRE, tx_coerr_from_xua(), xua_dialect_sua, and xua_hdr_dump().
Referenced by sccp_scoc_rx_from_scrc().
|
static |
void sccp_scoc_rx_scrc_rout_fail | ( | struct osmo_sccp_instance * | inst, |
struct xua_msg * | xua, | ||
uint32_t | return_cause | ||
) |
SCOC: Receive SCRC Routing Failure.
[in] | inst | SCCP Instance on which we operate |
[in] | xua | SUA message that was failed to route |
[in] | return_cause | Reason (cause) for routing failure |
References conn_find_by_id(), sccp_connection::conn_id, sccp_connection::fi, gen_coref_without_conn(), get_cref_cause_for_ret(), sccp_connection::inst, sccp_scrc_rx_scoc_conn_msg(), SCOC_E_RCOC_ROUT_FAIL_IND, SUA_IEI_DEST_REF, xua_dialect_sua, xua_hdr_dump(), xua_msg_free(), and xua_msg_get_u32().
Referenced by scrc_node_2(), scrc_node_4(), and scrc_node_6().
|
static |
References xua_msg::hdr, xua_common_hdr::msg_type, SUA_CO_COAK, SUA_CO_CODA, SUA_CO_CODT, SUA_CO_COERR, SUA_CO_COIT, SUA_CO_COREF, SUA_CO_RELCO, SUA_CO_RELRE, SUA_CO_RESCO, SUA_CO_RESRE, tx_coerr_from_xua(), tx_relco_from_xua(), xua_dialect_sua, and xua_hdr_dump().
Referenced by sccp_scoc_rx_from_scrc().
void sccp_scoc_show_connections | ( | struct vty * | vty, |
struct osmo_sccp_instance * | inst | ||
) |
References osmo_sccp_instance::connections, and vty_show_connection().
Referenced by DEFUN().
|
static |
|
static |
References conn_restart_rx_inact_timer(), conn_restart_tx_inact_timer(), conn_start_rel_timer(), conn_stop_inact_timers(), data, sccp_connection::fi, sccp_connection::importance, OSMO_SCU_PRIM_N_DATA, OSMO_SCU_PRIM_N_DISCONNECT, sccp_connection::remote_ref, S_DISCONN_PEND, S_IDLE, sccp_connection::sccp_class, 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, scu_gen_encode_and_send(), 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_gen_encode_and_send(), xua_gen_relre_and_send(), xua_msg_add_u32(), xua_msg_alloc(), and xua_msg_get_u32().
|
static |
|
static |
References osmo_scu_disconn_param::cause, conn_start_connect_timer(), conn_start_inact_timers(), conn_stop_connect_timer(), data, osmo_scu_prim::disconnect, sccp_connection::fi, xua_msg::hdr, xua_common_hdr::msg_class, xua_msg::mtp, 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, 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, scu_gen_encode_and_send(), SUA_CO_CORE, SUA_CO_RELCO, SUA_IEI_SRC_REF, osmo_scu_prim::u, xua_gen_encode_and_send(), xua_msg_get_u32(), and xua_opt_data_send_cache().
|
static |
References conn_start_int_timer(), conn_start_rep_rel_timer(), conn_stop_release_timers(), sccp_connection::fi, S_IDLE, 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, SCOC_E_T_REP_REL_EXP, and xua_gen_relre_and_send().
|
static |
References osmo_scu_connect_param::called_addr, sccp_connection::called_addr, osmo_scu_connect_param::calling_addr, sccp_connection::calling_addr, conn_start_connect_timer(), osmo_scu_prim::connect, data, sccp_connection::fi, sccp_connection::importance, xua_msg::mtp, 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, osmo_scu_connect_param::sccp_class, sccp_connection::sccp_class, 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, scu_gen_encode_and_send(), sua_addr_parse(), SUA_CO_CORE, 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_gen_encode_and_send(), and xua_msg_get_u32().
|
static |
References conn_destroy().
|
static |
References conn_start_rel_timer(), conn_stop_connect_timer(), data, sccp_connection::fi, xua_msg::mtp, osmo_mtp_transfer_param::opc, sccp_connection::release_cause, sccp_connection::remote_pc, sccp_connection::remote_ref, S_DISCONN_PEND, S_IDLE, 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, xua_gen_encode_and_send(), xua_gen_relre_and_send(), and xua_msg_get_u32().
|
static |
References osmo_scu_connect_param::called_addr, sccp_connection::called_addr, osmo_scu_connect_param::calling_addr, sccp_connection::calling_addr, osmo_scu_disconn_param::cause, osmo_scu_connect_param::conn_id, osmo_scu_data_param::conn_id, osmo_scu_disconn_param::conn_id, sccp_connection::conn_id, osmo_scu_prim::connect, xua_msg_part::dat, osmo_scu_prim::data, osmo_scu_prim::disconnect, sccp_connection::fi, osmo_scu_connect_param::importance, osmo_scu_data_param::importance, osmo_scu_disconn_param::importance, sccp_connection::importance, xua_msg_part::len, osmo_scu_prim::oph, osmo_scu_disconn_param::originator, OSMO_SCCP_ORIG_UNDEFINED, OSMO_SCU_PRIM_N_CONNECT, OSMO_SCU_PRIM_N_DATA, OSMO_SCU_PRIM_N_DISCONNECT, osmo_scu_disconn_param::responding_addr, osmo_scu_connect_param::sccp_class, sccp_connection::sccp_class, sccp_user_prim_up(), scu_prim_alloc(), sua_addr_parse(), SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_IMPORTANCE, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_ADDR, osmo_scu_prim::u, sccp_connection::user, xua_msg_find_tag(), and xua_msg_get_u32().
Referenced by scoc_fsm_active(), scoc_fsm_conn_pend_out(), and scoc_fsm_idle().
|
static |
References SCU_MSGB_SIZE.
Referenced by scu_prim_alloc().
|
static |
References osmo_scu_prim::oph, SCCP_SAP_USER, and scu_msgb_alloc().
Referenced by scu_gen_encode_and_send().
|
static |
References osmo_scu_connect_param::conn_id, osmo_scu_data_param::conn_id, osmo_scu_disconn_param::conn_id, osmo_scu_reset_param::conn_id, osmo_scu_prim::connect, osmo_scu_prim::data, osmo_scu_prim::disconnect, osmo_scu_prim::oph, OSMO_SCU_PRIM_N_CONNECT, OSMO_SCU_PRIM_N_DATA, OSMO_SCU_PRIM_N_DISCONNECT, OSMO_SCU_PRIM_N_RESET, osmo_scu_prim::reset, and osmo_scu_prim::u.
Referenced by osmo_sccp_user_sap_down_nofree().
|
static |
References osmo_mtp_transfer_param::dpc, gen_coerr(), xua_msg::mtp, osmo_mtp_transfer_param::opc, sccp_scrc_rx_scoc_conn_msg(), osmo_mtp_transfer_param::sio, SUA_IEI_ROUTE_CTX, SUA_IEI_SRC_REF, xua_msg_free(), and xua_msg_get_u32().
Referenced by sccp_scoc_rx_inval_opc(), sccp_scoc_rx_inval_src_ref(), and sccp_scoc_rx_unass_local_ref().
|
static |
References data, sccp_connection::fi, and SCOC_E_T_IAS_EXP.
Referenced by conn_create_id().
|
static |
|
static |
References sccp_connection::conn_id, osmo_mtp_transfer_param::dpc, sccp_connection::fi, gen_rlsd(), sccp_connection::inst, xua_msg::mtp, osmo_mtp_transfer_param::opc, sccp_connection::remote_pc, sccp_connection::remote_ref, osmo_sccp_instance::route_ctx, sccp_scrc_rx_scoc_conn_msg(), SCOC_E_RCOC_RLSD_IND, osmo_mtp_transfer_param::sio, SUA_IEI_DEST_REF, SUA_IEI_ROUTE_CTX, SUA_IEI_SRC_REF, xua_msg_free(), and xua_msg_get_u32().
Referenced by sccp_scoc_rx_inval_src_ref().
|
static |
References sccp_connection::called_addr, sccp_connection::calling_addr, osmo_ss7_instance::cfg, sccp_connection::conn_id, sccp_connection::fi, sccp_connection::incoming, sccp_connection::inst, OSMO_SS7_PC_INVALID, osmo_ss7_pc_is_valid(), osmo_ss7_pointcode_print(), osmo_sccp_user::pc, osmo_ss7_instance::primary_pc, sccp_connection::remote_pc, sccp_connection::remote_ref, osmo_sccp_instance::ss7, osmo_sccp_addr::ssn, osmo_sccp_user::ssn, and sccp_connection::user.
Referenced by sccp_scoc_show_connections().
|
static |
References osmo_scu_prim::oph, and osmo_scu_prim_name().
Referenced by xua_opt_data_cache_keep(), and xua_opt_data_length_lim().
|
static |
References osmo_mtp_transfer_param::dpc, sccp_connection::inst, msg_type, xua_msg::mtp, sccp_connection::remote_pc, sccp_scrc_rx_scoc_conn_msg(), xua_gen_msg_co(), and xua_msg_free().
Referenced by scoc_fsm_active(), scoc_fsm_conn_pend_in(), scoc_fsm_conn_pend_out(), scoc_fsm_idle(), and scoc_fsm_wait_conn_conf().
|
static |
References sccp_connection::called_addr, sccp_connection::calling_addr, osmo_scu_disconn_param::cause, sccp_connection::conn_id, osmo_scu_prim::disconnect, xua_msg::hdr, sccp_connection::inst, msg_type, osmo_scu_prim::oph, osmo_sccp_addr::presence, sccp_connection::remote_ref, osmo_sccp_instance::route_ctx, sccp_connection::sccp_class, SUA_CAUSE_T_REFUSAL, SUA_CAUSE_T_RELEASE, SUA_CO_COAK, SUA_CO_CODT, SUA_CO_COIT, SUA_CO_CORE, SUA_CO_COREF, SUA_CO_RELCO, SUA_CO_RELRE, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_DEST_REF, SUA_IEI_PROTO_CLASS, SUA_IEI_ROUTE_CTX, SUA_IEI_SEQ_CTRL, SUA_IEI_SRC_ADDR, SUA_IEI_SRC_REF, SUA_MSGC_CO, osmo_scu_prim::u, XUA_HDR, xua_msg_add_data(), xua_msg_add_sccp_addr(), xua_msg_add_u32(), xua_msg_alloc(), xua_msg_free(), and xua_opt_data_length_lim().
Referenced by xua_gen_encode_and_send().
|
static |
References sccp_connection::conn_id, xua_msg::hdr, sccp_connection::inst, osmo_scu_prim::oph, sccp_connection::remote_ref, osmo_sccp_instance::route_ctx, SUA_CAUSE_T_RELEASE, SUA_CO_RELRE, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_REF, SUA_IEI_ROUTE_CTX, SUA_IEI_SRC_REF, SUA_MSGC_CO, XUA_HDR, xua_msg_add_data(), xua_msg_add_u32(), and xua_msg_alloc().
Referenced by xua_gen_relre_and_send().
|
static |
|
static |
|
static |
References sccp_connection::conn_id, sccp_connection::inst, osmo_sccp_instance::max_optional_data, msg_type, osmo_scu_prim::oph, osmo_sccp_tx_data(), SUA_CO_COAK, SUA_CO_CORE, SUA_CO_COREF, SUA_CO_RELRE, sccp_connection::user, xua_drop_data_check_drop(), and xua_opt_data_cache_keep().
Referenced by xua_gen_msg_co().
|
static |
|
static |
Referenced by get_cref_cause_for_ret().
const struct osmo_tdef osmo_sccp_timer_defaults[OSMO_SCCP_TIMERS_LEN] |
Referenced by gen_sccp_timer_cmd_strs(), and osmo_sccp_instance_create().
const struct value_string osmo_sccp_timer_names[] |
Referenced by DEFUN_ATTR(), gen_sccp_timer_cmd_strs(), osmo_sccp_timer_name(), and write_sccp_timers().
struct osmo_fsm sccp_scoc_fsm |
Referenced by conn_create_id(), and osmo_ss7_init().
|
static |
|
static |
|
static |
Referenced by osmo_sccp_user_sap_down_nofree().
|
static |
Referenced by sccp_scoc_rx_from_scrc().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
Go to the source code of this file.
Data Structures | |
struct | sccp_scmg_msg |
Enumerations | |
enum | sccp_scmg_msg_type { SCCP_SCMG_MSGT_SSA = 0x01 , SCCP_SCMG_MSGT_SSP = 0x02 , SCCP_SCMG_MSGT_SST = 0x03 , SCCP_SCMG_MSGT_SOR = 0x04 , SCCP_SCMG_MSGT_SOG = 0x05 , SCCP_SCMG_MSGT_SSC = 0x06 } |
Functions | |
struct sccp_scmg_msg | __attribute__ ((packed)) |
static const char * | sccp_scmg_msgt_name (enum sccp_scmg_msg_type msgt) |
Variables | |
uint8_t | msg_type |
uint8_t | affected_ssn |
uint16_t | affected_pc |
uint8_t | smi |
uint8_t | ssc_congestion_lvl [0] |
const struct value_string | sccp_scmg_msgt_names [] |
enum sccp_scmg_msg_type |
struct sccp_scmg_msg __attribute__ | ( | (packed) | ) |
|
inlinestatic |
References sccp_scmg_msgt_names.
Referenced by scmg_rx().
uint16_t affected_pc |
uint8_t affected_ssn |
uint8_t msg_type |
|
extern |
Referenced by sccp_scmg_msgt_name().
uint8_t smi |
uint8_t ssc_congestion_lvl[0] |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <ss7_route_table.h>
Data Fields | |
struct llist_head | list |
member in list of routing tables More... | |
struct osmo_ss7_instance * | inst |
osmo_ss7_instance to which we belong More... | |
struct llist_head | routes |
list of osmo_ss7_route More... | |
struct { | |
char * name | |
char * description | |
} | cfg |
struct { ... } osmo_ss7_route_table::cfg |
Referenced by DEFUN_ATTR(), ss7_route_table_alloc(), ss7_route_table_find(), vty_dump_rtable(), and write_one_rtable().
char* osmo_ss7_route_table::description |
Referenced by DEFUN_ATTR(), and write_one_rtable().
struct osmo_ss7_instance* osmo_ss7_route_table::inst |
osmo_ss7_instance to which we belong
Referenced by DEFUN_ATTR(), osmo_ss7_route_name(), osmo_ss7_route_print(), osmo_ss7_vty_go_parent(), ss7_route_alloc(), ss7_route_destroy(), ss7_route_insert(), ss7_route_set_linkset(), ss7_route_table_alloc(), ss7_route_table_find(), ss7_route_table_find_or_create(), ss7_route_table_find_route_by_dpc(), ss7_route_table_find_route_by_dpc_mask(), and write_one_rtable().
struct llist_head osmo_ss7_route_table::list |
member in list of routing tables
Referenced by ss7_route_table_alloc(), ss7_route_table_destroy(), and ss7_route_table_find().
char* osmo_ss7_route_table::name |
struct llist_head osmo_ss7_route_table::routes |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdint.h>
#include <stdbool.h>
#include <unistd.h>
Go to the source code of this file.
Data Structures | |
struct | osmo_ss7_asp_peer |
Functions | |
int | ss7_asp_peer_snprintf (char *buf, size_t buf_len, struct osmo_ss7_asp_peer *peer) |
void | ss7_asp_peer_init (struct osmo_ss7_asp_peer *peer) |
int | ss7_asp_peer_set_hosts (struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char *const *hosts, size_t host_cnt) |
Set (copy) addresses for a given ASP peer. More... | |
int | ss7_asp_peer_set_hosts2 (struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char *const *hosts, size_t host_cnt, int idx_primary) |
Set (copy) addresses for a given ASP peer. More... | |
int | ss7_asp_peer_add_host (struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char *host) |
Append (copy) address to a given ASP peer. More... | |
int | ss7_asp_peer_add_host2 (struct osmo_ss7_asp_peer *peer, void *talloc_ctx, const char *host, bool is_primary_addr) |
Append (copy) address to a given ASP peer. More... | |
int | ss7_asp_peer_del_host (struct osmo_ss7_asp_peer *peer, const char *host) |
Remove address from a given ASP peer. More... | |
bool | ss7_asp_peer_match_host (const struct osmo_ss7_asp_peer *peer, const char *host, bool host_is_v6) |
int | ss7_asp_peer_find_host (const struct osmo_ss7_asp_peer *peer, const char *host) |
Find the exact IP address match and return its index in the array. More... | |
int ss7_asp_peer_add_host | ( | struct osmo_ss7_asp_peer * | peer, |
void * | talloc_ctx, | ||
const char * | host | ||
) |
Append (copy) address to a given ASP peer.
Previous addresses are kept.
[in] | peer | Application Server Process peer the address is appended to. |
[in] | talloc_ctx | talloc context used to allocate new address. |
[in] | host | string containing an IP address. |
References ss7_asp_peer_add_host2().
Referenced by osmo_sccp_simple_server_add_clnt(), ss7_asp_set_default_peer_hosts(), and ss7_xua_server_add_local_host().
int ss7_asp_peer_add_host2 | ( | struct osmo_ss7_asp_peer * | peer, |
void * | talloc_ctx, | ||
const char * | host, | ||
bool | is_primary_addr | ||
) |
Append (copy) address to a given ASP peer.
Previous addresses are kept.
[in] | peer | Application Server Process peer the address is appended to. |
[in] | talloc_ctx | talloc context used to allocate new address. |
[in] | host | string containing an IP address. |
[in] | is_primary_addr | whether this IP address is to be added as SCTP Primary Address |
References osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, host_is_ip_anyaddr(), and osmo_ss7_asp_peer::idx_primary.
Referenced by DEFUN_ATTR(), and ss7_asp_peer_add_host().
int ss7_asp_peer_del_host | ( | struct osmo_ss7_asp_peer * | peer, |
const char * | host | ||
) |
Remove address from a given ASP peer.
[in] | peer | Application Server Process peer the address is removed from. |
[in] | host | string containing an IP address. |
References osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, and osmo_ss7_asp_peer::idx_primary.
Referenced by DEFUN_ATTR(), and ss7_xua_server_del_local_host().
int ss7_asp_peer_find_host | ( | const struct osmo_ss7_asp_peer * | peer, |
const char * | host | ||
) |
Find the exact IP address match and return its index in the array.
[in] | peer | Application Server Process peer where the address is looked up. |
[in] | host | string containing an IP address. |
References osmo_ss7_asp_peer::host, and osmo_ss7_asp_peer::host_cnt.
Referenced by DEFUN_ATTR().
void ss7_asp_peer_init | ( | struct osmo_ss7_asp_peer * | peer | ) |
References osmo_ss7_asp_peer::idx_primary.
Referenced by ss7_asp_alloc().
bool ss7_asp_peer_match_host | ( | const struct osmo_ss7_asp_peer * | peer, |
const char * | host, | ||
bool | host_is_v6 | ||
) |
References osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, and host_is_ip_anyaddr().
Referenced by ss7_asp_find_by_socket_addr().
int ss7_asp_peer_set_hosts | ( | struct osmo_ss7_asp_peer * | peer, |
void * | talloc_ctx, | ||
const char *const * | hosts, | ||
size_t | host_cnt | ||
) |
Set (copy) addresses for a given ASP peer.
Previous addresses are freed.
[in] | peer | Application Server Process peer whose addresses are to be set. |
[in] | talloc_ctx | talloc context used to allocate new addresses. |
[in] | hosts | Array of strings containing IP addresses. |
[in] | host_cnt | Number of strings in hosts |
References ss7_asp_peer_set_hosts2().
Referenced by osmo_sccp_simple_client_on_ss7_id(), osmo_sccp_simple_server_add_clnt(), ss7_xua_server_set_local_hosts(), and xua_accept_cb().
int ss7_asp_peer_set_hosts2 | ( | struct osmo_ss7_asp_peer * | peer, |
void * | talloc_ctx, | ||
const char *const * | hosts, | ||
size_t | host_cnt, | ||
int | idx_primary | ||
) |
Set (copy) addresses for a given ASP peer.
Previous addresses are freed.
[in] | peer | Application Server Process peer whose addresses are to be set. |
[in] | talloc_ctx | talloc context used to allocate new addresses. |
[in] | hosts | Array of strings containing IP addresses. |
[in] | host_cnt | Number of strings in hosts |
[in] | idx_primary | Index in "hosts" array marking the SCTP Primary Address, -1 if no explicit Primary Address set |
References osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, and osmo_ss7_asp_peer::idx_primary.
Referenced by ss7_asp_peer_set_hosts().
int ss7_asp_peer_snprintf | ( | char * | buf, |
size_t | buf_len, | ||
struct osmo_ss7_asp_peer * | peer | ||
) |
References osmo_ss7_asp_peer::host, osmo_ss7_asp_peer::host_cnt, osmo_ss7_asp_peer::idx_primary, len, and osmo_ss7_asp_peer::port.
Referenced by osmo_ss7_asp_restart(), show_one_asp(), ss7_xua_server_bind(), and vty_dump_xua_server().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <sigtran_sap.h>
Data Fields | |
uint32_t | route_ctx |
uint32_t | status |
uint32_t osmo_xlm_prim_rk_dereg::route_ctx |
Referenced by handle_rkey_dereg_resp(), and osmo_xlm_sap_down().
uint32_t osmo_xlm_prim_rk_dereg::status |
Referenced by handle_rkey_dereg_resp().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <sccp_sap.h>
Data Fields | |
enum osmo_sccp_originator | originator |
uint32_t | cause |
uint32_t | conn_id |
uint32_t osmo_scu_reset_param::cause |
uint32_t osmo_scu_reset_param::conn_id |
Referenced by scu_prim_conn_id().
enum osmo_sccp_originator osmo_scu_reset_param::originator |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <sccp_sap.h>
Data Fields | |
struct osmo_prim_hdr | oph |
union { | |
struct osmo_scu_connect_param connect | |
struct osmo_scu_data_param data | |
struct osmo_scu_disconn_param disconnect | |
struct osmo_scu_reset_param reset | |
struct osmo_scu_unitdata_param unitdata | |
struct osmo_scu_notice_param notice | |
struct osmo_scu_state_param state | |
struct osmo_scu_pcstate_param pcstate | |
} | u |
struct osmo_scu_connect_param osmo_scu_prim::connect |
struct osmo_scu_data_param osmo_scu_prim::data |
Referenced by osmo_sccp_tx_data(), scu_gen_encode_and_send(), and scu_prim_conn_id().
struct osmo_scu_disconn_param osmo_scu_prim::disconnect |
struct osmo_scu_notice_param osmo_scu_prim::notice |
Referenced by sclc_rx_cldr().
struct osmo_prim_hdr osmo_scu_prim::oph |
Referenced by osmo_sccp_tx_conn_req(), osmo_sccp_tx_conn_resp_msg(), osmo_sccp_tx_data(), osmo_sccp_tx_disconn_data(), osmo_sccp_tx_unitdata(), osmo_sccp_user_sap_down(), osmo_sccp_user_sap_down_nofree(), sccp_lbcs_local_bcast_pcstate(), sccp_lbcs_local_bcast_state(), sccp_sclc_user_sap_down(), sccp_sclc_user_sap_down_nofree(), sccp_scmg_tx(), sccp_user_prim_up(), sclc_rx_cldr(), sclc_rx_cldt(), scmg_prim_cb(), scu_gen_encode_and_send(), scu_prim_alloc(), scu_prim_conn_id(), xua_drop_data_check_drop(), xua_gen_msg_cl(), xua_gen_msg_co(), xua_gen_relre(), xua_opt_data_cache_keep(), and xua_opt_data_length_lim().
struct osmo_scu_pcstate_param osmo_scu_prim::pcstate |
Referenced by sccp_lbcs_local_bcast_pcstate().
struct osmo_scu_reset_param osmo_scu_prim::reset |
Referenced by scu_prim_conn_id().
struct osmo_scu_state_param osmo_scu_prim::state |
Referenced by sccp_lbcs_local_bcast_state().
union { ... } osmo_scu_prim::u |
Referenced by osmo_sccp_tx_conn_req(), osmo_sccp_tx_conn_resp_msg(), osmo_sccp_tx_data(), osmo_sccp_tx_disconn_data(), osmo_sccp_tx_unitdata(), osmo_sccp_user_sap_down_nofree(), sccp_lbcs_local_bcast_pcstate(), sccp_lbcs_local_bcast_state(), sccp_scmg_tx(), sclc_rx_cldr(), sclc_rx_cldt(), scmg_prim_cb(), scoc_fsm_conn_pend_out(), scoc_fsm_idle(), scu_gen_encode_and_send(), scu_prim_conn_id(), xua_gen_msg_cl(), and xua_gen_msg_co().
struct osmo_scu_unitdata_param osmo_scu_prim::unitdata |
Referenced by osmo_sccp_tx_unitdata(), sccp_scmg_tx(), sclc_rx_cldt(), scmg_prim_cb(), and xua_gen_msg_cl().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
Go to the source code of this file.
Functions | |
struct osmo_fsm_inst * | xua_asp_fsm_start (struct osmo_ss7_asp *asp, enum osmo_ss7_asp_role role, int log_level) |
Start a new ASP finite stae machine for given ASP. More... | |
Variables | |
struct osmo_fsm | xua_asp_fsm |
struct osmo_fsm | ipa_asp_fsm |
enum xua_asp_event |
enum xua_asp_state |
struct osmo_fsm_inst * xua_asp_fsm_start | ( | struct osmo_ss7_asp * | asp, |
enum osmo_ss7_asp_role | role, | ||
int | log_level | ||
) |
Start a new ASP finite stae machine for given ASP.
[in] | asp | Application Server Process for which to start FSM |
[in] | role | Role (ASP, SG, IPSP) of this FSM |
[in] | log_level | Logging Level for ASP FSM logging |
References xua_asp_fsm_priv::asp, osmo_ss7_asp::cfg, ipa_asp_fsm_start(), osmo_ss7_asp::name, OSMO_SS7_ASP_PROT_IPA, osmo_ss7_asp::proto, xua_asp_fsm_priv::role, and xua_asp_fsm.
Referenced by osmo_ss7_asp_restart().
|
extern |
Referenced by ipa_asp_fsm_start(), and osmo_ss7_init().
|
extern |
Referenced by osmo_ss7_init(), and xua_asp_fsm_start().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#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 [] |
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().
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().
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().
void sccp_scmg_rx_mtp_status | ( | struct osmo_sccp_instance * | inst, |
uint32_t | dpc, | ||
enum mtp_unavail_cause | cause | ||
) |
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().
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().
|
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().
|
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_PCSTATE, 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().
|
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().
|
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().
|
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().
|
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().
const struct value_string sccp_scmg_msgt_names[] |
Referenced by sccp_scmg_msgt_name().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <stdint.h>
Go to the source code of this file.
Data Structures | |
struct | xua_common_hdr |
struct | xua_parameter_hdr |
Enumerations | |
enum | { MUA_TAG_RESERVED , MUA_TAG_IDENT_INT , MUA_TAG_UNUSED1 , MUA_TAG_IDENT_TEXT , MUA_TAG_INFO , MUA_TAG_UNUSED2 , MUA_TAG_ROUTING_CTX , MUA_TAG_DIAG_INF , MUA_TAG_IDENT_RANGE , MUA_TAG_BEAT_DATA , MUA_TAG_UNUSED4 , MUA_TAG_TRA_MODE , MUA_TAG_ERR_CODE , MUA_TAG_STATUS , MUA_TAG_UNUSED5 , MUA_TAG_UNUSED6 , MUA_TAG_UNUSED7 , MUA_TAG_ASP_IDENT , MUA_TAG_AFF_PC , MUA_TAG_CORREL_ID } |
Common tag values used by all user adaption layers. More... | |
Functions | |
struct xua_common_hdr | __attribute__ ((packed)) |
Variables | |
uint8_t | version |
uint8_t | spare |
uint8_t | msg_class |
uint8_t | msg_type |
uint32_t | msg_length |
uint8_t | data [0] |
uint16_t | tag |
uint16_t | len |
anonymous enum |
Common tag values used by all user adaption layers.
struct xua_common_hdr __attribute__ | ( | (packed) | ) |
uint8_t data |
Referenced by conn_tmr_cb(), int_tmr_cb(), ipa_asp_allstate(), ipa_asp_fsm_wait_id_get(), ipa_asp_fsm_wait_id_resp(), lm_active(), lm_rkm_reg(), lm_wait_notify(), load_24be(), m3ua_xfer_from_data(), msgb_put_sccp_opt(), msgb_t16l16vp_put(), osmo_sccp_tx_conn_req(), osmo_sccp_tx_conn_resp(), osmo_sccp_tx_data(), osmo_sccp_tx_disconn_data(), osmo_sccp_tx_unitdata(), osmo_sccp_tx_unitdata_ranap(), rel_tmr_cb(), rep_rel_tmr_cb(), rx_inact_tmr_cb(), sccp_longptr_part_consistent(), sccp_ptr_part_consistent(), sccp_to_xua_opt(), scoc_fsm_active(), scoc_fsm_conn_pend_in(), scoc_fsm_conn_pend_out(), scoc_fsm_idle(), scoc_fsm_wait_conn_conf(), sua_parse_gt(), tx_inact_tmr_cb(), xua_as_fsm_active(), xua_as_fsm_inactive(), xua_as_fsm_pending(), xua_asp_allstate(), xua_asp_fsm_active(), xua_asp_fsm_down(), xua_asp_fsm_inactive(), xua_from_msg(), xua_from_msg_common(), and xua_t_ack_cb().
uint16_t len |
Referenced by chop_v4_mapped_on_v6_prefix(), msgb_put_sccp_opt(), msgb_put_sccp_opt_hdr(), msgb_t16l16vp_put(), osmo_sccp_tx_conn_req(), osmo_sccp_tx_conn_resp(), osmo_sccp_tx_data(), osmo_sccp_tx_disconn_data(), osmo_sccp_tx_unitdata(), osmo_sccp_tx_unitdata_ranap(), osmo_ss7_pointcode_print_buf(), sccp_longptr_part_consistent(), show_one_asp_assoc_status_tcp(), show_one_asp_remaddr_tcp(), ss7_asp_peer_snprintf(), xua_from_msg(), xua_from_msg_common(), and xua_msg_add_data().
uint8_t msg_class |
Referenced by msgb_push_m3ua_hdr(), xua_dialect_check_all_mand_ies(), and xua_opt_data_send_cache().
uint32_t msg_length |
Referenced by xua_tcp_segmentation_cb().
uint8_t msg_type |
uint8_t spare |
uint16_t tag |
Referenced by msgb_t16l16vp_put(), msgb_t16l16vp_put_u32(), xua_msg_add_data(), xua_msg_find_tag(), and xua_msg_free_tag().
uint8_t version |
Referenced by xua_from_msg(), and xua_to_msg().
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <sigtran_sap.h>
Data Fields | |
struct osmo_prim_hdr | oph |
union { | |
struct osmo_xlm_prim_notify notify | |
struct osmo_xlm_prim_error error | |
struct osmo_xlm_prim_rk_reg rk_reg | |
struct osmo_xlm_prim_rk_dereg rk_dereg | |
} | u |
struct osmo_xlm_prim_error osmo_xlm_prim::error |
Referenced by m3ua_rx_mgmt_err().
struct osmo_xlm_prim_notify osmo_xlm_prim::notify |
Referenced by lm_active(), lm_wait_notify(), and m3ua_rx_mgmt_ntfy().
struct osmo_prim_hdr osmo_xlm_prim::oph |
Referenced by lm_active(), lm_timer_cb(), lm_wait_notify(), osmo_xlm_sap_down(), xua_asp_send_xlm_prim(), and xua_xlm_prim_alloc().
struct osmo_xlm_prim_rk_dereg osmo_xlm_prim::rk_dereg |
Referenced by handle_rkey_dereg_resp(), and osmo_xlm_sap_down().
struct osmo_xlm_prim_rk_reg osmo_xlm_prim::rk_reg |
Referenced by handle_rkey_dereg_resp(), handle_rkey_reg_resp(), lm_rkm_reg(), lm_timer_cb(), and osmo_xlm_sap_down().
union { ... } osmo_xlm_prim::u |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
#include <errno.h>
#include <osmocom/core/linuxlist.h>
#include <osmocom/core/logging.h>
#include <osmocom/core/talloc.h>
#include <osmocom/core/prim.h>
#include <osmocom/sigtran/osmo_ss7.h>
#include "ss7_user.h"
#include "ss7_internal.h"
Functions | |
struct osmo_ss7_user * | osmo_ss7_user_create (struct osmo_ss7_instance *inst, const char *name) |
void | osmo_ss7_user_destroy (struct osmo_ss7_user *user) |
struct osmo_ss7_instance * | osmo_ss7_user_get_instance (const struct osmo_ss7_user *user) |
void | osmo_ss7_user_set_prim_cb (struct osmo_ss7_user *user, osmo_prim_cb prim_cb) |
void | osmo_ss7_user_set_priv (struct osmo_ss7_user *user, void *priv) |
void * | osmo_ss7_user_get_priv (const struct osmo_ss7_user *user) |
int | osmo_ss7_user_register (struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user) |
Register a MTP user for a given service indicator. More... | |
int | osmo_ss7_user_unregister (struct osmo_ss7_instance *inst, uint8_t service_ind, struct osmo_ss7_user *user) |
Unregister a MTP user for a given service indicator. More... | |
int | ss7_mtp_to_user (struct osmo_ss7_instance *inst, struct osmo_mtp_prim *omp) |
struct osmo_ss7_user * osmo_ss7_user_create | ( | struct osmo_ss7_instance * | inst, |
const char * | name | ||
) |
References osmo_ss7_user::inst, and osmo_ss7_user::name.
Referenced by osmo_sccp_instance_create().
void osmo_ss7_user_destroy | ( | struct osmo_ss7_user * | user | ) |
Referenced by osmo_sccp_instance_destroy().
struct osmo_ss7_instance * osmo_ss7_user_get_instance | ( | const struct osmo_ss7_user * | user | ) |
References osmo_ss7_user::inst, and osmo_ss7_instance::user.
void * osmo_ss7_user_get_priv | ( | const struct osmo_ss7_user * | user | ) |
References osmo_ss7_user::priv, and osmo_ss7_instance::user.
int osmo_ss7_user_register | ( | struct osmo_ss7_instance * | inst, |
uint8_t | service_ind, | ||
struct osmo_ss7_user * | user | ||
) |
Register a MTP user for a given service indicator.
[in] | inst | SS7 instance for which we register the user |
[in] | service_ind | Service (ISUP, SCCP, ...) |
[in] | user | SS7 user (including primitive call-back) |
References osmo_ss7_user::inst, osmo_ss7_user::name, osmo_ss7_user::priv, and osmo_ss7_instance::user.
Referenced by osmo_sccp_instance_create().
void osmo_ss7_user_set_prim_cb | ( | struct osmo_ss7_user * | user, |
osmo_prim_cb | prim_cb | ||
) |
References osmo_ss7_user::prim_cb, and osmo_ss7_instance::user.
Referenced by osmo_sccp_instance_create().
void osmo_ss7_user_set_priv | ( | struct osmo_ss7_user * | user, |
void * | priv | ||
) |
References osmo_ss7_user::priv, and osmo_ss7_instance::user.
Referenced by osmo_sccp_instance_create().
int osmo_ss7_user_unregister | ( | struct osmo_ss7_instance * | inst, |
uint8_t | service_ind, | ||
struct osmo_ss7_user * | user | ||
) |
Unregister a MTP user for a given service indicator.
[in] | inst | SS7 instance for which we register the user |
[in] | service_ind | Service (ISUP, SCCP, ...) |
[in] | user | (optional) SS7 user. If present, we will not unregister other users |
References osmo_ss7_user::inst, and osmo_ss7_instance::user.
Referenced by osmo_sccp_instance_destroy().
int ss7_mtp_to_user | ( | struct osmo_ss7_instance * | inst, |
struct osmo_mtp_prim * | omp | ||
) |
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|
libosmo-sigtran 2.0.0.52-6412
Osmocom SIGTRAN library
|