libosmo-sigtran
0.10.0
Osmocom SIGTRAN library
|
Go to the documentation of this file.
29 const uint8_t *
data,
unsigned int data_len);
55 enum osmo_prim_operation op);
60 enum osmo_prim_operation op);
66 #define CS7_STR "ITU-T Signaling System 7\n"
67 #define PC_STR "Point Code\n"
68 #define INST_STR "An instance of the SS7 stack\n"
77 unsigned int in_num_bytes,
bool odd);
79 const uint8_t *addr,
unsigned int addrlen);
@ T_WAIT_NOTIFY
Definition: xua_default_lm_fsm.c:81
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:492
struct m3ua_data_hdr * data_hdr_from_m3ua(struct xua_msg *xua)
Definition: m3ua.c:518
int osmo_ss7_asp_use_default_lm(struct osmo_ss7_asp *asp, int log_level)
Definition: xua_default_lm_fsm.c:366
static void lm_wait_asp_up(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_default_lm_fsm.c:148
@ M3UA_RKM_REG_SUCCESS
Definition: m3ua.h:121
struct osmo_fsm xua_default_lm_fsm
Definition: xua_default_lm_fsm.c:330
union osmo_xlm_prim::@31 u
struct osmo_prim_hdr oph
Definition: sigtran_sap.h:67
uint16_t status_info
Definition: sigtran_sap.h:40
@ OSMO_XLM_PRIM_M_SCTP_RELEASE
Definition: sigtran_sap.h:15
Definition: osmo_ss7.h:288
@ XUA_ASP_E_M_ASP_ACTIVE_REQ
Definition: xua_asp_fsm.h:11
@ XUA_SAP_LM
Definition: sigtran_sap.h:9
#define M3UA_NOTIFY_T_STATCHG
Definition: m3ua.h:107
void m3ua_dh_to_xfer_param(struct osmo_mtp_transfer_param *param, const struct m3ua_data_hdr *mdh)
Definition: m3ua.c:300
struct osmo_fsm_inst * fi
AS FSM.
Definition: osmo_ss7.h:294
static void restart_asp(struct osmo_fsm_inst *fi)
Definition: xua_default_lm_fsm.c:124
Definition: sccp_sap.h:151
uint32_t l_rk_id
Definition: osmo_ss7.h:248
#define M3UA_NOTIFY_I_AS_INACT
Definition: m3ua.h:111
lm_timer
Definition: xua_default_lm_fsm.c:79
struct osmo_xlm_prim * xua_xlm_prim_alloc(enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op)
Definition: xua_asp_fsm.c:102
struct osmo_mtp_prim * m3ua_to_xfer_ind(struct xua_msg *xua)
Definition: osmo_ss7_hmrt.c:40
struct osmo_xlm_prim_rk_reg rk_reg
Definition: sigtran_sap.h:71
uint32_t status
Definition: sigtran_sap.h:56
@ S_ACTIVE
Definition: xua_default_lm_fsm.c:53
static int lm_timer_cb(struct osmo_fsm_inst *fi)
Definition: xua_default_lm_fsm.c:160
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:57
void * lm_priv
Definition: osmo_ss7.h:376
int osmo_ss7_asp_restart(struct osmo_ss7_asp *asp)
Definition: osmo_ss7.c:1215
lm_event
Definition: xua_default_lm_fsm.c:56
Definition: sigtran_sap.h:37
void xua_asp_send_xlm_prim(struct osmo_ss7_asp *asp, struct osmo_xlm_prim *prim)
Definition: xua_asp_fsm.c:117
const struct xua_msg_class m3ua_msg_class_snm
Definition: m3ua.c:175
const struct value_string m3ua_ntfy_other_names[]
Definition: m3ua.c:93
struct msgb * m3ua_msgb_alloc(const char *name)
Definition: m3ua.c:315
struct osmo_ss7_instance * inst
Definition: osmo_ss7.h:355
static const struct value_string lm_event_names[]
Definition: xua_default_lm_fsm.c:67
struct osmo_ss7_as::@25 cfg
@ OSMO_XLM_PRIM_M_NOTIFY
Definition: sigtran_sap.h:20
int m3ua_rx_rkm(struct osmo_ss7_asp *asp, struct xua_msg *xua)
Definition: xua_rkm.c:493
uint8_t data[0]
Definition: xua_types.h:5
@ LM_E_NOTIFY_IND
Definition: xua_default_lm_fsm.c:59
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:490
@ S_WAIT_ASP_UP
Definition: xua_default_lm_fsm.c:47
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:72
#define M3UA_NOTIFY_I_AS_PEND
Definition: m3ua.h:113
Definition: osmo_ss7.h:70
static const struct osmo_xua_layer_manager default_layer_manager
Definition: xua_default_lm_fsm.c:362
struct osmo_ss7_asp * asps[16]
Definition: osmo_ss7.h:311
int osmo_xlm_sap_down(struct osmo_ss7_asp *asp, struct osmo_prim_hdr *oph)
Definition: xua_rkm.c:526
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:302
static void lm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_default_lm_fsm.c:135
@ OSMO_XLM_PRIM_M_AS_ACTIVE
Definition: sigtran_sap.h:26
lm_state
Definition: xua_default_lm_fsm.c:43
static struct osmo_ss7_as * find_first_as_in_asp(struct osmo_ss7_asp *asp)
Definition: xua_default_lm_fsm.c:90
const struct value_string m3ua_err_names[]
Definition: m3ua.c:55
const struct osmo_xua_layer_manager * lm
Definition: osmo_ss7.h:375
osmo_xlm_prim_type
Definition: sigtran_sap.h:13
struct xua_msg * m3ua_encode_notify(const struct osmo_xlm_prim_notify *npar)
Definition: m3ua.c:380
static const struct osmo_prim_event_map lm_event_map[]
Definition: xua_default_lm_fsm.c:317
static void lm_active(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_default_lm_fsm.c:254
int sua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg)
process SUA message received from socket
Definition: sua.c:647
int xua_as_transmit_msg(struct osmo_ss7_as *as, struct msgb *msg)
Definition: xua_as_fsm.c:75
@ OSMO_XLM_PRIM_M_SCTP_ESTABLISH
Definition: sigtran_sap.h:14
@ OSMO_XLM_PRIM_M_RK_REG
Definition: sigtran_sap.h:30
char * name
Definition: osmo_ss7.h:385
@ OSMO_XLM_PRIM_M_AS_INACTIVE
Definition: sigtran_sap.h:27
struct xua_msg * osmo_sccp_to_xua(struct msgb *msg)
convert SCCP message to a SUA message
Definition: sccp2sua.c:1289
@ T_WAIT_NOTIFY_RKM
Definition: xua_default_lm_fsm.c:82
const struct xua_msg_class m3ua_msg_class_mgmt
Definition: m3ua.c:229
int m3ua_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg)
process M3UA message received from socket
Definition: m3ua.c:696
const struct value_string m3ua_rkm_dereg_status_vals[]
Definition: xua_rkm.c:51
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.
Definition: osmo_ss7.c:871
Definition: osmo_ss7.h:429
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:334
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:323
osmo_prim_cb prim_cb
Definition: osmo_ss7.h:432
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:371
struct osmo_fsm_inst * fi
ASP FSM.
Definition: osmo_ss7.h:358
static void lm_rkm_reg(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_default_lm_fsm.c:229
static const struct osmo_fsm_state lm_states[]
Definition: xua_default_lm_fsm.c:284
#define M3UA_NOTIFY_I_AS_ACT
Definition: m3ua.h:112
@ S_RKM_REG
Definition: xua_default_lm_fsm.c:51
const struct xua_msg_class m3ua_msg_class_asptm
Definition: m3ua.c:211
struct llist_head as_list
list of osmo_ss7_as
Definition: osmo_ss7.h:76
void xua_rkm_cleanup_dyn_as_for_asp(struct osmo_ss7_asp *asp)
Definition: xua_rkm.c:553
int ss7_asp_rx_unknown(struct osmo_ss7_asp *asp, int ppid_mux, struct msgb *msg)
Definition: osmo_ss7.c:1918
struct osmo_ss7_asp * asp
Definition: xua_default_lm_fsm.c:87
const struct value_string m3ua_ntfy_stchg_names[]
Definition: m3ua.c:85
Definition: sccp_sap.h:143
@ OSMO_XLM_PRIM_M_AS_STATUS
Definition: sigtran_sap.h:19
const struct xua_msg_class m3ua_msg_class_aspsm
Definition: m3ua.c:198
int ipa_rx_msg(struct osmo_ss7_asp *asp, struct msgb *msg)
process M3UA message received from socket
Definition: ipa.c:276
void xua_asp_send_xlm_prim_simple(struct osmo_ss7_asp *asp, enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op)
Definition: xua_asp_fsm.c:132
static void lm_allstate(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_default_lm_fsm.c:275
int m3ua_hmdc_rx_from_l2(struct osmo_ss7_instance *inst, struct xua_msg *xua)
Definition: osmo_ss7_hmrt.c:269
struct llist_head list
entry in 'ref osmo_ss7_instance.as_list
Definition: osmo_ss7.h:290
static int default_lm_prim_cb(struct osmo_prim_hdr *oph, void *_asp)
Definition: xua_default_lm_fsm.c:343
struct osmo_xlm_prim_notify notify
Definition: sigtran_sap.h:69
@ LM_E_AS_STATUS_IND
Definition: xua_default_lm_fsm.c:62
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:224
struct osmo_ss7_asp::@27 cfg
struct osmo_ss7_routing_key routing_key
Definition: osmo_ss7.h:303
@ S_WAIT_NOTIFY
Definition: xua_default_lm_fsm.c:49
@ LM_E_SCTP_DISC_IND
Definition: xua_default_lm_fsm.c:64
const struct value_string m3ua_rkm_reg_status_vals[]
Definition: xua_rkm.c:34
int m3ua_decode_notify(struct osmo_xlm_prim_notify *npar, void *ctx, const struct xua_msg *xua)
Definition: m3ua.c:409
@ LM_E_SCTP_EST_IND
Definition: xua_default_lm_fsm.c:57
static void lm_wait_notify(struct osmo_fsm_inst *fi, uint32_t event, void *data)
Definition: xua_default_lm_fsm.c:202
Definition: xua_default_lm_fsm.c:86
@ S_IDLE
Definition: xua_default_lm_fsm.c:45
int osmo_sccp_addr_parse(struct osmo_sccp_addr *out, const uint8_t *addr, unsigned int addrlen)
Parse wire-encoded SCCP address into omso_sccp_addr.
Definition: sccp2sua.c:118
@ T_WAIT_ASP_UP
Definition: xua_default_lm_fsm.c:80
struct osmo_ss7_routing_key key
Definition: sigtran_sap.h:52
static int handle_reg_conf(struct osmo_fsm_inst *fi, uint32_t l_rk_id, uint32_t rctx)
Definition: xua_default_lm_fsm.c:106
uint16_t status_type
Definition: sigtran_sap.h:39
@ OSMO_XLM_PRIM_M_ASP_UP
Definition: sigtran_sap.h:22
@ LM_E_AS_ACTIVE_IND
Definition: xua_default_lm_fsm.c:61
struct osmo_xlm_prim * xua_xlm_prim_alloc(enum osmo_xlm_prim_type prim_type, enum osmo_prim_operation op)
Definition: xua_asp_fsm.c:102
Definition: osmo_ss7.h:352
struct msgb * osmo_sua_to_sccp(struct xua_msg *xua)
convert parsed SUA message to SCCP message
Definition: sccp2sua.c:1357
#define S(x)
Definition: xua_default_lm_fsm.c:41
const struct xua_msg_class m3ua_msg_class_rkm
Definition: m3ua.c:259
Definition: sigtran_sap.h:66
struct osmo_fsm xua_default_lm_fsm
Definition: xua_default_lm_fsm.c:330
uint32_t context
Definition: osmo_ss7.h:247
@ LM_E_ASP_UP_CONF
Definition: xua_default_lm_fsm.c:58
@ LM_E_RKM_REG_CONF
Definition: xua_default_lm_fsm.c:63
char * osmo_xlm_prim_name(struct osmo_prim_hdr *oph)
Definition: sccp_sap.c:81
@ XUA_ASP_E_M_ASP_UP_REQ
Definition: xua_asp_fsm.h:10
const struct value_string m3ua_ntfy_type_names[]
Definition: m3ua.c:79
void mtp_xfer_param_to_m3ua_dh(struct m3ua_data_hdr *mdh, const struct osmo_mtp_transfer_param *param)
Definition: m3ua.c:288
@ LM_E_AS_INACTIVE_IND
Definition: xua_default_lm_fsm.c:60
@ T_WAIT_RK_REG_RESP
Definition: xua_default_lm_fsm.c:83