libosmo-sigtran 2.1.0.172-a2b0 Osmocom SIGTRAN library

Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions | Variables
ss7_as_loadshare_tcap.c File Reference
`#include <errno.h>`
`#include <osmocom/core/byteswap.h>`
`#include <osmocom/core/linuxlist.h>`
`#include <osmocom/core/logging.h>`
`#include <osmocom/core/talloc.h>`
`#include <osmocom/netif/ipa.h>`
`#include <osmocom/sccp/sccp_types.h>`
`#include <osmocom/sigtran/osmo_ss7.h>`
`#include <osmocom/sigtran/protocol/m3ua.h>`
`#include <osmocom/sigtran/protocol/sua.h>`
`#include <osmocom/sigtran/protocol/mtp.h>`
`#include <osmocom/sigtran/sccp_sap.h>`
`#include <osmocom/tcap/OCTET_STRING.h>`
`#include <osmocom/tcap/TCAP_TCMessage.h>`
`#include "ss7_as.h"`
`#include "ss7_as_loadshare_tcap.h"`
`#include "tcap_transaction_tracking.h"`
`#include "ss7_asp.h"`
`#include "ss7_internal.h"`
`#include "xua_internal.h"`

## Data Structures
struct | tcap_parsed
struct | ipa_tcap_routing_hdr
struct | ipa_tcap_routing_add_range
struct | ipa_tcap_routing_nack

## Macros
#define | OTID_SET 1 << 0
#define | DTID_SET 1 << 1

## Enumerations
enum | ipa_tcap_routing_msg_types { MT_TID_ADD_RANGE = 0x01 , MT_TID_ACK = 0x02 , MT_TID_NACK = 0x03 }
enum | ipa_tcap_routing_nack_error { NACK_ERR_SYS_FAILURE = 0x01 , NACK_ERR_EALREADY = 0x72 }

## Functions
static uint32_t | tcap_id_from_octet_str (const OCTET_STRING_t *src)
static int | parse_tcap (struct osmo_ss7_as *as, const uint8_t *data, size_t len, struct tcap_parsed *ids)
static uint32_t | tcap_gen_hash (uint32_t pc, uint8_t ssn)
static uint64_t | tcap_gen_hash_addr (const struct osmo_sccp_addr *addr)
static struct osmo_ss7_asp * | tcap_hlist_get (struct osmo_ss7_as *as, uint32_t pc, uint8_t ssn, uint32_t tid)
struct osmo_ss7_asp * | find_asp_by_tcap_id (struct osmo_ss7_as *as, struct osmo_sccp_addr *calling_addr, struct osmo_sccp_addr *called_addr, uint32_t otid)
static struct tcap_range * | tcap_overlap_tid (struct osmo_ss7_as *as, uint32_t pc, uint8_t ssn, uint32_t tid_start, uint32_t tid_end)
static struct osmo_ss7_asp * | find_asp_no_tcap_range (struct osmo_ss7_as *as)
static bool | ssn_contains_tcap (uint8_t ssn)
int | ss7_asp_tcap_rx_sccp (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp, uint32_t opc, uint32_t dpc, struct msgb *sccp_msg)
| Traffic from the TCAP ASP -> AS -> osmo-stp, only used to update transaction tracking.
static int | sent_back_utds (struct osmo_ss7_as *as, const struct xua_msg *old_xua, const struct xua_msg *old_sua, uint8_t cause_code)
static int | asp_loadshare_tcap_sccp (struct osmo_ss7_asp **rasp, struct osmo_ss7_as *as, uint32_t opc, uint32_t dpc, struct xua_msg *xua, struct msgb *sccp_msg)
| Traffic STP -> AS -> ASP (Tx path) Loadshare towards the TCAP routing AS.
int | ss7_as_select_asp_loadshare_tcap (struct osmo_ss7_asp **asp, struct osmo_ss7_as *as, struct xua_msg *xua)
| Entrypoint for M3UA messages towards the TCAP nodes.
struct ipa_tcap_routing_hdr | __attribute__ ((packed))
static struct msgb * | ipa_tcap_routing_alloc (uint32_t seq_nr, uint8_t mt)
static int | ipa_tx_tcap_routing_ack (struct osmo_ss7_asp *asp, uint32_t seq_nr)
static int | ipa_tx_tcap_routing_nack (struct osmo_ss7_asp *asp, uint32_t seq_nr, uint8_t err_code)
int | ipa_rx_msg_osmo_ext_tcap_routing (struct osmo_ss7_asp *asp, struct msgb *msg)
| Entrypoint for IPA TCAP Routing messages, parses and handles those.
bool | tcap_range_matches (const struct tcap_range *tcrng, uint32_t tid)
| Checks if a tid matches to a specific range.
bool | tcap_range_overlaps (const struct tcap_range *a, uint32_t tid_start, uint32_t tid_end)
| Checks if a tid rnage overlaps with another range.
struct tcap_range * | tcap_range_alloc (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp, uint32_t tid_start, uint32_t tid_end, uint32_t pc, uint8_t ssn)
| Create and alloc a new TCAP range entry.
void | tcap_range_free (struct tcap_range *tcrng)
| Remove and free a single TCAP range entry.
static void | tcap_range_as_update_pc_ssn (struct osmo_ss7_as *as)
static void | _tcap_range_asp_down (struct osmo_ss7_as *as, struct osmo_ss7_asp *asp)
void | tcap_asp_down (struct osmo_ss7_asp *asp)
| Called when the ASP is going down or free'd.
void | tcap_enable (struct osmo_ss7_as *as)
void | tcap_disable (struct osmo_ss7_as *as)

