libosmo-sigtran: src/mtp3_hmdt.c File Reference

libosmo-sigtran 2.2.1.99-1c6a Osmocom SIGTRAN library

Functions
mtp3_hmdt.c File Reference
`#include <osmocom/core/logging.h>`
`#include <osmocom/sigtran/protocol/m3ua.h>`
`#include <osmocom/sigtran/protocol/sua.h>`
`#include <osmocom/sigtran/osmo_ss7.h>`
`#include <osmocom/sigtran/mtp_sap.h>`
`#include "ss7_as.h"`
`#include "ss7_instance.h"`
`#include "ss7_internal.h"`
`#include "ss7_route.h"`
`#include "ss7_route_table.h"`
`#include "ss7_user.h"`
`#include "xua_internal.h"`
`#include "xua_msg.h"`

## Functions
static struct xua_msg * | gen_dupu_ret_msg (enum osmo_ss7_asp_protocol proto, uint8_t user_part, const struct xua_msg *orig_xua)
static int | mtp3_hmdt_rx_msg_for_local_unavailable_part (struct osmo_ss7_instance *inst, uint8_t user_part, const struct xua_msg *orig_xua)
static struct osmo_mtp_prim * | m3ua_to_xfer_ind (struct xua_msg *xua)
static int | deliver_to_mtp_user (const struct osmo_ss7_user *osu, struct xua_msg *xua)
int | mtp3_hmdt_message_for_distribution (struct osmo_ss7_instance *inst, struct xua_msg *xua)

## Function Documentation

## ◆ deliver_to_mtp_user()

static int deliver_to_mtp_user | ( | const struct osmo_ss7_user * | osu,
|  | struct xua_msg * | xua
| ) |  |
| static

References m3ua_to_xfer_ind(), xua_msg::mtp, ss7_user_mtp_sap_prim_up(), osmo_mtp_prim::transfer, osmo_mtp_prim::u, and xua_msg_free().

Referenced by mtp3_hmdt_message_for_distribution().

## ◆ gen_dupu_ret_msg()

static struct xua_msg * gen_dupu_ret_msg | ( | enum osmo_ss7_asp_protocol | proto,
|  | uint8_t | user_part,
|  | const struct xua_msg * | orig_xua
| ) |  |
| static

References osmo_mtp_transfer_param::dpc, m3ua_encode_dupu(), M3UA_IEI_ROUTE_CTX, xua_msg::mtp, MTP_UNAVAIL_C_UNKNOWN, osmo_mtp_transfer_param::opc, OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, sua_encode_dupu(), SUA_IEI_ROUTE_CTX, xua_msg_find_tag(), and xua_msg_part_get_u32().

Referenced by mtp3_hmdt_rx_msg_for_local_unavailable_part().

## ◆ m3ua_to_xfer_ind()

static struct osmo_mtp_prim * m3ua_to_xfer_ind | ( | struct xua_msg * | xua | ) |
| static

References xua_msg_part::dat, xua_msg_part::len, m3ua_dh_to_xfer_param(), M3UA_IEI_PROT_DATA, mtp_prim_xfer_ind_alloc(), NULL, osmo_mtp_prim::transfer, osmo_mtp_prim::u, and xua_msg_find_tag().

Referenced by deliver_to_mtp_user().

## ◆ mtp3_hmdt_message_for_distribution()

int mtp3_hmdt_message_for_distribution | ( | struct osmo_ss7_instance * | inst,
|  | struct xua_msg * | xua
| ) |  |

References data_hdr_from_m3ua(), deliver_to_mtp_user(), xua_msg::hdr, osmo_ss7_user::inst, LOGSS7, M3UA_MSGC_SNM, M3UA_MSGC_XFER, M3UA_XFER_DATA, xua_common_hdr::msg_class, xua_common_hdr::msg_type, mtp3_hmdt_rx_msg_for_local_unavailable_part(), osmo_ss7_user_find_by_si(), m3ua_data_hdr::si, and xua_msg_free().

Referenced by m3ua_rx_xfer(), mtp3_hmdc_rx_from_l2(), and mtp3_rtpc_rx_msg_for_inaccessible_sp().

## ◆ mtp3_hmdt_rx_msg_for_local_unavailable_part()

static int mtp3_hmdt_rx_msg_for_local_unavailable_part | ( | struct osmo_ss7_instance * | inst,
|  | uint8_t | user_part,
|  | const struct xua_msg * | orig_xua
| ) |  |
| static

References osmo_ss7_route::as, osmo_ss7_as::cfg, osmo_ss7_route::dest, osmo_mtp_transfer_param::dpc, gen_dupu_ret_msg(), LOGSS7, m3ua_tx_xua_as(), MAX_PC_STR_LEN, xua_msg::mtp, mtp_si_vals, osmo_mtp_transfer_param::opc, osmo_ss7_route_label::opc, OSMO_SS7_ASP_PROT_IPA, OSMO_SS7_ASP_PROT_M3UA, OSMO_SS7_ASP_PROT_SUA, osmo_ss7_pc_is_local(), osmo_ss7_pointcode_print_buf(), osmo_ss7_as::proto, osmo_mtp_transfer_param::sls, and ss7_instance_lookup_route().

Referenced by mtp3_hmdt_message_for_distribution().