libosmo-sigtran: src/xua_internal.h Source File

libosmo-sigtran 2.2.1.99-1c6a Osmocom SIGTRAN library

xua_internal.h
Go to the documentation of this file.
1#pragma once
2
3#include <unistd.h>
4#include <stdint.h>
5
6#include <osmocom/core/tdef.h>
7#include <osmocom/sigtran/osmo_ss7.h>
8#include "xua_msg.h"
9
10#define M3UA_MSG_SIZE 2048
11#define M3UA_MSG_HEADROOM 512
12
13struct osmo_sccp_addr;
14struct m3ua_data_hdr;
15
16int sua_addr_parse_part(struct osmo_sccp_addr *out,
17 const struct xua_msg_part *param);
18int sua_addr_parse(struct osmo_sccp_addr *out, struct xua_msg *xua, uint16_t iei);
19
20int sua_parse_gt(struct osmo_sccp_gt *gt, const uint8_t *data, unsigned int datalen);
21
22struct xua_msg *osmo_sccp_to_xua(const struct msgb *msg);
23struct msgb *osmo_sua_to_sccp(const struct xua_msg *xua);
24
25int sua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg);
26
27int sua_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua);
28void sua_tx_snm_available(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
29 const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *aff_ssn,
30 const uint32_t *smi, const char *info_string, bool available);
31void sua_tx_snm_congestion(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
32 const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *ssn,
33 const uint8_t cong_level, const char *info_string);
34void sua_tx_snm_daud(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
35 const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *aff_ssn,
36 const uint32_t *smi, const char *info_string);
37void sua_tx_dupu(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
38 uint32_t dpc, uint16_t user, uint16_t cause, const char *info_str);
39
40struct xua_msg *sua_encode_dupu(const uint32_t *rctx, unsigned int num_rctx,
41 uint32_t dpc, uint16_t user, uint16_t cause,
42 const char *info_string);
43
44struct xua_msg *sua_gen_cldr(const struct xua_msg *xua_in, uint32_t route_ctx, uint32_t ret_cause);
45
46struct msgb *m3ua_to_msg(struct xua_msg *xua);
47int m3ua_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua);
48void m3ua_tx_snm_available(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
49 const uint32_t *aff_pc, unsigned int num_aff_pc,
50 const char *info_string, bool available);
51void m3ua_tx_snm_congestion(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
52 const uint32_t *aff_pc, unsigned int num_aff_pc,
53 const uint32_t *concerned_dpc, const uint8_t *cong_level,
54 const char *info_string);
55void m3ua_tx_snm_daud(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
56 const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_string);
57void m3ua_tx_dupu(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
58 uint32_t dpc, uint16_t user, uint16_t cause, const char *info_str);
59
60struct xua_msg *m3ua_encode_duna(const uint32_t *rctx, unsigned int num_rctx,
61 const uint32_t *aff_pc, unsigned int num_aff_pc,
62 const char *info_string);
63struct xua_msg *m3ua_encode_dupu(const uint32_t *rctx, unsigned int num_rctx,
64 uint32_t dpc, uint16_t user, uint16_t cause,
65 const char *info_string);
66
67void xua_tx_snm_available(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
68 const uint32_t *aff_pc, unsigned int num_aff_pc,
69 const char *info_str, bool available);
70
71void xua_snm_rx_daud(struct osmo_ss7_asp *asp, struct xua_msg *xua);
72void xua_snm_rx_duna(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua);
73void xua_snm_rx_dava(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua);
74void xua_snm_rx_dupu(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua);
75void xua_snm_rx_scon(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua);
76int m3ua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg);
77
78struct msgb *m3ua_msgb_alloc(const char *name);
79struct xua_msg *m3ua_xfer_from_data(const struct m3ua_data_hdr *data_hdr,
80 const uint8_t *data, unsigned int data_len);
81struct m3ua_data_hdr *data_hdr_from_m3ua(const struct xua_msg *xua);
82void m3ua_dh_to_xfer_param(struct osmo_mtp_transfer_param *param,
83 const struct m3ua_data_hdr *mdh);
84void mtp_xfer_param_to_m3ua_dh(struct m3ua_data_hdr *mdh,
85 const struct osmo_mtp_transfer_param *param);
86
87
88extern const struct xua_msg_class m3ua_msg_class_mgmt;
89extern const struct xua_msg_class m3ua_msg_class_snm;
90extern const struct xua_msg_class m3ua_msg_class_rkm;
91extern const struct xua_msg_class m3ua_msg_class_aspsm;
92extern const struct xua_msg_class m3ua_msg_class_asptm;
93
94extern const struct value_string m3ua_snm_msgt_names[];
95extern const struct value_string m3ua_err_names[];
96extern const struct value_string m3ua_ntfy_type_names[];
97extern const struct value_string m3ua_ntfy_stchg_names[];
98extern const struct value_string m3ua_ntfy_other_names[];
99const char *m3ua_ntfy_info_name(uint16_t ntfy_status_type, uint16_t ntfy_status_info);
100
101struct xua_msg *m3ua_encode_notify(const struct osmo_xlm_prim_notify *npar);
102int m3ua_decode_notify(struct osmo_xlm_prim_notify *npar, void *ctx,
103 const struct xua_msg *xua);
104int m3ua_rx_rkm(struct osmo_ss7_asp *asp, struct xua_msg *xua);
105
106void xua_snm_pc_available(struct osmo_ss7_as *as, const uint32_t *aff_pc,
107 unsigned int num_aff_pc, const char *info_str, bool available);
108
109void xua_tx_snm_daud(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx,
110 const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_str);
111
112 enum ss7_asp_lm_timer {
113 /* 0 kept unused on purpose since it's handled specially by osmo_fsm */
114 SS7_ASP_LM_T_WAIT_ASP_UP = 1,
115 SS7_ASP_LM_T_WAIT_NOTIFY,
116 SS7_ASP_LM_T_WAIT_NOTIY_RKM,
117 SS7_ASP_LM_T_WAIT_RK_REG_RESP,
118 /* This must remain the last item: */
119 SS7_ASP_LM_TIMERS_LEN
120};
121
122extern const struct osmo_tdef ss7_asp_lm_timer_defaults[SS7_ASP_LM_TIMERS_LEN];
123
124extern const struct value_string ss7_asp_lm_timer_names[];
125 static inline const char *ss7_asp_lm_timer_name(enum ss7_asp_lm_timer val)
126{ return get_value_string(ss7_asp_lm_timer_names, val); }
127
128extern struct osmo_fsm xua_default_lm_fsm;
129extern const struct value_string m3ua_rkm_reg_status_vals[];
130extern const struct value_string m3ua_rkm_dereg_status_vals[];
131extern const struct value_string m3ua_rkm_msgt_names[];
132
133int xua_as_transmit_msg(struct osmo_ss7_as *as, struct xua_msg *xua);
134
135int xua_find_as_for_asp(struct osmo_ss7_as **as, const struct osmo_ss7_asp *asp,
136 const struct xua_msg_part *rctx_ie);
137
138struct msgb *ipa_gen_ping(void);
139struct msgb *ipa_to_msg(struct xua_msg *xua);
140int ipa_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua);
141int ipa_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg, uint8_t sls);
142
143int osmo_isup_party_parse(char *out_digits, const uint8_t *in,
144 unsigned int in_num_bytes, bool odd);
145int osmo_sccp_addr_parse(struct osmo_sccp_addr *out,
146 const uint8_t *addr, unsigned int addrlen);
147int osmo_sccp_addr_encode(struct msgb *msg, const struct osmo_sccp_addr *in);
148
149int ss7_asp_rx_unknown(struct osmo_ss7_asp *asp, int ppid_mux, struct msgb *msg);
150
151void xua_rkm_send_reg_req(struct osmo_ss7_asp *asp,
152 const struct osmo_ss7_routing_key *rkey,
153 enum osmo_ss7_as_traffic_mode traf_mode);
154void xua_rkm_send_dereg_req(struct osmo_ss7_asp *asp, uint32_t route_ctx);
sls
uint8_t sls
Definition: m3ua.h:5
dpc
uint32_t dpc
Definition: m3ua.h:1
osmo_ss7.h
osmo_ss7_as_traffic_mode
osmo_ss7_as_traffic_mode
Definition: osmo_ss7.h:183
smi
uint8_t smi
Definition: sccp_scmg.h:3
xua_msg.h
m3ua_data_hdr
Definition: m3ua.h:95
osmo_mtp_transfer_param
Definition: mtp_sap.h:42
osmo_sccp_addr
Definition: sccp_sap.h:183
osmo_sccp_gt
Definition: sccp_sap.h:175
osmo_ss7_as
Definition: ss7_as.h:95
osmo_ss7_asp
Definition: ss7_asp.h:55
osmo_ss7_routing_key
Definition: osmo_ss7.h:142
osmo_xlm_prim_notify
Definition: sigtran_sap.h:38
xua_msg_class
Definition: xua_msg.h:49
xua_msg_part
Definition: xua_msg.h:39
xua_msg
Definition: xua_msg.h:31
ssn
uint8_t ssn
Definition: tcap_as_loadshare.c:3
data
uint8_t data[0]
Definition: tcap_as_loadshare.c:2
m3ua_rkm_reg_status_vals
const struct value_string m3ua_rkm_reg_status_vals[]
Definition: xua_rkm.c:41
m3ua_ntfy_type_names
const struct value_string m3ua_ntfy_type_names[]
Definition: m3ua.c:85
xua_snm_rx_scon
void xua_snm_rx_scon(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:586
sua_tx_snm_daud
void sua_tx_snm_daud(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *aff_ssn, const uint32_t *smi, const char *info_string)
Transmit SSNM DAUD message requesting [un]availability status of certain point code[s].
Definition: sua.c:973
m3ua_err_names
const struct value_string m3ua_err_names[]
Definition: m3ua.c:61
xua_snm_rx_dupu
void xua_snm_rx_dupu(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:553
xua_as_transmit_msg
int xua_as_transmit_msg(struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_as_fsm.c:190
sua_addr_parse
int sua_addr_parse(struct osmo_sccp_addr *out, struct xua_msg *xua, uint16_t iei)
parse SCCP address from given xUA message IE
Definition: sua.c:555
m3ua_to_msg
struct msgb * m3ua_to_msg(struct xua_msg *xua)
Definition: m3ua.c:516
ipa_rx_msg
int ipa_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg, uint8_t sls)
process M3UA message received from socket
Definition: ipa.c:352
m3ua_tx_dupu
void m3ua_tx_dupu(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_str)
Transmit SSNM DUPU message indicating user unavailability.
Definition: m3ua.c:1026
xua_find_as_for_asp
int xua_find_as_for_asp(struct osmo_ss7_as **as, const struct osmo_ss7_asp *asp, const struct xua_msg_part *rctx_ie)
Find the AS for given ASP + optional routing context IE.
Definition: xua_shared.c:54
m3ua_rkm_msgt_names
const struct value_string m3ua_rkm_msgt_names[]
Definition: m3ua.c:271
m3ua_xfer_from_data
struct xua_msg * m3ua_xfer_from_data(const struct m3ua_data_hdr *data_hdr, const uint8_t *data, unsigned int data_len)
Definition: m3ua.c:339
m3ua_tx_snm_available
void m3ua_tx_snm_available(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_string, bool available)
Transmit SSNM DUNA/DAVA message indicating [un]availability of certain point code[s].
Definition: m3ua.c:956
sua_gen_cldr
struct xua_msg * sua_gen_cldr(const struct xua_msg *xua_in, uint32_t route_ctx, uint32_t ret_cause)
Definition: sua.c:268
sua_tx_snm_available
void sua_tx_snm_available(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *aff_ssn, const uint32_t *smi, const char *info_string, bool available)
Transmit SSNM DUNA/DAVA message indicating [un]availability of certain point code[s].
Definition: sua.c:921
m3ua_tx_xua_as
int m3ua_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua)
Send a given xUA message via a given M3UA Application Server.
Definition: m3ua.c:561
m3ua_ntfy_stchg_names
const struct value_string m3ua_ntfy_stchg_names[]
Definition: m3ua.c:91
m3ua_msg_class_snm
const struct xua_msg_class m3ua_msg_class_snm
Definition: m3ua.c:194
ipa_to_msg
struct msgb * ipa_to_msg(struct xua_msg *xua)
Definition: ipa.c:75
m3ua_rx_msg
int m3ua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg)
process M3UA message received from socket
Definition: m3ua.c:798
osmo_isup_party_parse
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.
Definition: sccp2sua.c:65
m3ua_decode_notify
int m3ua_decode_notify(struct osmo_xlm_prim_notify *npar, void *ctx, const struct xua_msg *xua)
Definition: m3ua.c:457
ipa_tx_xua_as
int ipa_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua)
Send a given xUA message via a given IPA "Application Server".
Definition: ipa.c:132
xua_snm_rx_dava
void xua_snm_rx_dava(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:520
m3ua_encode_dupu
struct xua_msg * m3ua_encode_dupu(const uint32_t *rctx, unsigned int num_rctx, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_string)
Definition: m3ua.c:925
ss7_asp_lm_timer_defaults
const struct osmo_tdef ss7_asp_lm_timer_defaults[SS7_ASP_LM_TIMERS_LEN]
Definition: xua_default_lm_fsm.c:103
m3ua_rkm_dereg_status_vals
const struct value_string m3ua_rkm_dereg_status_vals[]
Definition: xua_rkm.c:58
ss7_asp_rx_unknown
int ss7_asp_rx_unknown(struct osmo_ss7_asp *asp, int ppid_mux, struct msgb *msg)
Definition: ss7_asp.c:1457
ss7_asp_lm_timer_name
static const char * ss7_asp_lm_timer_name(enum ss7_asp_lm_timer val)
Definition: xua_internal.h:125
sua_rx_msg
int sua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg)
process SUA message received from socket
Definition: sua.c:734
mtp_xfer_param_to_m3ua_dh
void mtp_xfer_param_to_m3ua_dh(struct m3ua_data_hdr *mdh, const struct osmo_mtp_transfer_param *param)
Definition: m3ua.c:307
xua_default_lm_fsm
struct osmo_fsm xua_default_lm_fsm
Definition: xua_default_lm_fsm.c:617
sua_tx_xua_as
int sua_tx_xua_as(struct osmo_ss7_as *as, struct xua_msg *xua)
Send a given xUA message via a given SUA Application Server.
Definition: sua.c:359
m3ua_ntfy_info_name
const char * m3ua_ntfy_info_name(uint16_t ntfy_status_type, uint16_t ntfy_status_info)
Definition: m3ua.c:106
sua_tx_snm_congestion
void sua_tx_snm_congestion(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *ssn, const uint8_t cong_level, const char *info_string)
Transmit SSNM SCON message indicating congestion.
Definition: sua.c:945
m3ua_msg_class_rkm
const struct xua_msg_class m3ua_msg_class_rkm
Definition: m3ua.c:278
sua_addr_parse_part
int sua_addr_parse_part(struct osmo_sccp_addr *out, const struct xua_msg_part *param)
parse SCCP address from given xUA message part
Definition: sua.c:423
m3ua_snm_msgt_names
const struct value_string m3ua_snm_msgt_names[]
Definition: m3ua.c:185
m3ua_encode_notify
struct xua_msg * m3ua_encode_notify(const struct osmo_xlm_prim_notify *npar)
Definition: m3ua.c:425
ss7_asp_lm_timer_names
const struct value_string ss7_asp_lm_timer_names[]
Definition: xua_default_lm_fsm.c:116
m3ua_msg_class_aspsm
const struct xua_msg_class m3ua_msg_class_aspsm
Definition: m3ua.c:217
m3ua_msg_class_asptm
const struct xua_msg_class m3ua_msg_class_asptm
Definition: m3ua.c:230
m3ua_ntfy_other_names
const struct value_string m3ua_ntfy_other_names[]
Definition: m3ua.c:99
xua_snm_pc_available
void xua_snm_pc_available(struct osmo_ss7_as *as, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_str, bool available)
Definition: xua_snm.c:223
m3ua_rx_rkm
int m3ua_rx_rkm(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_rkm.c:599
m3ua_tx_snm_daud
void m3ua_tx_snm_daud(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_string)
Transmit SSNM DAUD message requesting [un]availability status of certain point code[s].
Definition: m3ua.c:1011
xua_rkm_send_reg_req
void xua_rkm_send_reg_req(struct osmo_ss7_asp *asp, const struct osmo_ss7_routing_key *rkey, enum osmo_ss7_as_traffic_mode traf_mode)
Definition: xua_rkm.c:117
osmo_sccp_to_xua
struct xua_msg * osmo_sccp_to_xua(const struct msgb *msg)
convert SCCP message to a SUA message
Definition: sccp2sua.c:1659
m3ua_msgb_alloc
struct msgb * m3ua_msgb_alloc(const char *name)
Definition: m3ua.c:331
xua_rkm_send_dereg_req
void xua_rkm_send_dereg_req(struct osmo_ss7_asp *asp, uint32_t route_ctx)
Definition: xua_rkm.c:144
m3ua_dh_to_xfer_param
void m3ua_dh_to_xfer_param(struct osmo_mtp_transfer_param *param, const struct m3ua_data_hdr *mdh)
Definition: m3ua.c:319
xua_tx_snm_available
void xua_tx_snm_available(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_str, bool available)
Definition: xua_snm.c:71
m3ua_msg_class_mgmt
const struct xua_msg_class m3ua_msg_class_mgmt
Definition: m3ua.c:248
sua_encode_dupu
struct xua_msg * sua_encode_dupu(const uint32_t *rctx, unsigned int num_rctx, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_string)
Definition: sua.c:889
m3ua_encode_duna
struct xua_msg * m3ua_encode_duna(const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_string)
Definition: m3ua.c:879
ss7_asp_lm_timer
ss7_asp_lm_timer
Definition: xua_internal.h:112
SS7_ASP_LM_T_WAIT_ASP_UP
@ SS7_ASP_LM_T_WAIT_ASP_UP
Definition: xua_internal.h:114
SS7_ASP_LM_TIMERS_LEN
@ SS7_ASP_LM_TIMERS_LEN
Definition: xua_internal.h:119
SS7_ASP_LM_T_WAIT_NOTIFY
@ SS7_ASP_LM_T_WAIT_NOTIFY
Definition: xua_internal.h:115
SS7_ASP_LM_T_WAIT_RK_REG_RESP
@ SS7_ASP_LM_T_WAIT_RK_REG_RESP
Definition: xua_internal.h:117
SS7_ASP_LM_T_WAIT_NOTIY_RKM
@ SS7_ASP_LM_T_WAIT_NOTIY_RKM
Definition: xua_internal.h:116
osmo_sua_to_sccp
struct msgb * osmo_sua_to_sccp(const struct xua_msg *xua)
convert parsed SUA message to SCCP message
Definition: sccp2sua.c:1773
osmo_sccp_addr_encode
int osmo_sccp_addr_encode(struct msgb *msg, const struct osmo_sccp_addr *in)
encode a SCCP address from parsed format to wire format
Definition: sccp2sua.c:217
m3ua_tx_snm_congestion
void m3ua_tx_snm_congestion(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const uint32_t *concerned_dpc, const uint8_t *cong_level, const char *info_string)
Transmit SSNM SCON message indicating congestion.
Definition: m3ua.c:979
sua_parse_gt
int sua_parse_gt(struct osmo_sccp_gt *gt, const uint8_t *data, unsigned int datalen)
Decode SUA Global Title according to RFC3868 Section 3.10.2.3.
Definition: sua.c:386
osmo_sccp_addr_parse
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.
Definition: sccp2sua.c:111
data_hdr_from_m3ua
struct m3ua_data_hdr * data_hdr_from_m3ua(const struct xua_msg *xua)
Definition: m3ua.c:584
xua_snm_rx_duna
void xua_snm_rx_duna(struct osmo_ss7_asp *asp, struct osmo_ss7_as *as, struct xua_msg *xua)
Definition: xua_snm.c:487
ipa_gen_ping
struct msgb * ipa_gen_ping(void)
Definition: ipa.c:62
xua_tx_snm_daud
void xua_tx_snm_daud(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, const uint32_t *aff_pc, unsigned int num_aff_pc, const char *info_str)
Definition: xua_snm.c:87
sua_tx_dupu
void sua_tx_dupu(struct osmo_ss7_asp *asp, const uint32_t *rctx, unsigned int num_rctx, uint32_t dpc, uint16_t user, uint16_t cause, const char *info_str)
Transmit SSNM DUPU message indicating user unavailability.
Definition: sua.c:989
xua_snm_rx_daud
void xua_snm_rx_daud(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_snm.c:408