## Variables
uint8_t | mt
uint32_t | seq
uint8_t | data [0]
uint32_t | tid_start
uint32_t | tid_end
uint32_t | pc
uint8_t | ssn
uint8_t | err

## Macro Definition Documentation

## ◆ DTID_SET

#define DTID_SET 1 << 1

## ◆ OTID_SET

#define OTID_SET 1 << 0

## Enumeration Type Documentation

## ◆ ipa_tcap_routing_msg_types

enum ipa_tcap_routing_msg_types

Enumerator
MT_TID_ADD_RANGE |
MT_TID_ACK |
MT_TID_NACK |

## ◆ ipa_tcap_routing_nack_error

enum ipa_tcap_routing_nack_error

Enumerator
NACK_ERR_SYS_FAILURE |
NACK_ERR_EALREADY |

## Function Documentation

## ◆ __attribute__()

struct ipa_tcap_routing_hdr __attribute__ | ( | (packed) |  | ) |

References asp_loadshare_tcap_sccp(), xua_msg_part::dat, data_hdr_from_m3ua(), m3ua_data_hdr::dpc, xua_msg::hdr, xua_msg_part::len, LOGPAS, M3UA_IEI_PROT_DATA, M3UA_MSGC_XFER, M3UA_XFER_DATA, xua_common_hdr::msg_class, xua_common_hdr::msg_type, MTP_SI_SCCP, NULL, m3ua_data_hdr::opc, m3ua_data_hdr::si, and xua_msg_find_tag().

## ◆ _tcap_range_asp_down()

static void _tcap_range_asp_down | ( | struct osmo_ss7_as * | as,
|  | struct osmo_ss7_asp * | asp
| ) |  |
| static

References osmo_ss7_as::tcap, tcap_range_free(), and tcap_trxn_track_free_asp_entries().

Referenced by tcap_asp_down().

## ◆ asp_loadshare_tcap_sccp()

static int asp_loadshare_tcap_sccp | ( | struct osmo_ss7_asp ** | rasp,
|  | struct osmo_ss7_as * | as,
|  | uint32_t | opc,
|  | uint32_t | dpc,
|  | struct xua_msg * | xua,
|  | struct msgb * | sccp_msg
| ) |  |
| static

Traffic STP -> AS -> ASP (Tx path) Loadshare towards the TCAP routing AS.

Parameters

  [out] | rasp | the selected ASP if any, can be NULL
  [in] | as |
  [in] | opc | the OPC from MTP
  [in] | dpc | the DPC from MTP
  [in] | sccp_msg | the SCCP message. Callee takes ownership.

Returns

References xua_msg_part::dat, dpc, tcap_parsed::dtid, DTID_SET, find_asp_by_tcap_id(), find_asp_no_tcap_range(), xua_msg::hdr, xua_msg_part::len, LOGPAS, xua_common_hdr::msg_class, NULL, opc, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, osmo_sccp_to_xua(), tcap_parsed::otid, OTID_SET, parse_tcap(), osmo_sccp_addr::pc, osmo_sccp_addr::presence, tcap_parsed::present, sent_back_utds(), osmo_sccp_addr::ssn, ssn_contains_tcap(), sua_addr_parse(), SUA_CL_CLDT, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_SRC_ADDR, SUA_MSGC_CL, tcap_trxn_track_begin(), tcap_trxn_track_continue(), tcap_trxn_track_end(), xua_msg_find_tag(), and xua_msg_free().

Referenced by __attribute__().

## ◆ find_asp_by_tcap_id()

struct osmo_ss7_asp * find_asp_by_tcap_id | ( | struct osmo_ss7_as * | as,
|  | struct osmo_sccp_addr * | calling_addr,
|  | struct osmo_sccp_addr * | called_addr,
|  | uint32_t | otid
| ) |  |

References osmo_ss7_as::contains_pc, osmo_ss7_as::contains_ssn, NULL, OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, osmo_sccp_addr::pc, pc, osmo_sccp_addr::presence, osmo_sccp_addr::ssn, ssn, osmo_ss7_as::tcap, tcap_hlist_get(), TCAP_PC_WILDCARD, and TCAP_SSN_WILDCARD.

Referenced by asp_loadshare_tcap_sccp().

## ◆ find_asp_no_tcap_range()

static struct osmo_ss7_asp * find_asp_no_tcap_range | ( | struct osmo_ss7_as * | as | ) |
| static

References osmo_ss7_as::asps, osmo_ss7_as::cfg, osmo_ss7_asp::enabled, NULL, and osmo_ss7_asp::tcap.

Referenced by asp_loadshare_tcap_sccp().

## ◆ ipa_rx_msg_osmo_ext_tcap_routing()

int ipa_rx_msg_osmo_ext_tcap_routing | ( | struct osmo_ss7_asp * | asp,
|  | struct msgb * | msg
| ) |  |

Entrypoint for IPA TCAP Routing messages, parses and handles those.

Parameters

  asp |
  msg | the message buffer. Callee takes ownership!

Returns
  0 on success

References osmo_ss7_as::contains_pc, osmo_ss7_as::contains_ssn, osmo_ss7_asp::enabled, ipa_find_as_for_asp(), ipa_tx_tcap_routing_ack(), ipa_tx_tcap_routing_nack(), LOGPASP, ipa_tcap_routing_hdr::mt, MT_TID_ACK, MT_TID_ADD_RANGE, MT_TID_NACK, NACK_ERR_EALREADY, NACK_ERR_SYS_FAILURE, ipa_tcap_routing_add_range::pc, ipa_tcap_routing_hdr::seq, ipa_tcap_routing_add_range::ssn, osmo_ss7_as::tcap, osmo_ss7_asp::tcap, tcap_overlap_tid(), TCAP_PC_WILDCARD, tcap_range_alloc(), TCAP_SSN_WILDCARD, ipa_tcap_routing_add_range::tid_end, and ipa_tcap_routing_add_range::tid_start.

Referenced by ipa_rx_msg().

## ◆ ipa_tcap_routing_alloc()

static struct msgb * ipa_tcap_routing_alloc | ( | uint32_t | seq_nr,
|  | uint8_t | mt
| ) |  |
| static

References mt, ipa_tcap_routing_hdr::mt, and NULL.

Referenced by ipa_tx_tcap_routing_ack(), and ipa_tx_tcap_routing_nack().

## ◆ ipa_tx_tcap_routing_ack()

static int ipa_tx_tcap_routing_ack | ( | struct osmo_ss7_asp * | asp,
|  | uint32_t | seq_nr
| ) |  |
| static

References ipa_tcap_routing_alloc(), MT_TID_ACK, and osmo_ss7_asp_send().

Referenced by ipa_rx_msg_osmo_ext_tcap_routing().

## ◆ ipa_tx_tcap_routing_nack()

static int ipa_tx_tcap_routing_nack | ( | struct osmo_ss7_asp * | asp,
|  | uint32_t | seq_nr,
|  | uint8_t | err_code
| ) |  |
| static

References ipa_tcap_routing_alloc(), MT_TID_NACK, and osmo_ss7_asp_send().

Referenced by ipa_rx_msg_osmo_ext_tcap_routing().

## ◆ parse_tcap()

static int parse_tcap | ( | struct osmo_ss7_as * | as,
|  | const uint8_t * | data,
|  | size_t | len,
|  | struct tcap_parsed * | ids
| ) |  |
| static

References data, tcap_parsed::dtid, DTID_SET, len, LOGPAS, tcap_parsed::otid, OTID_SET, tcap_parsed::present, and tcap_id_from_octet_str().

Referenced by asp_loadshare_tcap_sccp(), and ss7_asp_tcap_rx_sccp().

## ◆ sent_back_utds()

static int sent_back_utds | ( | struct osmo_ss7_as * | as,
|  | const struct xua_msg * | old_xua,
|  | const struct xua_msg * | old_sua,
|  | uint8_t | cause_code
| ) |  |
| static

References data_hdr_from_m3ua(), osmo_mtp_transfer_param::dpc, m3ua_data_hdr::dpc, xua_msg::hdr, osmo_ss7_as::inst, m3ua_hmdc_rx_from_l2(), m3ua_xfer_from_data(), xua_common_hdr::msg_class, xua_common_hdr::msg_type, xua_msg::mtp, NULL, osmo_mtp_transfer_param::opc, m3ua_data_hdr::opc, osmo_sua_to_sccp(), SUA_CL_CLDR, SUA_CL_CLDT, SUA_IEI_CAUSE, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_PROTO_CLASS, SUA_IEI_SRC_ADDR, SUA_MSGC_CL, SUA_VERSION, xua_common_hdr::version, XUA_HDR, xua_msg_add_u32(), xua_msg_alloc(), xua_msg_copy_part(), xua_msg_free(), and xua_msg_get_u32p().

Referenced by asp_loadshare_tcap_sccp().

## ◆ ss7_as_select_asp_loadshare_tcap()

int ss7_as_select_asp_loadshare_tcap | ( | struct osmo_ss7_asp ** | asp,
|  | struct osmo_ss7_as * | as,
|  | struct xua_msg * | xua
| ) |  |

Entrypoint for M3UA messages towards the TCAP nodes.

Parameters

  [out] | asp | Result pointer of the selected asp. Set to NULL if return code is != 0
  [in] | as |
  [in] | xua |

Returns
  0 on success

Referenced by ss7_as_select_asp().

## ◆ ss7_asp_tcap_rx_sccp()

int ss7_asp_tcap_rx_sccp | ( | struct osmo_ss7_as * | as,
|  | struct osmo_ss7_asp * | asp,
|  | uint32_t | opc,
|  | uint32_t | dpc,
|  | struct msgb * | sccp_msg
| ) |  |

Traffic from the TCAP ASP -> AS -> osmo-stp, only used to update transaction tracking.

Parameters

  as |
  asp | asp sent the sccp_msg message towards osmo-stp
  opc | M3UA opc
  dpc | M3UA DPC
  sccp_msg | pointer to a msg.

Returns
  0 on successful handling, < 0 on error cases (missing IE, decoding errors)

References xua_msg_part::dat, dpc, tcap_parsed::dtid, DTID_SET, xua_msg::hdr, xua_msg_part::len, LOGPAS, xua_common_hdr::msg_class, NULL, opc, OSMO_SCCP_ADDR_T_PC, osmo_sccp_to_xua(), tcap_parsed::otid, OTID_SET, parse_tcap(), osmo_sccp_addr::pc, osmo_sccp_addr::presence, tcap_parsed::present, osmo_sccp_addr::ssn, ssn_contains_tcap(), sua_addr_parse(), SUA_CL_CLDT, SUA_IEI_DATA, SUA_IEI_DEST_ADDR, SUA_IEI_SRC_ADDR, SUA_MSGC_CL, tcap_trxn_track_continue(), tcap_trxn_track_create_entry(), tcap_trxn_track_end(), and xua_msg_find_tag().

Referenced by ipa_rx_msg_sccp().

## ◆ ssn_contains_tcap()

static bool ssn_contains_tcap | ( | uint8_t | ssn | ) |
| static

References OSMO_SCCP_SSN_AUC, OSMO_SCCP_SSN_CAP, OSMO_SCCP_SSN_EIR, OSMO_SCCP_SSN_GGSN_MAP, OSMO_SCCP_SSN_GMLC_MAP, OSMO_SCCP_SSN_gsmSCF_MAP, OSMO_SCCP_SSN_HLR, OSMO_SCCP_SSN_MAP, OSMO_SCCP_SSN_MSC, OSMO_SCCP_SSN_SGSN_MAP, OSMO_SCCP_SSN_SIWF_MAP, OSMO_SCCP_SSN_TC_TEST, OSMO_SCCP_SSN_VLR, and ssn.

Referenced by asp_loadshare_tcap_sccp(), and ss7_asp_tcap_rx_sccp().

## ◆ tcap_asp_down()

void tcap_asp_down | ( | struct osmo_ss7_asp * | asp | ) |

Called when the ASP is going down or free'd.

Parameters

  [in] | asp | the asp which is going to be destroyed

References _tcap_range_asp_down(), osmo_ss7_instance::as_list, osmo_ss7_as::cfg, osmo_ss7_as::contains_pc, osmo_ss7_as::contains_ssn, osmo_ss7_as::enabled, osmo_ss7_asp::enabled, osmo_ss7_as::inst, osmo_ss7_asp::inst, osmo_ss7_as::list, osmo_ss7_as::loadshare, LOGPASP, osmo_ss7_as_has_asp(), osmo_ss7_as::tcap, osmo_ss7_asp::tcap, and tcap_range_as_update_pc_ssn().

Referenced by osmo_ss7_as_del_asp(), ss7_asp_xua_srv_conn_closed_cb(), and xua_cli_close().

## ◆ tcap_disable()

void tcap_disable | ( | struct osmo_ss7_as * | as | ) |

References osmo_ss7_as::cfg, osmo_ss7_as::contains_pc, osmo_ss7_as::contains_ssn, osmo_ss7_as::enabled, osmo_ss7_as::loadshare, osmo_ss7_as::tcap, tcap_trxn_track_free_all_entries(), and tcap_trxn_track_garbage_collect_stop().

Referenced by DEFUN_USRATTR(), DEFUN_USRATTR(), DEFUN_USRATTR(), and osmo_ss7_as_destroy().

## ◆ tcap_enable()

void tcap_enable | ( | struct osmo_ss7_as * | as | ) |

References osmo_ss7_as::cfg, osmo_ss7_as::enabled, osmo_ss7_as::loadshare, osmo_ss7_as::tcap, and tcap_trxn_track_garbage_collect_start().

Referenced by DEFUN_USRATTR().

## ◆ tcap_gen_hash()

static uint32_t tcap_gen_hash | ( | uint32_t | pc,
|  | uint8_t | ssn
| ) |  |
| inline static

References pc, and ssn.

Referenced by tcap_gen_hash_addr(), tcap_hlist_get(), tcap_overlap_tid(), and tcap_range_alloc().

## ◆ tcap_gen_hash_addr()

static uint64_t tcap_gen_hash_addr | ( | const struct osmo_sccp_addr * | addr | ) |
| inline static

References OSMO_SCCP_ADDR_T_PC, OSMO_SCCP_ADDR_T_SSN, osmo_sccp_addr::pc, pc, osmo_sccp_addr::presence, osmo_sccp_addr::ssn, ssn, and tcap_gen_hash().

## ◆ tcap_hlist_get()

static struct osmo_ss7_asp * tcap_hlist_get | ( | struct osmo_ss7_as * | as,
|  | uint32_t | pc,
|  | uint8_t | ssn,
|  | uint32_t | tid
| ) |  |
| static

References osmo_ss7_asp::list, NULL, pc, ssn, osmo_ss7_as::tcap, tcap_gen_hash(), and tcap_range_matches().

Referenced by find_asp_by_tcap_id().

## ◆ tcap_id_from_octet_str()

static uint32_t tcap_id_from_octet_str | ( | const OCTET_STRING_t * | src | ) |
| inline static

Referenced by parse_tcap().

## ◆ tcap_overlap_tid()

static struct tcap_range * tcap_overlap_tid | ( | struct osmo_ss7_as * | as,
|  | uint32_t | pc,
|  | uint8_t | ssn,
|  | uint32_t | tid_start,
|  | uint32_t | tid_end
| ) |  |
| static

References NULL, pc, ssn, osmo_ss7_as::tcap, tcap_gen_hash(), tcap_range_overlaps(), tid_end, and tid_start.

Referenced by ipa_rx_msg_osmo_ext_tcap_routing().

## ◆ tcap_range_alloc()

struct tcap_range * tcap_range_alloc | ( | struct osmo_ss7_as * | as,
|  | struct osmo_ss7_asp * | asp,
|  | uint32_t | tid_start,
|  | uint32_t | tid_end,
|  | uint32_t | pc,
|  | uint8_t | ssn
| ) |  |

Create and alloc a new TCAP range entry.

Parameters

  [in] | as |
  [in] | asp |
  [in] | tid_start |
  [in] | tid_end |
  [in] | pc |
  [in] | ssn |

Returns
  the TCAP range entry or NULL

References osmo_ss7_as::list, NULL, pc, ssn, osmo_ss7_as::tcap, tcap_gen_hash(), tid_end, and tid_start.

Referenced by ipa_rx_msg_osmo_ext_tcap_routing().

## ◆ tcap_range_as_update_pc_ssn()

static void tcap_range_as_update_pc_ssn | ( | struct osmo_ss7_as * | as | ) |
| static

References osmo_ss7_as::contains_pc, osmo_ss7_as::contains_ssn, osmo_ss7_as::tcap, TCAP_PC_WILDCARD, and TCAP_SSN_WILDCARD.

Referenced by tcap_asp_down().

## ◆ tcap_range_free()

void tcap_range_free | ( | struct tcap_range * | tcrng | ) |

Remove and free a single TCAP range entry.

Parameters

  [in] | tcrng |

Referenced by _tcap_range_asp_down().

## ◆ tcap_range_matches()

bool tcap_range_matches | ( | const struct tcap_range * | tcrng,
|  | uint32_t | tid
| ) |  |

Checks if a tid matches to a specific range.

Parameters

  tcrng |
  tid |

Returns
  true if tid is included in the range

Referenced by tcap_hlist_get(), and tcap_range_overlaps().

## ◆ tcap_range_overlaps()

bool tcap_range_overlaps | ( | const struct tcap_range * | a,
|  | uint32_t | tid_start,
|  | uint32_t | tid_end
| ) |  |

Checks if a tid rnage overlaps with another range.

Parameters

  a |
  tid_start |
  tid_end |

Returns

References tcap_range_matches(), tid_end, and tid_start.

Referenced by tcap_overlap_tid().

## Variable Documentation

## ◆ data

uint8_t data

Referenced by conn_tmr_cb(), dispatch_to_all_as(), 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(), parse_tcap(), 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(), tcap_trxn_track_garbage_collect_cb(), 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().

## ◆ err

uint8_t err

Referenced by _setsockopt_peer_primary_addr(), m3ua_gen_error_msg(), m3ua_rx_msg(), osmo_ss7_pointcode_parse(), sccp_to_xua_err(), sua_rx_msg(), sua_to_sccp_err(), and tcap_trxn_track_create_entry().

## ◆ mt

uint8_t mt

Referenced by ipa_tcap_routing_alloc().

## ◆ pc

uint32_t pc

Referenced by _rout_key(), DEFUN(), DEFUN(), DEFUN(), DEFUN_ATTR(), DEFUN_ATTR(), DEFUN_ATTR(), DEFUN_ATTR(), DEFUN_ATTR(), find_asp_by_tcap_id(), format_affected_pcs_c(), gen_hash(), gen_hash_addr(), osmo_sccp_simple_server(), osmo_sccp_simple_server_add_clnt(), osmo_sccp_simple_server_on_ss7_id(), osmo_sccp_user_bind_pc(), osmo_sccp_user_find(), osmo_ss7_pc_is_local(), osmo_ss7_pc_is_valid(), osmo_ss7_pc_normalize(), osmo_ss7_pointcode_print(), osmo_ss7_pointcode_print2(), osmo_ss7_pointcode_print_buf(), pc_comp_shift_and_mask(), sccp_scmg_tx(), sccp_user_alloc(), sccp_user_bind_pc(), sccp_user_find(), ss7_combined_linkset_alloc(), ss7_linkset_find_or_create(), ss7_route_alloc(), ss7_route_create(), ss7_route_table_find_or_create_combined_linkset(), tcap_gen_hash(), tcap_gen_hash_addr(), tcap_hlist_get(), tcap_overlap_tid(), tcap_range_alloc(), tx_daud_pc(), xua_snm_pc_available_to_sccp(), xua_snm_rx_daud(), xua_snm_rx_dava(), xua_snm_rx_duna(), xua_snm_scon_to_sccp(), xua_snm_srm_pc_available(), and xua_snm_srm_pc_available_single().

## ◆ seq

uint32_t seq

## ◆ ssn

uint8_t ssn

Referenced by _rout_key(), DEFUN(), find_asp_by_tcap_id(), gen_hash(), gen_hash_addr(), osmo_sccp_addr_set_ssn(), osmo_sccp_local_addr_by_instance(), osmo_sccp_user_bind(), osmo_sccp_user_bind_pc(), osmo_sccp_user_find(), sccp_scmg_rx_ssn_allowed(), sccp_scmg_rx_ssn_prohibited(), sccp_scmg_tx(), sccp_user_alloc(), sccp_user_bind_pc(), sccp_user_find(), ssn_contains_tcap(), sua_encode_daud(), sua_encode_dava(), sua_encode_duna(), sua_tx_snm_congestion(), tcap_gen_hash(), tcap_gen_hash_addr(), tcap_hlist_get(), tcap_overlap_tid(), tcap_range_alloc(), xua_snm_rx_dava(), and xua_snm_rx_duna().

## ◆ tid_end

uint32_t tid_end

Referenced by tcap_overlap_tid(), tcap_range_alloc(), and tcap_range_overlaps().

## ◆ tid_start

uint32_t tid_start

Referenced by tcap_overlap_tid(), tcap_range_alloc(), and tcap_range_overlaps().